BadUSB 在很大程度上被高估了。这是一种非常非常古老的攻击,只是最近得到了很多媒体报道,比如 IDN 同形异义词攻击或文件名 unicode 反转(或者还没有得到媒体报道?)。这是一个问题,当然,但这并不是什么新鲜事。
因此,理论上,需要打开一个终端仿真器,因此一个窗口必须至少最初是正常的 [...]
实际上,有很多方法可以更隐蔽地执行代码。最近有一个关于这个主题的DEF CON 演讲,展示了自定义键盘和鼠标可以通过触发在计算机上执行作弊代码来在高风险视频游戏锦标赛中作弊的方式,尽管监视器被严格监控以确保没有人作弊。
除了模拟 HID 之外,恶意 USB 设备还可以做其他事情,例如尝试利用您的多个类驱动程序中的任何一个。您认为某些不起眼的卡拉 OK 麦克风驱动程序多久被审核一次安全问题?
是否至少不需要重新启动来更改工作站的启动顺序、固件、BIOS 或其他无法通过重新安装操作系统来完全清理的系统?
即使不重新启动系统,修改 BIOS 也会危及系统。从挂起状态恢复后,系统会重新读取多个ACPI 表,包括可执行的 DSDT。当计算机从睡眠中恢复时,修改后的 DSDT 可能能够触发任意代码执行。我相信还有一些方法可以触发某些 ACPI 事件的代码执行,例如插入 HDMI 电缆。
理论上,模拟 USB 键盘可以通过组合键触发此类重启,并且可以执行恶意行为,例如在 BIOS 中禁用安全启动,前提是未设置 BIOS 管理密码。由于 BIOS 的可变性,除了针对性攻击之外,这不太可能成为问题。
另一个问题是USB 总线嗅探。USB(2.0)是一种半双工广播协议,这意味着USB从机直接寻址主机,但主机将响应发送给所有USB设备,并且礼貌地只要求接收者收听它。因此,恶意 USB 设备可以接收从主机发送到同一集线器上的 USB 从设备的任何数据。这对您来说可能是也可能不是问题。如果 USB 设备嗅探(例如,发送到 USB WiFi 天线或外部 USB 硬盘驱动器的数据)对您的威胁模型有问题,那么这是 USB 设备可以做的另一件事。

这不是 USB 3.0 (SuperSpeed) 的问题。根据这个网站,USB 3.0 是双单工单播总线,这意味着 xHCI 集线器与其说是集线器不如说是交换机。它将 USB 数据包路由到它们的预期目的地,而不是广播它们。这意味着性能改进,但它也具有意想不到的安全优势。
USB 设备本身,一旦被感染,甚至只是连接到不受信任的主机,似乎在任何情况下都无法再次信任,不可能有把握地进行消毒或重新祝福,因为没有一些深藏不露的东西,因此未被发现,设备上仍然存在恶意软件感染。
假设您没有打开它并从微控制器读取固件,那是真的。受损固件只能通过直接从硬件读取来检测,极少数例外。它实际上不一定像软件感染那样隐蔽,因为软件可以变得不稳定,赋予高级反调试功能,高度混淆,并在执行后删除自身的各个组件。这与恶意修改的固件形成鲜明对比,后者在分析时从根本上完全惰性和无助。只需根据已知的良好副本检查固件就足以验证它是否已被修改。
但是,问题仍然存在,主机设备在被邪恶的女仆照看后,其可信度的可挽救性如何?
这似乎与标题中的问题不同。答案取决于您的威胁模型,因此您需要考虑对手的能力。邪恶的女仆是不是特别熟练?你的资产有多大价值?例如,在中国,企业间谍活动无处不在。将公司的笔记本电脑带到中国的一家酒店可能会招致真正的邪恶女仆攻击,有时会非常复杂。如果您只是将带有个人文件的笔记本电脑带到朋友家,那么您最多只想确保驱动器已加密。
请注意,您可以执行测量引导,这可以减轻邪恶的女仆攻击。这是通过让 TPM 测量 BIOS 中称为 CRTM 的只读部分来完成的。这个信任链一直向上直到内核本身被验证,然后内核可以验证你的文件系统。这种技术使得篡改系统变得非常困难,即使您可以修改 BIOS、选项 ROM、引导加载程序等。基于 TPM 的信任链:

在 BadUSB 时代,在所有者监督下将设备完全连接到不受信任的 USB 设备后,情况是否会有所不同
是的,出于多种原因。首先,您计算机的 BIOS 非常受信任,这意味着它对篡改非常敏感。修改后的 BIOS 可以将代码注入内核,使用 SMM 捕获事件,甚至通过网络进行通信。另一方面,USB 设备仅限于您的系统支持的类驱动程序。模拟键盘将无法猜测您的管理员/root 密码或执行您计算机上的盲人无法完成的任何操作。
简而言之,我正在寻求验证我的猜想,即从生产中退出的迫切需要,让所有者控制或连接到不受信任的主机的 USB 设备的安全关键应用不适用于由不受信任的 USB 设备连接的工作站主机。
同样,这完全取决于威胁模型。USB 设备更有可能被滥用来利用文件系统驱动程序或分区表解析器,尽管此类向量涉及高级软件利用。当使用支持DCI的现代系统时,这只是一个可怕的问题,这是一种低级 JTAG 调试(“探测模式”,甚至低于英特尔 ME 的“环 -3”,尽管 ME也可以使用 DCI 受到损害)在某些 BIOS 供应商忘记禁用 DCI 支持的系统上,这可以通过 USB 完成。
总之,恶意 USB 设备可以执行以下任何操作:
- 模拟键盘和鼠标等 HID 设备(“BadUSB”)。缓解措施包括将您的计算机配置为仅接受来自有限来源的充当 HID 的 USB 设备,例如使用 udev。
- 被动地嗅探从主机发送到同一集线器上的 USB 从机的内容。如果您不希望它们能够嗅探流向它们的流量,请隔离不同集线器上的各个 USB 设备。请注意,一些较新计算机的 EHCI 根集线器实际上是一个虚拟集线器,是同一物理 xHCI 根集线器的一部分。虚拟集线器以广播模式运行。
- 使用不锁定 DCI 的 BIOS 的低级调试来控制系统。较旧的固件或供应商锁定 IA32_DEBUG_INTERFACE MSR 的 BIOS 不会直接受到影响,但仍可能容易受到通过 DCI 劫持 ME 的攻击。
- 尝试通过恶意输入利用文件系统驱动程序或 USB 类驱动程序。使用强化内核或减少您支持的内核驱动程序的数量可以降低这种风险。
这是否是一个可怕的情况完全取决于您的威胁模型。您不应该将不受信任的设备插入您的计算机,无论它们使用何种接口,并且您不应该假设未受损的设备在插入不受信任的主机时会保持这种状态。使用带有只读固件的 USB 设备有助于降低这种特定风险。