恶意USB设备攻击与防护技术研究

2016-11-21 05:44吕志强常子敬姜建国
信息安全研究 2016年2期
关键词:描述符键盘电脑

吕志强 刘 喆 常子敬,2 张 宁 姜建国,4

1(中国科学院信息工程研究所 北京 100093)2(中国科学院大学 北京 100049)3(国家保密科技测评中心 北京 100044)4(北京交通大学 北京 100044)



恶意USB设备攻击与防护技术研究

吕志强1刘 喆3,4常子敬1,2张 宁1姜建国1,4

1(中国科学院信息工程研究所 北京 100093)2(中国科学院大学 北京 100049)3(国家保密科技测评中心 北京 100044)4(北京交通大学 北京 100044)

(lvzhiqiang@iie.ac.cn)

讨论了近年来出现的恶意USB设备的攻击和防护技术.恶意设备可以利用USB接口协议,获得计算机管理员权限,自动运行恶意程序,获取所存资料甚至远程控制计算机等.为了研究并防护此类USB安全问题,设计开发了1款可以伪装成键盘的恶意USB设备.在网络隔离环境下,成功打开目标电脑中的程序,获取计算机内文件.整个过程不触发任何操作系统规则,发现后不能通过软件清除,对涉密计算机有较大的威胁.针对此类恶意USB设备研究了相应的防护技术.

恶意USB设备;HID接口;数据传输;HID键盘;安全性分析;用户权限;USB复合设备

随着技术的发展,恶意程序制造者的目光已经不仅仅局限于软件程序上,越来越多的研究开始转向硬件.恶意硬件的出现使得人们改变了对硬件的认识,将安全防护带入到了新的领域.所谓恶意硬件就是1种通过篡改芯片电路、利用电路漏洞或篡改固件程序等手段使芯片具有执行恶意程序功能的技术.USB接口是目前电脑使用最多、最通用的外设接口,市场上大多数的电脑外设都可以通过USB接口与电脑进行通信.利用USB这种广泛使用的通用接口制作的恶意硬件更是受到了黑客们的重视,也是恶意硬件中比较流行的几种技术之一.利用这种被称为恶意USB设备的新型恶意设备可以有效地向大多数计算机发动攻击.相比之前出现的U盘病毒,通过感染USB存储设备进行传播不同,恶意USB硬件设备是将恶意程序直接通过固件或者硬件电路的形式植入到USB设备中,当设备插入计算机中,在特定条件下触发激活恶意代码,执行恶意程序.根据文献[1]的报道,2009年研究人员Chen等人在Defcon安全会议上,展示了利用苹果键盘的固件攻击Mac系统的方法.2014年曝光的“棱镜门”事件披露了美国国家安全局研发的1种间谍工具——“水腹蛇1号”.这是一种植入在USB接口的微型间谍设备,连接到目标电脑后在黑客的控制下植入恶意程序,通过无线芯片向外发送数据.这样即使是计算机与网络物理隔离,也可以通过这种恶意硬件获得数据.根据文献[2]的报道,在2014年美国黑帽大会上,柏林SRLabs的安全研究人员Lell等人展示了他们称为“BadUSB”的攻击方法.这种方法通过在修改USB存储设备的引导程序,植入恶意程序,在设备运行时向电脑注入恶意程序.根据文献[3]的报道,在此之前,还有人利用USB微控制器的开发板Teensy USB写入恶意代码,利用模拟键盘的敲击向目标电脑植入恶意代码.通过表1的对比可以看出,隐藏在硬件芯片中的恶意USB设备相比恶意软件具有更大的威胁,由于恶意程序隐藏在芯片内部,只要不激活就很难被发现,可以在目标系统中长期潜伏,常规检测方式难以发现和处理,即使被发现也难以通过软件清除,给计算机安全带来了新的挑战.

表1 恶意USB硬件与软件恶意代码比较

因此,针对恶意USB设备的研究就非常有意义.通过研究找到这些恶意设备利用的安全漏洞,可以针对性地预防恶意硬件的攻击.本文通过分析USB协议和电脑操作系统对USB设备的管理,发现了一些可以利用的协议漏洞,提出了1种伪装成键盘的USB恶意硬件技术,并且设计实现了用于验证的原型机.通过无线设备控制键盘植入恶意程序,在操作者的控制下获取目标计算机内的文件数据.

1 USB设备分析

1.1 USB设备概述

USB只是1个总线型数据通路,在这条总线上传输的数据通过定义不同的接口指定了数据的传输类型,接口之中又定义了端点,用于交换数据.操作系统根据不同的接口,将数据交给不同的应用程序.数据根据指定的端点进行交换、传输.其中0端点是保留的控制端点,所有接口不可以使用.每次通信过程由主机发起,通过握手和设备建立通信.接口、端点、USB设备的识别码等信息通过描述符形式告诉主机,这个过程称为枚举.成功枚举后USB设备就可以和主机正常交换数据了.

截至2015年11月5日USB官方将USB分为22类,其中18类为接口类,常用的接口类包括HID接口类、CDC接口类、MSC接口类等[4].HID(human interface device)接口类是1种用于人机交互设备的通信接口,但不限于键盘、鼠标等设备,任何符合HID协议规范的接口都叫HID接口.CDC(communication device class)接口类是1种USB专门用于数据通信设备接口,主要包括一些通信应用,如VCP(virtual COM port).MSC(mass storage device class)接口类是主要应用于存储类设备,如U盘、移动硬盘、USB光驱等.同时USB协议规定,同一个USB物理接口可以定义多个接口类,此类设备称为复合类USB设备,即HID接口设备也可以同时定义MSC接口[5].

1.2 HID接口分析

HID接口是USB设备中运用最广泛的一种,很多人机交互设备都使用这种接口,日常使用的键盘,鼠标都是采用这种接口.HID设备在电脑设备管理器中的显示如图1所示:

图1 Windows系统设备管理器中HID设备

HID接口采用的是报表(report)的数据交换方式,每次数据通过报表的格式送达对方,设备的固件必须支持HID报表的格式.报表的格式非常有弹性,可以处理任何类别的数据.因此,传送的数据可以是键盘的键值、鼠标的位移、滚轮的滚动值甚至可以是普通的数据[6].

HID设备和其他USB设备一样需要先经过枚举才能和主机建立通信.在USB1.1协议中定义了设备描述符(device descriptor)、配置描述符(configuration descriptor)、接口描述符(interface descriptor)、端点描述符(end descriptor)以及字符串描述符(string descriptor).HID描述符结构如图2所示:

图2 HID描述符结构

与HID接口相关的描述定义在接口描述符中,接口描述符主要记录了接口编号、接口的端点数、接口所使用的类、子类和协议等[5].区别HID接口的不同用途主要通过不同的协议编号.目前HID接口规定在协议字段中有3个选项:0是数据通道(none),1是键盘(keyboard),2是鼠标(mouse),协议还预留了3~255的选项供用户自行定义.已有定义的3个选项都对应操作系统中不同的驱动程序,而且在Windows XP之后的系统和大多数Linux系统下均是免驱的,由操作系统自行加载驱动[7].不同品牌的硬件均可以在操作系统下正常工作,应用开发者不需要考虑如何编写驱动,只需要调用系统自带的API即可和HID设备通信,很大程度上降低了开发难度,受到很多开发者的青睐.HID接口除了USB键盘、鼠标之外广泛用于低速数据传输、信号控制.

1.2.1 HID接口用于权限提升

USB 设备便捷的背后,隐藏着安全隐患.首先是按键和鼠标在操作系统的设置有问题.在计算机中,操作系统中HID设备最初设计的目的是人机交互的接口,键盘、鼠标就是人类的代表,它的每个操作、每组数据都是在用户的允许和操作下发出的,收到数据后,操作系统直接调用驱动程序响应操作.这个过程中缺少校验环节,无条件信任本身就违反了安全设计准则.不作校验就使用的这些数据,给操作系统带来了很大的安全隐患,相关的安全策略更是直接放行这部分的操作,缺少相关的限制.恶意USB设备通过获取HID接口,模拟计算机管理员的操作,绕过安全策略,获取操作系统权限.

由于这种HID设备直接代表用户,所以有很高的操作权限.虽然自从Windows 7系统引入权限控制的机制,但是来自键盘鼠标的操作依然代表着用户的最高权限.既然是高权限,USB协议并未对这部分设备作有效的管控,任何1个USB设备都可以通过枚举成为HID设备,如果1个USB设备能以HID键盘设备出现在电脑中,那么意味着它将获得很大的权限自由.比如模拟用户的操作、运行应用程序,这样1个普通的USB端口就可以完成很多用户操作.目前已知的几种恶意USB设备都是通过这种HID接口提升权限,运行恶意程序.

1.2.2 HID接口用于数据传输

分析HID接口定义,相关协议中bInterfaceProtocol字段有数据通道(data pipe)的选项[6].键盘和鼠标正是通过同样的通道将信息传输给电脑.虽然键盘、鼠标是输入设备,但是在通过USB HID接口与计算机通信的过程中,具有双向传输的通道,利用这些通道进行数据的双向传输.HID接口通过报表的格式交换数据,根据定义bInterfaceProtocol字段的值(1或2),告诉操作系统此HID接口的报告类型(键盘或鼠标),操作系统根据类型将数据交给相应的驱动程序,完成外设与操作系统的数据交换.利用这个过程,如果将bInterfaceProtocol字段的值定为0(数据通道),这些数据就可以是自定义内容的普通数据.和串口的通信过程类似,系统中运行的1个程序打开特定的USB HID接口,就可以实现操作系统和外设的双向通信[8].和串口相比,这种数据传输方式有很多优点,性能稳定,传输速度快,接口开启方便,每个接口都有特定的标示ID不会出现串口端口占用的情况,只要知道USB设备的ID就可以直接打开接口传输数据.对比结果如表2所示:

表2 HID数据接口与USB虚拟串口对比

1.3 USB复合设备

1个HID接口只能定义1种协议类型,也就是传送的数据只能有1个目的地.希望利用可编程的芯片,将HID的2种协议结合在1个USB接口上,以便同时利用上文所述的2个特性,实现恶意利用的目的.要想实现复合功能有2种方法可以选择,一种是使用USB HUB的电路结构,将多个USB设备通过1个HUB芯片连接在一起,实现多个设备共用1个USB 物理接口的目的.另一种是使用USB复合接口.1个USB设备通过配置多个接口,并由不同接口来实现不同功能的设备叫作USB复合设备.相比复合设备,HUB有几个缺点.首先增加了硬件,成本和体积都会增加.其次,驱动多个设备时HUB经常出现供电不足的情况.再次,很多设备插入HUB后会共享1个USB物理接口带宽,受带宽所限,无法满足所有设备在最高速下运行[9].

1个USB设备意味着有1个地址,接口是端点的集合,多个接口可以对应同一个USB地址,通过不同的端点区分不同的USB接口.每个接口都需要各自的描述符通过枚举得到,因此这种复合设备在枚举时向主机发送多个描述符.每个设备都只有1个设备描述符,而配置描述符可以根据需求,为设备配置不同的接口.复合设备描述符结构如图3所示.这种设计使得USB功能扩展灵活,可以根据需求添加接口.

图3 复合设备描述符结构

借助USB复合设备的定义方式可以定义2个HID接口,1个使用键盘的协议,1个使用数据传输的协议.至此单个USB设备在理论上已经可以通过HID接口获得用户的大部分操作权限并且向外传输数据[7],是否能利用这个通道从所连接的USB主机中获得有价值的数据,本文通过设计实验进行了验证.

2 实验验证

2.1 设计实验

以Windows操作系统为例,通过编写单片机程序在主机上成功枚举1个复合USB设备,使用2个HID接口和1个MSC接口.一个HID接口使用键盘协议,在日常情况下伪装成键盘,连接在电脑上,执行普通的键盘功能,当收到无线控制指令时在不需要任何软件漏洞的情况下提升权限执行用户操作;另一个使用HID数据接收用来收发数据.在无人操作的情况下运行HID数据传输软件,通过USB接口向单片机传输数据.MSC接口只在植入程序时运行,植入完成都立即卸载,在之后的任务中不再出现.本次实验用于测试的目标电脑运行Windows10 64位操作系统.

2.1.1 复合设备描述符设计

首先需要了解的是USB配置的内容.决定USB设备属性的是其描述符,如上文所述,USB1.1协议中主要有5类描述符,基本的设备描述符描述了设备的VID和PID值,根据USB官方的定义,每个厂商都有自己唯一的VID,PID由厂商自行分配.实验沿用厂商的VID号,自行定义了PID防止和其他设备冲突.本实验在配置描述符中定义的结构体变量abromConfigurationDescriptorHid:

structabromConfigurationDescriptorHid

{

Interface descriptor;

HID descriptor;

Input end point descriptor;

Output end point descriptor;

};

每个HID接口均需要定义相应的描述符.数据传输的HID接口定义为HID0,根据1.2.2节的介绍,协议字段值(bInterfaceProtocol)应选择数据通道(赋值为0).使用1端点,输入端点地址0x81,输出地址0x01,部分字段定义如下:

键盘HID接口定义为HID1,根据1.2.2节介绍,此时协议字段值应选择键盘协议(赋值为1),使用2端点,输入端点地址0x82,输出地址0x02,部分字段定义如下:

根据描述符配置,报告数据包最大64 B,数据接口5 ms轮询1次,键盘接口15 ms轮询1次.

键盘正常工作时的接口状态如图4所示,2个接口配置了不同属性,但是不同接口之间没有主次之分,并行工作.要实现这种复合设备,就需要芯片同时处理来自2个接口的不同任务.在程序设计时,将每个任务分解成小的子任务,使用时间片轮询调度法,建立任务队列,调度周期为5 ms,在1个周期中,系统会根据外部信号安排子任务进入任务队列,每个周期执行1次队列中的子任务,周期性地执行各任务,任务之间通过定时器同步.定义全局信号变量,将任务的状态使用信号发送给其他任务.

图4 HID接口配置

图5 设备插入前后目标电脑设备管理器的变化

枚举成功后进入USB任务,USB任务使用状态机设计思想,前台任务通过查询不同的信号量,切换不同的状态,响应不同的任务.后台函数执行USB协议栈程序,设定信号变量.这样的设计在调用好USB协议栈后,只需要专注开发每个状态下的任务,提高开发效率,方便维护和升级.在主函数中调用函数USBHID_sendDataInBackground()发送HID数据报告,函数通过使用DMA寄存器,实现了大批量数据快速发送的功能.函数USBHID_receiveDataInBuffer()接收电脑发送的数据报告,发送完数据后调用函数USBHID_abortSend(),终止通信.

将单片机的USB口插入电脑,枚举成功,如图5所示.未插入前和插入后设备管理器中“键盘”、“USB输入设备”、“符合HID标准的供应商定义设备”数量有变化.这3种设备属性并不互斥,每个接口同时可以对应多个属性,2个HID接口都属于USB输入设备,因此USB输入设备增加了2个.

2.1.2 HID数据接收和发送

本实验使用C#和C++语言在VS2010开发环境下编写了用于植入的程序和远程控制的软件.调用Windows API函数,这些函数包含在kernel32.dll,hid.dll,setupapi.dll之中.调用的接口函数和具体功能如下:

图6 程序流程图

1)HidD_GetHidGuid()——获取HID类设备的全局唯一标识(GUID);

2)SetupDiGetClassDevs()——获取1个设备信息群,该群包含HID类别内的所有设备;

3)SetupDiEnumDeviceInterfaces()——获取设备信息群内指定设备接口的信息;

4)SetupDiGetDeviceInterfaceetail()——获取指定设备的路径;

5)CreateFile()——开启指定设备;

6)HidD_GetAttributes()——获取指定设备的厂商ID、产品ID、版本号;

7)HidD_GetPreparsedData()——获取含有指定设备能力信息的缓冲区指针;

8)HidP_GetCaps()——获取指定设备的能力;

9)WriteFile()——发送1个报表给设备;

10)ReadFile()——从指定设备读取1个报表.

用于植入的软件运行后根据之前的设定,自动打开指定的USB设备HID接口和USB设备建立连接.具体程序流程如图6所示.首先获取USB设备信息,在设备目录中查找实验测试的USB设备,找到后获取该设备的HID信息,进行验证.验证无误后打开接口,发送数据.数据使用报表格式发送到USB设备上.

2.2 实验结果分析

根据上述实验原理,设计制作了原型电路,验证了这种技术的可行性,电路包含单片机、无线芯片、Micro SD卡.如图7所示:

图7 设计实现的原型机

图8 远程控制端获取目标电脑中数据

原型机具有与电脑USB接口通信、无线收发、USB移动存储、按键扫描的功能.可以隐藏在普通的有线键盘中,接收到无线指令后开始工作.在无线指令的控制下,使用键盘获取管理员权限,将Micro SD内的程序植入目标电脑并且运行程序.植入程序和实验USB设备通信,设备利用无线模块与远程控制端建立连接,并在控制端上显示提示信息.在控制端的控制下,程序将目标电脑的资源管理器目录扫描并发送给控制端.控制端可以选择特定的文件下载到本地,实现了远程控制和获取目标电脑的功能.过程如图8所示.

本地控制端可以远程地浏览目标电脑的目录,并选择特定文件下载到本地.如图9所示,本地控制端显示的目标电脑D盘目录下文件,可以选择某个文件夹下载.同时在控制端还加入了一些控制命令按钮,使用这些命令可以遥控实验板完成一些特定任务,如开启、重启、植入程序、检查无线链路等功能.

图9 远程控制程序查看目标电脑目录

整个实验利用2种HID接口实现了插入USB设备后自动运行程序,向外设传输数据的功能.借助HID设备的特点使得操作系统误认为这些操作均为用户正常合法的操作.经过多次实验测试,在Windows XP以后操作系统中均可以成功实现相关功能并且运行过程中不触发任何管理规则,安全软件没有告警提示.对于一些保密要求严格的网络物理隔离的环境中利用这种技术,很容易获取目标计算机中的信息并传递给外界.

相比“BadUSB”、“水腹蛇1号”等目前已知的恶意USB设备都利用HID键盘的方式提升权限,本实验增加了HID接口直接传输数据的功能.而且设备嵌入在键盘中通过无线控制,正常工作时在设备管理器中只有“人体学输入设备”显示,具有更好的隐蔽性,可以长期在目标设备上连接不被发现,同时也可以监控键盘的数据,记录用户的按键内容.通过这种方式可以实现对网络隔离环境下的涉密计算机的攻击,不依赖传统的网络途径,有更灵活选择,而且过程非常隐蔽.具体性能指标如表3所示:

表3 实验原型机性能指标

3 安全防护策略

这种在USB固件植入恶意程序的攻击方法很难防范.恶意代码在底层硬件中,操作系统不能直接删除,也不能简单地使用白名单方式禁用部分USB设备,因为USB设备没有唯一的识别序列号,可以通过修改相应的ID欺骗主机.目前还缺少有效的USB防火墙技术,本文使用的是HID接口,操作系统对此过度信赖,赋予其较高的控制权,安全软件对恶意利用的情况难以区分,留下了安全隐患.

针对USB设备安全监控技术,张赟等人[10]早先提出了基于IRP拦截技术的USB设备,监控主要方式还是拦截不符合安全策略的USB设备请求,这种方式会给用户使用带来很大不便,也不适应现在多变的安全情况,存在较多问题.卢志刚等人[11]提出了1种基于HID的USB监控技术,监控局域网内USB设备的数据流量并上传服务器分析,这种方式只是简单地对局域网内主机设备USB使用情况进行分析和记录,分析力度有限,而且需要部署专门的服务器不便于广泛使用.汤重阳等人[12]利用这些年USB监控技术的发展成果,继续深入研究并提出了1种USB设备安全管控的技术,重点监控USB存储设备对敏感文件的传输.Gao等人[13]针对USB设备存储设备提出了接入控制技术,阻止传统的U盘病毒感染主机.单一的监控很难有效地阻止这些漏洞,这种监控技术还存在很大的滞后性.

分析整个攻击过程,恶意USB设备利用HID键盘提升权限是整个过程的关键,而这个过程主要还是利用了系统对设备的盲目信任.因此,当操作系统在给HID设授权时如果加以验证,区别人机操作,就可以阻止这种问题的发生.这个问题可以使用已经成熟的人机身份校验技术,如验证码、验证语音等方式.在设备插入时进行验证,在使用过程中也需要不断地分析对比操作内容,识别异常行为,对可疑的机器行为通过验证码反复确认,确保安全.从源头阻断了攻击过程.

在校验的同时也需要结合USB监控和文件管控技术.对陌生设备要进行重点监控、异常数据异常流量要及时发现并处理.建立有效可靠的USB监控机制,这种数据监控不应局限于流量,还应该结合设备属性.如果设备具有不应具有的接口要及时告警、重点监控,如键盘同时具有HID数据接口和键盘接口,这本身就是1种可疑行为,此时单纯地分析HID流量将很难发现问题.如果结合设备属性分析这些流量可以提高分析效率和准确性,更容易发现异常行为.与此同时还应该在涉密计算机操作系统中加强涉密文件管理,根据密级标志设定文件访问规则,不能随意访问、复制.让恶意设备即使接入也无法获取有价值的数据.综合运用多种手段,防御这种新的窃密技术,保护涉密设备的安全.

4 总 结

恶意USB技术虽然威胁大,攻击方式隐蔽,但是目前攻击手段有限.通过本课题研究基本上了解了目前已有的攻击技术和USB协议漏洞利用方式.根据研究结果提出了恶意USB设备的防护管理策略,可为我国重要机关的涉密电脑维护提供参考.加强USB设备管控技术,对于此类问题还需要提高安全意识.接入涉密计算机的USB设备要确保安全,最好能从电路层面进行检查,对于不能保证安全性的USB外设要谨慎使用,涉密计算机要定期检查设备管理器,对于可疑设备要积极排查以防留有安全隐患.

[1]Demerjian C. Apple keyboard firmware hack demonstrated[EBOL]. [2009-07-31]. http:www.semiaccurate.com20090731apple-keyboard-firmware-hack-demonstrated

[2]Rabbit_Run. 研究人员公布BadUSB攻击测试(exploit)代码[EBOL]. [2014-10-10]. http:www.freebuf.comnews46291.html

[3]Rabbit_Run. BadUSB的前世今生: USB RUBBER DUCKY和Teensy USB[EBOL]. [2014-10-17]. http:www.freebuf.comtools47411.html

[4]USB Implementers Forum. USB class codes[EBOL]. (2015-11-05) [2015-12-20]. http:www.usb.orgdevelopersdefined_class#BaseClass0Fh

[5]USB Implementers Forum. Universal Serial Bus Specification Revision 2.0[SOL]. 2000 [2015-12-20]. http:www.usb.org

[6]USB Implementers Forum. Universal Serial Bus Device Class Definition for Human Interface Devices (HID)[SOL]. 2001 [2015-12-20]. http:www.usb.org

[7]刘荣. 圈圈教你玩USB[M]. 2版. 北京: 北京航空航天大学出版社, 2013

[8]USB Implementers Forum. Universal Serial Bus HID Usage Tables[SOL]. 2004 [2015-12-20]. http:www.usb.org

[9]Kaul S, Maheta P, Rajesh R, et al. Novel multi-interface USB prototype device for merging commonly used peripheral devices[C]Proc of Novel Multi-Interface USB Prototype Device for Merging Commonly Used Peripheral Devices. Piscataway, NJ: IEEE, 2015: 17-22

[10]张赟, 蔡皖东, 王玥. 基于IRP拦截技术的USB设备监控系统[J]. 微电子学与计算机, 2005, 22(12): 179-183

[11]卢志刚, 刘建华, 刘宝旭, 等. 基于HID的USB监控技术的设计与实现[J]. 计算机工程, 2010, 36(4): 1-3

[12]汤重阳, 赵志文, 韩钦亭, 等. Windows环境下USB设备监控技术的研究与实现[J]. 计算机应用, 2014, 34(S1): 60-63

[13]Gao Teng, Ding Yuewei, Dai Sichong. Research of access control of USB storage device with information security in unauthorized Internet access monitoring system[C]Proc of Research of Access Control of USB Storage Device with Information Security in Unauthorized Internet Access Monitoring System. Piscataway, NJ: IEEE, 2009: 1-5

吕志强

博士,副研究员,硕士生导师,主要研究方向为信号收发与分析、射频系统集成.

lvzhiqiang@iie.ac.cn

刘 喆

博士研究生,工程师,主要研究方向为信息安全技术(信息安全防护类产品检测方法研究、漏洞分析方法研究、木马行为检测分析方法研究等).

ezhe4924@sina.com

常子敬

硕士研究生,主要研究方向为嵌入式硬件安全.

changzijing@iie.ac.cn

张 宁

硕士,助理工程师,主要研究方向为电路与系统和电磁物理安全.

zhangning@iie.ac.cn

姜建国

博士,研究员,博士生导师,CCF高级会员,主要研究方向为信息安全、保密科学技术.

jiangjianguo@iie.ac.cn

Research on USB-HID Device Security

Lü Zhiqiang1, Liu Zhe3,4, Chang Zijing1,2, Zhang Ning1, and Jiang Jianguo1,4

1(InstituteofInformationEngineering,ChineseAcademyofSciences,Beijing100093)2(UniversityofChineseAcademyofSciences,Beijing100049)3(NationalSecrecyScienceandTechnologyEvaluationCenter,Beijing100044)4(BeijingJiaotongUniversity,Beijing100044)

This paper discusses research activities that investigated the risk and protection mechanism associated with USB devices. Using USB interface protocol, an adversary can mount suck an attack with an objective to get the administrator’s permission of computer, auto-running the malware, obtaining the stored information, even remotely controlling the computer. The work was validated through the design and implementation of a malicious USB device that can be disguised as the keyboard. Files stored in the computer are got remotely through this keyboard without violating any system rules. With high concealment, this method has high threat to classified computers, which cannot be found or removed by the anti-virus program. Furthermore, this paper proposes the corresponding protection mechanism of USB devices.

malicious USB device; HID interface; data transmission; HID keyboard; security analysis; user permission; USB composite device

2016-01-08

国家自然科学基金项目(61501458)

TP334

猜你喜欢
描述符键盘电脑
电脑
你知道手机拨号键盘上为什么要有*和#吗?
电脑节来了
电脑能够自己思考吗?
基于结构信息的异源遥感图像局部特征描述符研究
键盘猫
基于AKAZE的BOLD掩码描述符的匹配算法的研究
Cлово месяца
ikbc R300机械键盘
基于深度学习的局部描述符