# USB，原来你是这么不安全

- 作者：高 晨
- 发布时间：2014-08-01 10:24
- 分类：产品
- 原文：https://www.ifanr.com/438479

[![German crypto specialist Nohl of Berlin's SR Labs is reflected in computer screen in Berlin](https://s3.ifanr.com/wp-content/uploads/2014/08/untitled.jpg)](https://s3.ifanr.com/wp-content/uploads/2014/08/untitled.jpg)

为了防止病毒入侵，我们在使用 USB 设备时通常都会很小心。插入电脑后要先杀毒，发现不安全的内容杀毒也不放心，那就格式化……但是，你以为这样就安全了吗？USB 设备存在的安全隐患比我们想象中要严重的多。真正的威胁不是来自于这些设备储存的内容，而是来自用来控制 USB 设备功能的“固件”。

计算机安全问题研究员[ Karsten Nohl 和 Jakob Lell 最新的一项研究发现](http://www.wired.com/2014/07/usb-security/)，USB 设备存在一个严重的安全漏洞。一种叫做 BadUSB 的恶意软件会通过鼠标、键盘及U 盘等USB设备入侵个人电脑，篡改硬盘软件。而且这种新型入侵方式，当前所有已知的安全保护措施都拿它没辙。唯一的解决方式可能就是封住 USB 接口，永远不要共享 USB 设备。

Karsten Nohl 和 Jakob Lell 长期从事 USB 设备安全问题研究，这一次他们没有像往常那样编写恶意软件代码入侵 USB 设备的储存器，以测试安全性能；而是把研究重点放在了 USB 设备中控制转存功能的固件上。结果发现，通过编写一定程序，黑客可以很容易将恶意代码隐藏在固件内，杀毒软件根本找不到。 Karsten Nohl 举例到：

> 当你将一款 USB 设备交给相关技术人员时，他们一般的做法是先进行扫描，然后删除一些资料，最后把设备还给你，并告诉你已经安全了。但实际上，这种做法根本没有办法触及到上述固件，就更别说找到病毒了。

也就是说，当被感染的设备插入计算机时，计算机上的防病毒软件无法检测到被感染，因为防病毒软件只扫描写入到存储器中的软件，并不扫描用来控制 USB 设备功能的固件。

此外，研究人员还指出，除了 U 盘这样的存储设备，像 USB 键盘、鼠标，甚至是 USB 线连接的智能手机等都会出现这样的问题。Karsten Nohl 和 Jakob Lell 将被 BadUSB 入侵了的设备连接到电脑上进行实验发现，通过撰写命令，可以实现替换软件、或者让键盘自动打字等操作。

USB 设备会感染电脑，反过来，一台被 USB 设备感染过的电脑又会将病毒带入下一个 USB 设备。基于这一理论：任何插入电脑的 USB 设备，其固件都有可能被电脑中的恶意软件入侵，而由于入侵的病毒根本无法监测出来，任何被感染的设备又都可以破坏电脑。也就是说，我们根本不可能安全地使用 USB 设备。宾夕法尼亚大学计算机科学教授[ Matt Blaze 表示](http://www.wired.com/2014/07/usb-security/)：

> 这相当于是告诉我们，只要能接触到别人的电脑 USB 接口，我们就可以对他的电脑进行破坏。

Matt Blaze 认为这项研究揭示了一个重大的安全隐患。他还推测，美国 NSA 有可能很早就知道了这个问题，并使用这种方式搜集过不少数据和资料。

Karsten Nohl 和 Jakob Lell 曾将此研究结果告知台湾地区的 USB 设备制造商，提醒他们留意 BadUSB，不过对方多次否认说，这种入侵方式根本不可能。[WIRED](http://www.wired.com/2014/07/usb-security/) 在联系 USB 应用论坛 （USB Implementers Forum）后，相关负责人也只是发表声明提醒消费者要提高安全意识。

在 Karsten Nohl 看来，短期内的确无法从技术上来解决 BadUSB 入侵的问题，所以当前的做法就是提醒 USB 设备使用者，一定要使用可信的电脑和可信的 USB 设备。

Karsten Nohl 和 Jakob Lell 将于下周在拉斯维加斯举行的 [Black Hat ](https://www.blackhat.com/)黑客大会上演示这种新类型的黑客入侵，届时会展示更多的相关细节。

题图来自 [Reuters](http://www.reuters.com/article/2014/07/31/us-cybersecurity-usb-attack-idUSKBN0G00K420140731)
