空的 U 盘如何包含恶意软件?

信息安全 恶意软件 USB驱动器
2021-08-29 11:30:43

我读了一篇关于包含恶意软件的空 U 盘的BBC 文章:

柏林的研究人员 Karsten Nohl 和 Jakob Lell 表示,一个看似完全空的设备仍可能包含病毒。

  • “空”的 U 盘如何包含恶意软件?
  • 这只是(旧版)Windows 系统的问题吗?
  • 有什么方法可以在保护自己的同时使用这些棍子吗?


这个问题可能看起来与其他问题相似, 但与空棒无关。

4个回答

这恐怕是记者的误会:

... 说一个看起来是空的设备仍然可能包含病毒。

视频中,记者所指的很明显,事实上,在前两分钟,卡森说他不是在谈论病毒。然后,他继续在屏幕上演示看似空的 USB 设备正在将自己更改为不同的设备(例如模拟存储以及键盘和播放击键),正如我在之前的回答中提到的(如下),但是当时我还没有审查完整的资源以将其确定为确凿的证据。

所以你有它,作者不知何故误解了视频演示,BBC发布了它......


“空”的 U 盘如何包含恶意软件?

这个问题并没有形成清晰的画面。

首先我们必须定义“空”

  • 你的意思是未格式化如果是这种情况,我们是否可以只擦除第一个扇区以取消格式化存储设备,而保留其余字节不变?在那些未擦除但技术上未格式化的字节中是否存在病毒代码?
  • 你的意思是插入时看起来是空的过去有很多隐藏文件的技巧,例如将它们存储在回收站中,使用“隐藏”或“系统文件”属性,使用 NTFS 流甚至不支持的分区。进一步深入兔子洞,驱动器是空的但加密了吗?主要加密库中的一个缺陷(我们最近已经看到很多)可能会使系统暴露于隐蔽的侧信道攻击,即使是来自看似的设备......此外,一些 USB 记忆棒是可启动的(在某些系统上); 我们稍后会谈到),这意味着您可能能够编写引导扇区病毒来感染它们。引导扇区病毒并不真正关心安装了什么操作系统,因为它们无论如何都会在操作系统启动之前执行......这让我想到了你的下一个问题:

这只是(旧版)Windows 系统的问题吗?

不,我们应该考虑什么是“恶意软件”。任意字节序列有可能被视为恶意软件,因为它会损坏一个系统(例如 x86/x64 处理器上的 x86/x64 机器代码),但不会损坏另一个系统(例如 ARM/SPARC 上的相同字节码)。要回答这个问题,我们只需要找到(或设计)一个将任意序列解码为恶意软件的系统,即使它以前不是。

有什么方法可以在保护自己的同时使用这些棍子吗?

不,最后,考虑一下U 盘的定义。是否有可能不是插入存储设备,而是插入某种电子错误,例如无线键盘适配器或 USB 拇指杀手。此类设备本身并不真正构成恶意软件,要么因为它们不是软件,要么它们的设计初衷不是恶意的……尽管它们可能存在安全风险。设备也有可能访问内存(例如,作为手机充电器出现,然后使用数据线或隐蔽的 wifi 网络窃取所有照片、视频等)。

不要插入不受信任的 USB 设备。时期。它们可能不包含恶意软件,但这并不是唯一的危险……尤其是在当今竞争、电子破坏和监视盛行的时代。

您可以破解 USB 设备的固件。有了它,您可以告诉操作系统您想要的任何内容,例如。该设备是空的,即使它不是。或者通过发送普通 USB 设备不会发送的数据来攻击操作系统的 USB 软件堆栈(因此设备甚至可能是空的,攻击来自固件)。

您还可以做其他有趣的事情,比如告诉操作系统 USB 设备也是一个键盘,然后自动键入命令,如果它被插入就会执行某些操作。或者告诉操作系统 USB 设备是网卡,并重定向所有流量到您控制的服务器。

破解 USB 固件带来无穷乐趣……

USB 像这样工作,AFAIK,请注意谎言可能会导致系统误入歧途。

  1. 计算机为 USB 设备提供 +5V 和 GND。
  2. USB 设备中的微控制器运行并传输“这是 X 型设备”的 USB 语音(X 是磁盘、相机、键盘、鼠标或任何在 USB 联盟注册的设备)。
  3. 计算机采取“适当”的行动。

考虑带有颠覆(重新编程)微控制器的 USB 设备......

Computer: +5V, GND
Microcontroller: I am a keyboard.
Computer: OK
Microcontroller: "FORMAT C:" ENTER "Y" ENTER

(呆伯特参考)

搜索“BadUSB”漏洞以获取详细信息。

现在有一个 GoodUSB 小工具:http ://hackaday.com/2017/03/02/good-usb-protecting-your-ports-with-two-microcontrollers/

有几种方法可以使其显示为空:

  • 在文件名中使用不受支持的字符

  • 使用文件的隐藏选项

  • 使用特殊的 Windows 文件夹(如系统信息)

在所有情况下,使用像样的文件管理器,您将能够检测到它们,但从 Windows 操作系统内部,您只能在情况 2 中检测到它们,前提是您已启用它来显示隐藏文件。

是的,主要是 Windows 操作系统的问题。

是的,有一些方法可以保护:

  • 使用好的文件管理器查看棒的真实内容
  • 确保您没有启用任何类型的自动运行
  • 确保不要从记忆棒执行、读取或传输文件,除非您知道它们是安全的