如果我在 Windows 机器上阻止自动运行,这是否足以保护它免受恶意代码的侵害(假设我没有手动运行任何文件)?
或者是否存在可能导致感染的已知漏洞?
如果我在 Windows 机器上阻止自动运行,这是否足以保护它免受恶意代码的侵害(假设我没有手动运行任何文件)?
或者是否存在可能导致感染的已知漏洞?
恶意 USB 设备可以通过多种已知方式危害您的计算机:
自动运行。 USB 设备可以包含当您插入 USB 设备时 Windows 将自动运行的软件(如果您启用了自动运行)。
输入设备仿真。 正如@TobyS 所说,恶意 USB 加密狗在物理上可能看起来像一个小型闪存设备(加密狗),但它仍然可以将自己作为键盘或鼠标等呈现给计算机。然后恶意 USB 设备可能会开始插入破坏您计算机的恶意击键。
利用漏洞。USB 设备可能包含利用您计算机上运行的代码中的漏洞的数据或文件。正如@Jeff 提到的,这可能包括利用在文件管理器中显示文件图标的代码中的漏洞或在扫描驱动器时利用防病毒软件中的漏洞。它还可能包括利用操作系统文件系统代码中的漏洞(我之前曾在该代码中看到过可能被恶意文件系统映像利用的漏洞)或许多其他变体。虽然我目前不知道最新的 Windows 操作系统中存在任何没有已知修复的零日漏洞,但有很多代码可以运行以处理来自 USB 设备的数据,您应该假设可能还有更多漏洞潜伏,等待被发现。
社会工程学。USB 设备可以包含文件,当您双击它们时,它们会启动恶意软件。文件名和图标的排列可能看起来很诱人,以吸引用户点击它们。这已经被利用过,并且很难预防。
底线:禁用自动运行是一个好的开始,并停止了最简单的攻击形式。对于没有特别高的安全需求的公司来说,它可能“足够好”。(在我自己的个人计算中,这对我来说已经足够了。)但不要认为这足以保证完全安全。autorun 仅停止上述第一次攻击,其他攻击仍然可能,如上图所示。由于这些风险,军方完全禁止所有 USB 驱动器。
USB 设备可能会模仿鼠标或键盘等输入设备并与操作系统交互而无需任何用户交互。但是,我还没有看到任何概念证明,因此禁用自动运行很可能会提供足够的保护。
可能的妥协包括利用在资源管理器中显示文件图标的代码,或防病毒软件中的漏洞......
但就现实和已知的漏洞利用而言,关闭自动运行就足够了。
Stuxnet 使用零日攻击通过 USB 驱动器传播(Windows 系统面临 Stuxnet 攻击风险 - ZDNet)。很可能还有其他零日 USB 攻击。因此,与往常一样,我会说这取决于您正在运行的软件以及您的威胁模型(请参阅我们的常见问题解答)。