闪存驱动器上的病毒可以自动运行吗?


17

有人告诉我,即使病毒autorun.inf不存在或使用禁用了此功能,也有可能使病毒从闪存中运行gpedit.msc。他说,只要插入闪存,病毒就可以自行运行。这是对的吗?



2
@ techie007不完全是。这个问题是关于闪存驱动器运行的蜂鸣声,而其他问题则更为普遍。
汤姆(Tom)

@ techie007我在问这个问题之前发现并阅读了该问题。但是我的问题是关于闪存驱动器,因为我没有安装病毒扫描功能,而只是禁用了自动运行功能。
2012年

汤姆是对的。这个问题询问的是(闪存)驱动器上病毒自发运行的危险,而另一个询问的是这种病毒的特定存在。它们绝对是相关的,但略有不同。我不知道这种差异是否足以证明两个独立的问题。
Synetech

我认为这是相关的,但绝对不相同,Windows在插入闪存棒时会执行操作,而这在HDD中是不会发生的。该问题的附加措词专门指的是插入闪存棒时发生的事件。
Tog 2012年

Answers:


31

简短答案

不可以,驱动器上的文件不能仅自身运行。像所有的病毒,它需要一些类型的初始化。文件根本不会无故地神奇启动;一些有导致其负载的一些方式。(不幸的是,方法的数量非常多,并且还在继续增长。)

总览

病毒的运行方式很大程度上取决于病毒所在的文件类型。例如,.exe文件通常需要一些东西才能实际加载其代码(仅读取其内容是不够的)。图片或音频文件根本不应该是代码,因此它们首先不应 “运行”。

技术

这些天经常发生的恶意软件主要有两种运行方法:

  1. 木马
  2. 漏洞利用

木马: 对于木马,恶意软件代码会插入到普通文件中。例如,一个游戏或程序将注入一些错误代码,以便当您(有目的地)运行该程序时,错误代码会潜入其中(因此名称为trojan)。这需要将代码放在可执行文件中。同样,这要求宿主程序以某种方式专门运行。

漏洞: 利用漏洞,发生的是文件包含利用不良编程的不正确/无效结构。例如,不检查图片文件的图形查看器程序可能会通过使用系统代码制作图片文件而被利用,其方式为:在读取图片文件时,它会过载为图片创建的缓冲区并诱使系统通过控制插入到缓冲区之外的病毒代码(缓冲区溢出仍然很普遍)。这种方法并没有要求与恶意软件代码的文件被具体地运行 ; 它利用不良的编程和错误检查功能,只需打开/读取文件,即可诱使系统“运行”它。

应用

那么,这如何适用于闪存驱动器(或任何其他类型的驱动器)?如果驱动器包含特洛伊木马(可执行文件),则除非系统启用了“自动播放”或具有某种指向该文件的自动运行/启动项,否则否,它不应自行运行。另一方面,如果存在利用操作系统或其他程序中的漏洞的文件,则仅读取/查看文件可能会允许恶意软件启动。

预防

检查木马可以运行的向量的一种好方法是检查不同类型的自动运行/启动位置。自动运行是检查其中许多内容的简便方法(如果隐藏Windows条目以减少混乱,则更容易)。减少可被利用的漏洞数量的一个好方法是使您的操作系统和程序保持最新版本和最新补丁。


1
您需要另一个\subsubsection和另外几个subsubsubsection,这还远远不够。:P
Mehrdad

利用漏洞通常也只能(正确地)使用单个查看器应用程序,有时甚至只使用单个版本。例如,如果某个错误导致MS Word以某种方式可利用,则OpenOffice可能不会受到影响(如果触发该错误,则可能以非常不同的方式受到影响)。当然,利用设计功能(PDF中的可执行代码,使用MSIE查看的Web页上的ActiveX等)是另一回事。
CVn 2012年

对于漏洞利用病毒的一个例子,值得一提的是Stuxnet如何利用Windows处理.lnk(快捷方式)文件的方式中的一个错误。因此,仅在Windows资源管理器中查看目录会触发病毒感染。
斯科特·张伯伦

Exploits also generally only work (properly) with a single viewer application, and sometimes even just with a single version. 值得庆幸的是,尽管漏洞可能会在一段时间内未被发现/修复,因此许多版本都可以利用该漏洞。`因此,仅在Windows资源管理器中查看目录会触发病毒感染。`是的,这正是被利用的漏洞。您不必再实际运行文件即可被感染,因为仅访问它(甚至查看目录列表也可以)可能会感染您。◔̯◔–
Synetech

7

这取决于病毒的编写方式以及将驱动器插入系统中存在的漏洞,但答案可能是肯定的。

例如,不久前,Windows .lnk有一种继承了漏洞的方式来处理文件,这意味着只要在驱动器上恶意创建文件,就可以执行其中嵌入的病毒。此漏洞也已在很早以前得到修复,因此,最新的系统不应受到威胁,但确实表明,潜在的攻击媒介是“无声的”,并且可能会发生,正如您的朋友所建议的那样,未经您的同意或意识到。

使您的抗病毒软件保持最新状态,并仅连接您信任的人的设备。

您可以在此Microsoft页面上查看有关此特定攻击方法的信息。


4

没有。

病毒不能运行本身任何情况下。什么别的需要运行它。

所以现在的问题是:插入电源后可以运行吗?在理想情况下,答案为“否”,但在资源管理器(或某些其他Windows组件)存在缺陷的情况下,答案为“ 可能 ”。但是,这种行为在Windows中是一个错误,而不是设计使然。


1
软件中的错误经常被自我传播的病毒用作漏洞利用媒介。(我敢说没有程序员会故意在生产软件中放置错误。)某些安全漏洞可能源于设计的功能,例如ActiveX的持久安全问题。
CVn 2012年

这就是Stuxnet感染计算机的方式。仅查看受感染文件的图标,便触发了漏洞并开始执行代码。
Bigbio2002 '02

4

是的,只需插入USB设备(包括闪存驱动器),病毒就可以传播。

这是因为USB设备上存在必须运行的代码(称为固件)才能检测到该设备。该固件可以执行诸如模仿键盘(从而运行程序),模仿网卡等操作。

查看“ BadUSB”以获取更多信息。


2

好吧...希望不是现在。任何时候读取任何类型文件中的信息时,读取​​该文件的程序都极有可能会出现病毒试图利用并直接或间接运行的某些缺陷。一个较旧的示例是jpg病毒,该病毒利用了图像查看器中某种类型的缓冲区溢出。对于生产防病毒软件的人员来说,查找新病毒并提供更新是一项不变的任务。因此,如果您拥有所有当前的防病毒更新和系统修补程序,那么今天可能不是问题,而是明天的理论问题。


2

在干净的系统上,我会说病毒无法自行运行。但是我认为可以编写一个可以一直运行的程序,只是等待插入驱动器,然后查找某个文件并运行它(如果有)。这几乎是不可能的,因为需要一直安装该程序才能一直运行,但是它似乎在可能的范围内,但可能性不大。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.