解读USB安全:你以为USB真的安全?

2017 年 5 月 2 日3010

  在正式开谈USB安全之前,还是照例来分享一个很有意思的案例:2014年年末,来自Reddit的报道,某大公司高管电脑感染了恶意程序。公司的安全研究人员就调查恶意程序来源,但检查了所有传统可能的感染途经都一无所获。于是他们开始考虑其他突破口,从这位高管的饮食起居入手,翻来覆去地查,最后发现问题居然出在高管的电子烟身上。

  “这是一款中国造的电子烟,充电装置部分包含了硬件编码的恶意程序。”而这款电子烟是通过USB口充电的,这名高管为了充电,顺手会将其插入到公司的电脑上,于是电脑就感染了恶意程序。

  在这一例中,如果恶意程序做得更加隐秘,那么整个攻击过程甚至可以达到神不知鬼不觉。这其中的传播核心,就是我们要谈的“USB安全”。

  

  USB安全?这是什么意思?

  我们擅自提“USB安全”这个词汇,其实是不准确的。因为USB本质上只是一种通用串行总线——总线有很多啊,SATA总线、PCIe总线等等,这有什么样的安全话题可谈呢?可能USB充其量可作为恶意程序传播的途经。我们说“USB安全”,和说“网线安全”是不是感觉差不多荒谬?

  不过大概是因为USB作为替代古代各种接口的明星级统一标准,而且USB又不像Thunderbolt之类的接口一样需要高昂的授权费用,当代世界的海量设备采用USB接口也是种必然。有趣的是,我们经常将采用USB接口的设备称作USB设备(却没有人将PC内置的硬盘称作SATA设备或者PCIe设备),这也是我们这里谈USB安全的基础。

  

  由于USB当代的使用如此广泛,所以USB设备也就成为了恶意程序传播的重要载体。但如果只说USB设备作为恶意程序的传播途径,那么任何接口实际上也都存在这种传播的可行性。比如说U盘能够传播病毒,Thunderbolt移动硬盘也行,连光盘都可以。

  总的说来,我们要谈所谓的USB安全,并不是USB在数据传输过程中存在安全问题,或者某类USB接口规格(如Type-C)某个针脚存在设计缺陷,而是USB接口或总线作为恶意程序的一个重要途经,存在安全问题,以及USB协议、驱动存在的安全问题。

  因此针对USB安全,有3点可谈。

  其一,USB是个具有相当普遍性的标准,鼠标、键盘、电子烟、外置声卡都用USB接口,且即插即用。所以在物理接口中,它对恶意程序的传播大概是除了网络适配器接口之外,效率最高的。

  其二,USB协议可被攻击者利用,这也将是本文要谈到的重点。

  其三,最高级的USB 0day漏洞攻击。

  

  autorun.inf时代!U盘病毒?

  在网络还不像现在这么盛行的年代,可移动存储设备是传播病毒的重要方式。就是将恶意程序放在U盘,或者移动硬盘,甚至软盘中——在不同的PC交换数据的过程中,就可以达到传播病毒的作用。再高明的恶意程序也需要人类去打开才能运行,巧在像Windows这类操作系统,为了加强使用体验,系统中有个针对移动存储介质的AutoPlay/AutoRun自动播放功能。

0 0