如何保护自己免受 USB 固件病毒的侵害?杀毒软件有帮助吗?

信息安全 USB
2021-08-22 17:01:07

在 Windows(pnd 可能是其他操作系统,我不知道)上,当您插入 USB 设备(闪存驱动器、鼠标等)时,Windows 会自动运行“设备安装”并安装固件。然而,该固件并不驻留在用户可访问的空间内(即没有 G: 驱动器),但是,实际文件安装在某个地方。

在阅读了一些知名安全网站上的几篇文章后,我担心我们面临的全球性和不可战胜的问题。几乎所有非品牌和廉价的 USB 设备都使用看起来可疑的固件(可能是恶意软件)进行编程,Windows 将在插入时自动运行(除非您禁用了自动安装。我怀疑只有大约 1% 的用户实际上会这样做禁用此功能)

我该如何保护自己免受这种伤害?

3个回答

司机从哪里来

该驱动程序是从 Windows Update 下载的,它们通常是经过签名且安全的,但有一些例外,例如 Stuxnet 使用的签名驱动程序。

固件哪里来的

固件在出厂时已加载到设备上,并且在大多数情况下,可以在设备使用后进行更新,尽管根据设备的不同,这可能是不可能的,或者很难获得所需的新固件和软件。

坏固件能做什么

错误的固件可以使驱动器伪装成任何东西,从而允许设备伪装成键盘和鼠标并接管机器、下载和安装恶意软件本身的攻击。

如何防止坏固件

您可以避免将干净的设备插入疑似受感染/不受信任的机器,尽管如果您不知道受信任的机器已被感染,这将无济于事。

还有一些不可升级的 USB 设备,但这些设备往往很难找到,而且在可用时更昂贵。

Windows 自动运行“设备安装”并安装固件

不,固件是由 USB 驱动器内的微控制器执行的特殊程序。Windows 将安装驱动程序固件是与 USB 端口连接并在闪存芯片上写入和读取内容、执行错误纠正和执行一些其他任务的程序,例如识别自身并允许其自身更新。完全在 USB 设备内部、在自己的内存和处理器上运行,而不是在主机、手机或游戏机上运行。

该固件不驻留在用户可访问的空间内

你可能是指司机大多数情况下,设备会将自己标识为 a Mass Storage Device,Windows 将从 Windows Update 站点加载驱动程序。在极少数找不到驱动程序的情况下,Windows 会说它找不到驱动程序,并让您有机会自己提供驱动程序。

插入时哪个 Windows 将自动运行

不,当您插入任何 USB 设备时,Windows(或任何其他操作系统)不会自动运行固件。往上看。

我该如何保护自己免受这种伤害?

您可以将您信任的设备列入白名单,Windows 将忽略任何奇怪的设备。创建受信任设备的列表可能很耗时,但可以让您高枕无忧。

真正的风险是什么?

风险非常非常小,可能的攻击大多被高估了。

修改后的固件可以使 USB 大容量存储设备将自己识别为鼠标或键盘并自行键入数据。通常 Win+R 加上一些 Powershell 命令用于从 Internet 下载和执行代码。

另一种攻击涉及设备将自己识别为网络适配器并更改 DNS 解析,指向流氓 DNS 服务器。任何 DNS 请求都将被重新路由到攻击者服务器,可能导致缓存中毒。

被这种攻击随机命中的概率非常小。购买便宜的 USB 驱动器并在其文件而不是固件上找到恶意软件存储的可能性更大。BadUSB 受影响的设备将用于针对性攻击,并且可能还会使用其他攻击。对于现实生活中的攻击,攻击者通常会购买一个外观和行为都非常像 USB 设备的特殊设备,但事实并非如此。例如,参见橡皮鸭

Windows 为设备加载驱动程序,而不是来自它。加载的驱动程序基于设备提供的硬件 ID (VEN_ & DEV_)。这些是从受信任的位置(System32 或 Windows 更新)加载的,并且必须使用受信任的证书进行签名,以便为较新版本的 Windows 完全加载。

USB 设备上的控制器可能带有恶意软件。对于普通用户来说,它的固件基本上是不可能验证的。您真正希望的最好结果是成为信誉良好的供应商和信誉良好的商店的名牌闪存,并相信您对于定制固件来说太小了。此外,USB设备的控制器是否可以用恶意固件重新刷新基本上是随机的,很难找到一个不能被恶意攻击者轻易刷新的设备。

更有可能的情况是,通过草率的编码将看似可否认的后门写入控制器固件。从您的角度来看,这些将是针对随机供应商的,而且很难找到。受影响的供应商可能并不多,因为它很难实现,因此成本很高。

较新版本的 Windows 在您首次插入设备时询问您想对可移动媒体做什么,从而大大缓解了 autorun.inf 漏洞。

一些防病毒程序(如卡巴斯基)也会阻止 USB 键盘,直到通过强制您从设备输入一串文本来确认它们在您的控制之下。不过,这只能防止假键盘。

主板上的大多数硬件设备都是 DMA(可以直接读取或写入内存,绕过大多数安全措施),USB 没有直接内存访问,但还有很多其他攻击媒介,因为 USB 旨在连接任何类型的设备。

例如,Stuxnet 的 .lnk 漏洞攻击了一个资源管理器(图形外壳)漏洞。

PC 硬件、固件和软件存在大量攻击面。

这是一个不错的已知攻击列表:https : //www.bleepingcomputer.com/news/security/heres-a-list-of-29-different-types-of-usb-attacks/

代码中总会有可以被利用的错误,理解这一点,但也知道一般来说,对于普通用户而言,恶意软件感染将来自自动来源,而不是有针对性的攻击,这极大地限制了许多漏洞被使用的可能性,因为如果没有针对性的攻击,其中许多几乎是不可能的。

您实际上可以做的最好的事情是(按照从最少到最有效的顺序): 1. 从信誉良好的来源购买信誉良好的硬件,并且永远不要在您无法控制的计算机上使用 USB 外围设备。2. 使用虚拟机将外围设备与物理主机分开。3. 使用 QubesOS,只有在操作系统完成加载后才能插入 USB 外围设备。