本文主要通过上图的分类方法来讨论USB的攻击向量问题。最上层涉及更多关于人的应用和业务的基本交互场景。传输层包括设备的固件、协议栈等。物理层主要描述USB总线上的通信问题。AttackVectors"title="USBAttackVectors">1.人为因素本节从人的特点出发讨论USB攻击行为。例如:机密USB被外部人员或组织使用等。1.外部对大部分安全的威胁从业人员研究人员认为,所有USB攻击都是由主机插入外部USB设备引起的,而这些设备通常携带不同形式的恶意代码,恶意的人会试图诱骗用户将不受信任的设备插入他们的主机。在社交领域工程上,这并不是一件很难的事情。根据SteveStasiukonis的报告《Social engineering, theUSB way》,在2006年的渗透测试行动中,黑客在三天内将威胁U盘插入目标公司内部75%的主机中。结果在国土安全部的类似实验中得到证实,其中60%的政府设备有可能被外人访问;更有趣的是值得一提的是,报告还称,当司机、文秘等职业获得更多访问场所后,外部人员访问终端设备的比例上升至90%。2.内部威胁USB设备成本的迅速下降使得公司和消费者选择使用USB设备来存储和传输机密数据。与任何物理设备一样,USB驱动器可能会因人为错误而损坏、丢弃。这样的处理通常会导致有害的结果。2011年,波耐蒙研究所(PonemonInstitute)发布了一份记录了400家不同公司的研究;他们发现这些公司因随意丢弃USB设备而损失了250万美元。2011年晚些时候,一名澳大利亚国防援助人员在途经科威特时丢失了存储在U盘上的绝密文件。完美的人更容易犯错误,这总会给公司乃至国家带来沉重的代价。AttackVectors"title="USBAttackVectors">USB媒体也为内部攻击者泄露机密信息提供了便利的途径。2010年,二等兵切尔西·曼宁因泄露美军私人视频而违反《反间谍法》被捕。曼宁由于出口管制松懈,使用便携式存储设备,以突破军事网络的漏洞,向外界泄露信息。爱德华·斯诺登使用类似的技术从夏威夷的一个军事基地窃取了国家安全局的绝密数据。当然,中国的涉黄事件也是一个典型案例(下)。USB设备的普及和便携性既是挑战也是机遇。一方面,它们的易用性极大地帮助了消费者和公司的日常工作。另一方面,USB设备本身实际上是一个超越技术的行政安全伦理领域,可以对组织产生巨大影响。AttackVectors"title="USBAttackVectors">二、应用层应用层攻击涉及主机用户空间进程及其与设备功能的交互。该层的攻击通常分为两类:代码注入攻击和数据过滤攻击1.U盘代码注入已经被很多恶意软件利用,据我所知的案例,Duqu病毒利用应用层rootkit在U盘上隐藏恶意文件,Conficker和Flame病毒利用0day攻击和恶意autorun.inf文件自动执行U盘连接主机时的恶意软件,虽然自动运行功能在成为Windows平台的主要威胁之一后受到限制,但由于操作系统的漏洞(Bad-USB等),类似的功能仍然可用.Available.2.数据过滤由于USB设备通常不会对主机上的通信应用程序进行身份验证,因此应用程序可能会写入ite或读取数据到USB设备。例如网络摄像机的本地数据存储、USB设备本地日志的保存以及USB应用层的各种安全漏洞都可能成为关键因素。三、传输层1.协议伪造USB设备利用主机对任何连接设备的完全信任,它们往往为终端操作系统提供额外的驱动层接口。当USBrub??berduck或USBdriveby(http://samy.pl/usbdriveby/)等设备连接到主机系统时,驱动层协议栈的所有回调接口(包括用户不知道的)都会被枚举。可以通过将恶意代码嵌入良性设备(例如,蓝牙耳机中的网络适配器)来隐藏此功能。TURNIPSCHOOL项目(http://www.nsaplayset.org/turnipschool)是一种改进的USB数据线,设备有4层PCB板,接口扩展USBHUB,内置芯片,内置射频收发器来自德州仪器的MCU,以及一个3D打印的塑料模具。设备与主机连接后,运行在主机上的软件可以通过射频接口提取数据或接收命令。USB传输层变得可重新编程,可用于开发USB设备的安全过滤产品。识别和缓解这些恶意接口历来很困难。因为对手可以简单地对任何USB基本数据(VID、PID)进行重新编程,以规避操作系统中的设备白名单或黑名单规则。此外,由于恶意人员可以合理使用音频耳机等组合设备,攻击面广,隐蔽率高,降低了攻击成本。2、协议漏洞上位机的USB协议栈只需要符合USB标准,第三方可以自由扩展,所以必然存在大量的传输协议层漏洞。使用FaceDancer进行Fuzzing技术(作者以后会写一篇Facedancer的使用教程),我们会在内核层发现很多任意代码执行的漏洞。2017年,谷歌研究人员还在不同的Linux内核USB驱动程序中发现了40多个漏洞。.在某些情况下,这些漏洞可能会在主机的设备枚举期间被利用。也可以将数据嗅探为中间人设备。AttackVector"title="USBAttackVector">4.物理层物理层攻击包括对USB总线通信的机密性和完整性的攻击。1.物理窃听无论数据是否敏感,总是需要在传输暴露在管道中一段时间??,除去透明加密,大部分流量都会满足USB底层传输标准。keyboards.KeyloggingDevices是放置在主机端口和外围设备之间的小型设备,用于捕获数据包。在usb3.0之前,恶意外围设备可以窃听所有连接设备的下行流量。(对USB窃听攻击的透明防御)M.Neugschwandtner我们甚至可以通过USB电流嗅探、示波器通道采集等手段进行攻击,获取重要特征信息f可以从通道数据中获取当前主机,恶意智能手机可以利用这些信息编写攻击目标的提权shellcode。(安卓安全研究综述)姜少林Usb嗅探另一种探索方法是使用USB协议分析器提取总线状态的时序特征,并使用机器学习分类推断主机的操作系统并获取特定信息。Betas提出了一种基于时间间隔的指纹打印方案,可以从市售的智能手机上启动。他们表明,通过设备之间发送数据包之间的间隔,可以以高达90%的准确度检测到特定的操作系统版本和型号。尽管基于时间的指纹显着提高了规避漏洞的门槛,但经验丰富的木马设计者可以修改其时间签名来逃避检测。2.边信道攻击(电磁、电源攻击)近年来,研究人员研究了攻击者如何利用植入射频发射器的设备窃取普通终端的数据。这种方法需要一个硬改装的USB插头或设备,以及一个专用的嵌入式射频发射器。USBee是一种发射电磁辐射作为射频发射器来编码/抓取敏感数据的设备。当然,如果无法访问目标机器,黑客可以用普通的电线接触目标机器外露的金属部分,获取的信号可以用来提取重要的关键信息。奥斯瓦尔德等。展示如何根据功耗和电磁辐射从Yubikey2中提取AES128位密钥。(对yubikey2一次性密码生成器的侧信道攻击)Oswaldattackvector"title="USBattackvector">电源注入能力也被用来对终端造成物理损坏。USBKiller在USB的两侧keyPCB板侧面嵌入了多个电容,连接到主机后,USBKiller消耗主机USB总线的电流为自己的电容充电,充满电后,负200VDC通过主机的USB数据线放电。这种充电/放电循环一直持续,直到USB杀手被移除或终端被破坏。在新版本的USB供电和Type-C连接器标准中,设备能够获得并传输高达100W的功率,它们会损坏主机,无法修复。(完)
