WHID Defense: USB HID攻击检测防护技术

2021-04-08 03:25吕志强薛亚楠冯朝雯金忠峰
信息安全学报 2021年2期
关键词:按键键盘漏洞

吕志强,薛亚楠,张 宁,冯朝雯,金忠峰

1中国科学院信息工程研究所 北京 中国 100093

2中国科学院大学网络空间安全学院 北京 中国 100049

1 引言

硬件(hardware),指单片机、计算机硬件、软件程序的载体及交互的接口,手机、计算机、键盘等一切具备电子电路的设备,都可以称为“硬件”[1]。USB接口是一种被广泛使用的硬件接口之一,如图 1所示为USB接口标识。1996年1月,USB (universal serial bus) 1.0版本的正式发布正式拉开了USB接口的序幕,其定义了1.5Mbps低速和12Mbps全速两种数据速率[2]。

随着1998年USB 1.1版本的发布,USB接口开始被广泛使用。如今,USB已经发展到USB 3.2版本,其最高传输速率也高达20Gbps[3]。

图1 USBFigure 1 USB

USB接口简化和改进了个人计算机与外围设备之间的接口,以多种方式提高了易用性,由于该接口是自配置模式,用户无需对设备和接口进行任何干预即可使用。USB接口实现了数据的高速率传输,具备多种供电模式,使用灵活,而且可以连接键盘、鼠标、U盘、摄像头等多种外设。USB作为一种输入输出接口的技术规范,被广泛应用于个人电脑及手机等移动通信设备中,而且在摄影器材、数字电视、游戏机、工控系统等领域中也广泛使用。USB闪存盘是一种使用USB接口的数据存储设备,能够通过USB接口与任意符合USB传输协议的设备进行数据交互[4]。

随着移动互联网向物联网转移,智能硬件作为承载物联网的关键实体,也逐渐成为攻击者关注的焦点。如今,恶意攻击形式趋于多样化,过去基于软件环境所存在的安全隐患也在逐渐向硬件环境转移。此外,硬件安全不仅仅局限于整个硬件实体本身,其硬件接口中所存在的隐患也愈发明显,利用硬件接口发起恶意攻击也越来越成为攻击者的重要目标之一,USB接口就是硬件接口攻防中的典型代表。2016年6月,首次被检测出的震网(stuxnet)病毒是一种专门定向攻击核电站、水坝、国家电网等基础设施的“蠕虫”病毒。“震网”病毒经U盘传播,通过修改可编程逻辑控制器(PLC)的控制软件代码使PLC向用于分离浓缩轴的离心机发出错误命令完成攻击,其感染了全球超过20万台电脑,摧毁了伊朗浓缩轴工厂五分之一的离心机,破坏力之大显而易见[5-7]。2014年甚至出现了通过修改U盘固件加入HID攻击技术的BadUSB技术,其中,HID攻击技术是指通过将USB设备枚举为HID设备(如键盘、鼠标等)完成一系列系统级的破坏操作[8]。若攻击者将设备枚举为HID键盘,那么攻击者便获得了键盘权限,攻击者利用计算机系统本身对HID键盘高度可信的特点便可以通过模拟键盘操作完成一些恶意操作,破坏目标设备。同样,攻击者也可以将设备枚举为鼠标等进行相应恶意操作。

然而,目前针对USB攻击的防护大都集中于对U盘等可移动存储设备的文件扫描层面,旨在对USB可移动存储设备进行安全监控与访问控制,以保证此类设备存储内容安全,是一种软件层面的恶意文件型检测技术。但是对于HID设备则以硬件沙箱为主,需要对设备进行二次识别以及预定义授权等操作,过程繁琐,也大大削弱了 HID设备的便利性。因此,针对 HID攻击的桌面级防护手段成为检测HID攻击的最佳解决方案之一。

基于以上问题本文做了以下2个方面贡献:

(1) 分析了USB协议存在的漏洞以及USB HID攻击特点,提出了USB HID攻击模型,生成了USB HID攻击数据流,为研究人员从事相关研究提供理论基础及攻击数据。

(2) 提出了新型的针对USB HID攻击的检测防护思想及安全防护框架,设计了基于 Windows平台的恶意USB HID攻击检测防护平台,并通过实验验证了该平台的功能和性能指标。同时,为研究人员研究USB HID攻击检测防护方案提供了实验验证平台和依据。

本文后续章节安排如下: 第 2部分介绍了近来USB攻击技术及恶意USB攻击检测防护技术的发展情况及特点; 第3部分对USB HID脆弱性进行了分析,提出了USB HID脆弱性模型; 第4部分重点介绍了恶意USB HID攻击检测防护平台的设计思想及各模块的具体细节; 第5部分是本文的实验部分,通过利用 3种攻击工具/平台产生的攻击数据流对第 4部分的检测防护平台进行了实验验证,进一步说明平台在功能和性能方面的优势; 第6部分为结论,对本文取得的进展和未来工作进行总结。

2 相关工作

本节对近年来出现的USB攻击技术和恶意USB攻击检测防护技术的主要思路和研究进展进行简要总结。

2.1 USB攻击技术

自 USB接口广泛使用以来,针对 USB接口或USB设备的攻击从未停止。相比以恶意软件为主的攻击技术,USB攻击充分利用了社会工程学和硬件隐患难检测、易忽略的特点,破坏性更强。

文献[9]对典型的 USB攻击进行了全面的综述,介绍和分析了29种USB攻击技术。本文结合该分类方法对近年来出现的USB攻击技术进行整理如下:

(1) 对USB设备内部主控芯片重新编程的USB攻击技术: 攻击者通过重新改写USB设备内部主控芯片中的程序,使其具备恶意功能,然后通过 USB枚举等方式使恶意USB设备具备与其外形不符的功能或者通过USB设备植入目标设备时自动执行某些特定的恶意操作,典型的攻击技术有 USB Rubber Ducky[10-11]、USBdriverby[12]等。其中,USB Rubber Ducky诞生于2010年,是最早的按键注入攻击工具,后发展成为一个商业化的按键注入攻击平台。其外形类似于U盘,具备代码注入、运行程序和窃取数据等强大功能,支持通过 Micro SD进行内存扩展,并且板载有效载荷重放按钮,攻击力强,破坏性大,如图2所示为USB Rubber Ducky。

图2 USB Rubber DuckyFigure 2 USB Rubber Ducky

(2) 恶意修改 USB设备固件的 USB攻击技术:攻击者对USB设备固件进行重新编程,写入恶意程序,从而使其执行如下载恶意软件、泄露数据等恶意操作。典型的攻击技术有Virtual machine breakout[13]、Hidden Partition Patch[14]等。其中,Hidden Partition Patch技术是通过使用Windows系统中“安全移除硬件”选项对 USB闪存驱动重新编程,在其中创建一个无法被格式化的隐藏分区,实现数据渗漏等恶意操作。

(3) 利用USB固有漏洞的USB攻击技术: 攻击者利用操作系统与USB协议交互时的漏洞对目标计算机发起攻击,典型的攻击技术有 USB Backdoor into Air-Gapped Hosts[15]、 AutoRun Exploits[16]、USBee[17]等。其中,Air-Gapped Hosts通常搭配Fanny恶意软件一起完成攻击操作。其通过USB隐藏存储区存储预置命令,将计算机映射至 Air-Gapped网络中,该网络上的信息将会被存储到 U盘的隐藏存储区中。

(4) USB电力攻击: 攻击者通过USB设备触发电力超载,从而永久性地破坏目标设备,典型的攻击技术有USB Killer[18]等。USB Killer攻击造成的危害是毁灭性的,该技术以毁坏目标设备为目的,如图 3所示为 USB Killer。其插入目标设备后会积蓄电容,然后快速释放大量电能损伤目标设备主板。该攻击只能从物理层面进行防护。

图3 USB KillerFigure 3 USB Killer

此外,2018年还出现了一种新型的BadUSB攻击——USBHarpoon[19]。该技术将恶意芯片植入到USB数据线中,当数据线连入目标计算机后,被枚举为人体工程学设备(HID)进行按键注入攻击等操作。

这些利用USB设备或接口发起的攻击具有极大危害,其经由 HID接口完成恶意程序注入或恶意按键操作,并通过HID接口或USB大容量存储设备本身完成数据密取等操作,形成了将USB硬件与恶意软件相结合的新型攻击模式。由于USB接口的快速发展以及使用广泛性,通过USB协议防范USB攻击已变得不现实,深入分析USB协议漏洞,掌握USB HID攻击特点,并以此制定完整的防护策略成为研究恶意USB HID攻击的主要方向。

2.2 恶意USB攻击检测防护技术

恶意 USB攻击检测防护技术主要有三个方面,一是针对USB接口枚举、USB数据流等进行监控以达到识别恶意操作的目的; 二是通过软件或硬件沙箱对USB设备进行验证和数据过滤,从而保证目标设备来源的可靠性; 三是利用USB HID攻击中存在的按键注入间隔短的特点,利用按键间隔识别是否为恶意自动化操作。

(1) USB数据监控: 该技术体现在两方面,一是监控USB设备本身,通过设定一定的安全规则实现设备监管,如果设备不符合安全规则则被拒绝使用;二是通过捕获USB设备数据,再将其上传至服务器或后台直接进行分析。如李锦山等人[20]提出的基于驱动层的 USB存储设备安全监控技术,实现了对USB数据包的截获功能; 卢志刚等人[21]提出的基于HID的USB监控技术则是对局域网内的USB数据流进行监控并上传至服务器进行分析。以上两种典型技术主要集中在数据包的截获与分析方面,对数据包的分析力度以及对恶意USB攻击技术的检测力度有限,且难以防范USB HID攻击。

(2) 软件或硬件沙箱: 所谓软件沙箱是指通过软件层面实现 USB设备认证。如美国乔治梅森大学Wang等人[22]提出的USBSec协议增加了主机与外设间的身份认证机制,只有认证通过才进行设备枚举。当设备插入主机时,双方会完成一次双向认证,当验证通过时才可以正常使用USB设备。但该协议修改了通用的USB协议,需要定制,推广难度大、局限性大。而硬件沙箱是通过外置硬件设备引入安全审计机制,只有符合该规则的设备才可以通过审计并启用。如美国堪萨斯大学 Kang等人[23]提出的USBProxy硬件防火墙以及 Federico等人[24]提出的USBCheckIn工具(如图4所示)。这两种工具对于外观与功能相符的恶意USB设备则无能为力,且其大大降低了USB设备的便利性和开放性。综合分析软件和硬件沙箱机制,这两种机制在防护性与易用性方面均未做到良好的均衡。

图4 USBCheckInFigure 4 USBCheckIn

(3) 按键间隔识别: USB HID攻击中利用键盘发起按键注入操作,由于按键注入速度快,该方法通过识别相邻按键的间隔区分人机操作。如实验室已有的研究成果中,姜建国等人[25]利用SVM分类器对按键间隔进行识别,用以区分用户和机器的按键行为。但是该方法对于按键注入间隔与正常用户间隔近似的高级别按键注入攻击不适用,且无法防范USB HID攻击中如信息密取等恶意操作。

因此,还缺少一个高效的通用的针对 USB HID攻击的检测防护方案,本文将在第 4节重点介绍桌面级的恶意USB HID攻击检测防护平台。

3 USB HID脆弱性模型

USB HID攻击技术是恶意USB攻击技术的典型代表,其通过HID进行按键注入操作,实现提权,进而完成信息密取、控制传输、指令下达甚至系统攻击等恶意操作。本节对USB协议进行了详细分析,总结了HID存在的脆弱性,并提出了USB HID脆弱性模型。

3.1 USB HID脆弱性分析

通用串行总线(Universal Serial Bus,USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,广泛应用于个人计算机和移动设备等信息通讯产品[26]。当USB设备插入主机时,主机会枚举该 USB设备,然后主动加载设备所需的驱动程序。目前,多数USB设备,尤其是键盘、鼠标等通用USB设备仍以USB 2.0为主。在USB 2.0版本中,共支持高速(Hi-Speed: 480Mbps)、全速(Full Speed: 12Mbps)、低速(Low Speed: 1.5Mbps)三种速率。其中,低速速率主要用于低速率的人机接口设备,如键盘、鼠标、游戏杆等。本文主要研究USB 2.0版本下的USB HID攻击技术及相应的检测防护技术。

USB设备插入主机后的初始化过程称为USB枚举,如图5所示。枚举过程主要有以下四步:

图5 USB枚举过程Figure 5 USB enumeration process

(1) 主机检测 USB设备是否连接: 主机通过检测USB数据线信号的变化判断USB设备是否连接,若检测到有一根数据线是高电平,则认为有USB设备插入。

(2) 主机确定 USB设备速度: 主机通过检测USB数据线信号的变化判断USB设备所支持的速度模式,主机根据是 D+还是 D-被拉高来判断目标设备时全速还是低速设备。此处仅对枚举步骤作简要论述,不对如何区分全速和高速设备作详细解释,具体请参见USB 2.0协议。

(3) 主机请求 USB设备描述符: 当主机确定USB设备已连接以及USB设备所支持的速度模式后,主机会向USB设备发起设备描述符请求,完成设备识别操作。首先,主机向设备发起请求读取设备的各种描述符,从而获得设备类型、端点等信息。然后,主机向设备发起设置地址请求操作,请求设备使用指定地址,以便主机区分每个不同的USB设备。最后,主机向设备发起设置配置请求操作,确定相应配置。

(4) 主机加载相应 USB设备驱动程序: 主机完成设备识别操作后,需要加载相应的驱动程序以便与USB设备进行交互。通常,USB设备使用Windows系统中自带的标准驱动,如设备为定制化设备或有特殊功能需求时,主机需要下载相应的驱动以实现对USB设备的控制。

通过对USB协议分析,本文整理了恶意USB设备所利用的漏洞(适用于USB 3.2及以下版本):

USB组合接口漏洞:在一个USB设备上可以实现多个设备并具有多种功能,这种设备又称为具有两种及两种以上功能的USB设备。其实现方法有两种,一种是几个具有不同功能的设备通过一个 USB HUB形成单一设备,称为USB复合设备,一种是一个配置多个接口实现不同功能的 USB设备,称为USB组合设备[27]。在USB组合设备模式下,每个功能接口共用根 USB设备的生产厂商 ID(Vendor ID,VID)和产品 ID(Product ID,PID),因此通过将一个USB设备组合成具备多种功能的设备在一定程度上可以提高恶意设备的隐蔽性。

USB设备验证漏洞:根据 USB规范,所有的USB设备都有VID和PID,主机通过不同的VID和PID来区别不同的设备,其中,VID由供应商向USB执行论坛(USB IF)申请,每个供应商的 VID 是唯一的,PID由供应商自行决定,理论上来说,不同的产品、相同产品的不同型号、相同型号的不同设计的产品最好采用不同的 PID,以便区别相同厂家的不同设备[28]。但是VID和PID的存在只是为了给设备打标签,便于迅速定位产品的生产商、型号等信息,并不作为设备运行的依据,因此很多山寨厂商会直接使用所采购USB芯片本身的ID信息或者根据自身情况任意赋值。此外,即便是生产USB设备的大厂,虽然他们的VID信息由USB IF分配,但有时为了自身需要也会向同一批次的设备中写入相同的PID信息。VID和PID虽然在理论上可以实现对USB设备的唯一标识,但通过分析以上两种情况可以看出,实际生产中存在冒用和误用VID、PID信息的情况,这也就导致攻击者在开发恶意USB设备时可以采用与正规厂家相同的 VID和 PID,从而避免一些安全软件的定向查杀。

USB权限许可漏洞:HID设备是计算机直接与人交互的设备,所有现代主流操作系统都可以识别标准 USB HID设备(例如键盘和鼠标),而无需专门的驱动程序。此外,HID接口设备,如键盘、鼠标等具有直接操控计算机的能力,计算机在识别键盘、鼠标等高权限HID设备时,缺少专门的许可检查机制,默认此类设备高度可信。基于以上两个特性,一旦攻击者伪装成该类设备即可完成系统级的操作,危害性大。

USB数据认证漏洞:HID设备采用报表(report)结构与主机进行数据交互,其要求设备固件必须支持HID报表的格式,HID报表格式灵活,可以处理任何类型的数据(如温度、湿度、地理坐标、键盘键值、鼠标坐标、普通数据……),而且在HID数据交互过程中,缺乏数据认证机制,只要符合 HID报表格式的数据均会被主机接收,攻击者可以利用这个漏洞伪造符合HID报表格式的数据达到欺骗甚至攻击主机的目的。

3.2 模型设计思想

在Windows环境中,从Windows98操作系统开始,便提供了HID类设备的通用驱动程序。对于HID类设备,Windows系统可以自动识别,在开发相应通信软件时,也省去了复杂的驱动程序的编写过程,具备即插即用等优点。在进行 HID开发时,只需要调用自带的API即可与HID设备进行通信,降低了开发难度。

在HID事务传输中,不同速率的USB设备其传输能力不同,每笔HID事务所支持的字节数也不同。对于USB低速设备,每一笔HID事务最大是8字节,但每10ms内不会超过一笔事务,即低速设备最大速度为800B/s; 全速设备最大为64字节,每1ms一笔事务,即最大速度为 64KB/s; 高速设备最大为 1024字节,每 125μs一笔事务,即最大速度为24.576MB/s[29]。本文采用USB 2.0 High Speed模式,该模式下通过HID进行数据传输可以获得可观的传输速率。因此,本文充分利用 HID设备的特点开展研究,具体设计目标如下:

(1) 以计算机认可的设备形式存在,且符合计算机常用设备设计;

(2) 能够实现多种按键注入攻击,有可编辑的攻击载荷库;

(3) 支持USB 2.0高速模式,实现USB数据的高速传输;

(4) 具备无线通信功能,能够与远程客户端联动,实现远程控制;

(5) 设备小型化,能以键盘、鼠标等多种形态存在。

根据以上功能,本文提出了USB HID攻击模型——WHID,结合3.1节中所述漏洞做以下设计:

(1) 利用USB复合接口漏洞和USB权限许可漏洞将USB设备枚举为一个组合设备,即“HID键盘+HID数据口+MSC大容量存储设备”的形式,使其具备多种功能。

(2) 利用USB设备验证漏洞将USB组合设备的VID和PID设置为市面上已知的合法设备的值,以便躲避某些安全软件对设备VID和PID的相关检测。

(3) 利用USB数据认证漏洞伪造符合HID报表格式的合法数据,并设计符合 HID报表格式的载荷攻击库及数据传输协议。

(4) 引入设备认证机制,即被植入恶意软件的目标主机会发送认证指令读取存储在WHID Flash中的序列号,然后与已知序列号库进行比对,完成认证,继而才实行后续攻击操作。该机制是为了避免设备被检测(通过模拟利用检测设备异常等方式),这也大大增强了WHID的健壮性。

如图6所示为WHID模型系统结构图。

图6 WHID模型系统结构图Figure 6 WHID model system structure diagram

3.3 基本架构

USB设备中,由于 HID设备具有高用户权限,HID键盘具备命令等信息输入功能,HID数据口可用于数据传输,MSC大容量存储设备可用于数据存储等。因此,针对WHID的存在形式,结合HID高权限、数据报表格式灵活、免驱等特点,本文将设备枚举为“HID键盘+HID数据口+MSC大容量存储设备”的组合形式,如图7所示。

图7 WHID模型设备形态Figure 7 The device configuration of WHID model

HID键盘: HID键盘是计算机高度可信的设备,通过键盘可以操作设备运行的指令,也可以进行数据输入等操作。键盘是最常用也是最主要的输入设备,通过键盘可以将英文字母、数字、标点符号等输入到计算机中,从而向计算机发出命令、输入数据等[30]。利用键盘的这一特点,本文通过 USB枚举使得WHID具备 HID键盘的功能和特征,从而实现将由英文字母、数字、标点符号等组成的攻击载荷注入到目标计算机中,控制目标计算机,实现攻击。

HID数据口: 本文所提及的WHID模型设计了HID数据接口。由于HID设备在主流操作系统中具有免驱等特点,因此通过 HID数据接口进行数据传输更加便捷,同时,免驱也可以使WHID在进行相关指令或数据操作时更加便捷,不易被目标用户发现。本模型利用USB 2.0 Hi-Speed协议的HID数据口功能实现WHID与主机之间的高速率数据交互等功能。

MSC大容量存储设备: USB大容量存储设备类(The USB mass storage device class)是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输[31]。WHID模型通过将设备枚举为MSC大容量存储设备实现数据存储等功能。

在Bushound数据监控软件中,可以查看计算机中USB设备的相关信息,包括单一USB设备和组合USB设备。如图8所示为单一USB设备,图9所示为“HID键盘+HID数据口+MSC大容量存储设备”组合设备。

图8 单一USB设备Figure 8 A single USB device

图9 USB组合设备Figure 9 A USB composite device

4 恶意USB HID攻击检测防护平台

基于 USB HID脆弱性模型所总结的主流 USB HID攻击技术利用的漏洞和攻击特点,本文提出了一种新型的检测防护思想,并设计了一个恶意 USB HID攻击检测防护平台——WHID Defense。本节将从设计思想、按键注入特征分析及防御、数据捕获与反向干扰、用户身份管理与访问控制、风险事件分类与统计、功能分析等六个方面进行详细阐述。

4.1 平台设计思想

以往关于检测防护技术的研究一般以检测与查杀为主,本文根据USB HID攻击的特点,在检测与查杀的基础上引入了反向干扰的思想,形成了新型的检测防护思想: “监+查+反+审”。

(1) 监: 能够实时监测恶意工具行为、数据流等信息,确保恶意工具的操作均在监测范围内。

(2) 查: 能够对恶意设备的恶意数据流进行鉴别、查杀。

(3) 反: 能够反向干扰或反向攻击恶意设备,干扰其正常通信。

(4) 审: 设备的行为、数据要可审计。

“监+查+反+审”思想可以形成一个多层级的检测防护体系,平台可以对目标设备实时监测,一旦有异常发生即可发出报警,同时对于恶意数据流可以进行查杀,该思想中的“审”要求平台对目标设备所有数据和行为进行记录,为后续审计人员进行审计提供了便利。此外,该思想中创新性地引入了反向干扰思想,对恶意设备实施反向干扰,扰乱其正常通信。

由于USB HID攻击一般以硬件的形式存在,如果仅仅对可疑设备进行监测可能会存在误报等情况,本文所提出的“监+查+反+审”思想更加全面地实现对USB HID攻击的检测与防护,保证个人计算机安全。

4.2 基本架构

基于“监+查+反+审”思想,并结合USB HID脆弱性模型的特点,恶意USB HID攻击检测防护平台具体设计目标如下:

(1) 基于 WHID模拟键盘进行按键注入攻击的特征,通过对键盘数据信息的监控,实现对按键注入攻击的预警;

(2) 基于WHID利用HID数据口进行数据通信的特征,通过对 HID设备进行数据信息的监控,实现对WHID设备数据的捕获,并统计、分析数据流量大小实现可疑信息初步预警; 此外,通过分析捕获数据包的构成特点,模拟构建数据包并发送给WHID,实现对WHID通信的干扰;

(3) 基于恶意 USB HID攻击工具的特点,对USB HID设备进行分类,划定设备风险等级,实现风险信息的实时显示; 同时,根据平台监控结果,实时动态调整目标设备分类,使设备风险等级显示更科学;

(4) 根据WHID Defense可能使用的场景和对象,构建不同的角色访问机制,并制定不同级别的安全风险预警系统;

(5) 为了便于后续对设备通信数据的审计,构建通信数据库,将HID设备的通信数据包以及HID键盘的按键数据保存在数据库中。

如图10所示为WHID Defense系统结构图。

图10 WHID Defense系统结构Figure 10 The system structure of WHID Defense

通过监测USB HID设备可以掌握USB HID设备的行为,如插入、拔出、发送数据、接收数据等,通过可视化界面可以将此类行为一一列出,便于观察,必要时可对可疑行为进行预警。为防止按键注入攻击,WHID Defense平台引入了按键注入攻击预警机制,可以记录所有按键事件并对可疑按键流进行弹窗提醒。而对USB HID数据流的捕获一来可以监控数据流量和速度,通过统计发现异常; 二来可以用于后续数据包分析及审计工作。反向干扰则是本文检测防护思想的亮点之一,可以实现对恶意设备的通信干扰。

4.2.1 按键注入特征与分析

恶意USB HID攻击工具是恶意软件与恶意硬件相结合的攻击技术的典型代表,具有极强的隐蔽性和破坏性。对于一款恶意软硬件相结合的攻击工具,恶意硬件的植入是攻击实施的前提,而恶意软件的感染则是攻击实施的必要路径。此类攻击工具利用USB HID协议脆弱性,将恶意USB HID攻击工具枚举为计算机高度可信的 HID键盘设备,通过键盘路径可以实现对目标计算机“命令提示符”的开启,以便于将木马程序植入到目标计算机或者实施更高级别的有针对性的攻击,如文件查找、关闭计算机等。

利用键盘高权限、操作设备运行指令、数据输入等特点,结合主流USB HID攻击工具功能,本文对标准HID键盘的HID报表格式进行分析,掌握攻击载荷的特点,从而实现对按键注入攻击精准化识别。

HID键盘输入报表的数据格式如图11所示。

图11 HID输入报表数据格式Figure 11 HID input report data format

由图可知,输入报表共8个字节,各字节具体信息如下:

BYTE0: 特殊按键,其中:

(1) bit0表示Left Control是否按下,按下为1,抬起为0;

(2) bit1表示Left Shift是否按下,按下为1,抬起为0;

(3) bit2表示Left Alt是否按下,按下为1,抬起为0;

(4) bit3表示Left GUI(Windows键)是否按下,按下为1,抬起为0;

(5) bit4表示Right Control是否按下,按下为1,抬起为0;

(6) bit5表示Right Shift是否按下,按下为1,抬起为0;

(7) bit6表示Right Alt是否按下,按下为1,抬起为0;

(8) bit7表示Right GUI(Windows键)是否按下,按下为1,抬起为0。

BYTE1: 保留位。

BYTE2——BYTE7: 普通按键。

由于攻击载荷由按键构成,因此载荷特征体现在按键特征上。通过 HID键盘报表格式可知,每一个字节规定了按键类型,常用的按键组合一般体现在BYTE0和BYTE2中,二者赋以特定的值即可完成一次按键操作。为了达到按键注入攻击“隐蔽性”的目的,实施快速的按键注入操作成为此类攻击的最大特点,这种特点表现为相邻按键之间的间隔很短(具体间隔可根据需要自定义)。在设计攻击载荷时,可以将要实现的恶意操作转换为一条条按键输入指令,然后对每一个按键指令进行HID报表的还原。

基于以上标准 HID键盘报表格式,并根据实际攻击场景,本文列出了两个攻击载荷,如表1所示。

表1 攻击载荷Table 1 Attack payload

综合分析此类攻击工具的按键注入攻击特点发现其均是依托于HID键盘模拟用户进行命令注入。因此,调用“命令提示符”成为此类攻击的一个必然选择,在 Windows操作系统中,通过按键形式打开“命令提示符”有以下三种方法:

(1) 通过搜索框直接打开“命令提示符”:

① 按下“Windows”键;

② 输入“cmd”打开“命令提示符”。

(2) 通过搜索框打开“运行”窗口,进而打开“命令提示符”:

① 按下“Windows”键;

② 输入“运行”或“yunxing”,打开“运行”窗口;

(3) 通过“Windows+R”组合键打开“运行”窗口,进而打开“命令提示符”:

① 按下“Windows+R”组合按键,打开“运行”窗口;

② 输入“cmd”打开“命令提示符”窗口。

通过以上三种方法可以看出,进行按键注入攻击时均有按下“Windows”键的过程,为了使拦截准确,本文对以下三种操作进行按键注入标记,如表2所示。

表2 按键注入标记Table 2 Key-press injection mark

当键盘数据监听模块监听到以上按键组合时,则发出警告,提醒用户当前设备可能存在风险。整个过程算法实现如表3所示。

表3 按键注入标记特征算法Table 3 Key-press injection marking feature algorithm

4.2.2 数据捕获与反向干扰

恶意USB HID攻击工具利用HID数据口完成与目标计算机的指令传递与数据交互操作。WHID依托HID数据接口可实现数据密取功能。开发者可以自定义 HID接口,该接口除了用于实现键盘、鼠标等功能外,其接口数据可以是温度、湿度、控制指令,甚至是数据格式符合HID报表格式的任意数据。实现HID接口数据传输需要对HID接口描述符进行自定义,HID标准接口描述符结构如表4所示。

表4 HID标准接口描述符Table 4 HID standard interface descriptor

WHID模型通过数据密取单元处理远程通信单元所接收的控制指令和有效数据,同时,也接收目标机所发送的敏感数据以及指令反馈等。

此外,WHID模型远程通信单元,为WHID系统提供了远程指令控制与数据透传功能。远程通信单元可以是WIFI模块、4G/5G移动通信模块、无线射频模块等形式,此类模块使 WHID系统与远程控制端实现互联。远程控制端可以通过远程通信单元将控制指令、校验数据等信息下发至WHID系统,同时,WHID系统也可以将收集到的目标系统中的敏感数据回传至远程控制端,实现目标敏感数据远程密取功能。但整个过程均需依托HID数据口实现目标机数据获取后才可进行无线透传。

具备HID数据口的恶意USB HID攻击工具可以通过HID报表完成上述操作,通过监听USB HID设备,可以获取通过该设备的数据流,将其数据流捕获并保存到数据库中,便于后续对设备数据流的分析与还原。此外,标准HID键盘的HID报表为8字节/包,标准鼠标的HID报表为4字节/包,而对于全速USB设备,其HID报表为64字节/包,对于高速USB设备,其HID报表为1024字节/包。由此可以看出,HID数据接口的流量远大于标准HID键盘和鼠标,通过监控 HID数据接口的流量并分析,可以对可疑数据交互操作进行预警,形成WHID Defense第二层防护屏障。本文在WHID Defense“数据捕获”功能中加入了实时显示设计,可以将捕获的 HID数据包实时滚动显示在主界面上,便于用户查看。

如表5所示为WHID Defense数据捕获算法。

表5 数据捕获算法Table 5 Data capture algorithm

在反向干扰设计方面,本文结合了重放攻击和DoS攻击的思想。

(1) 重放攻击: 又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性[32]。很多时候,设备之间在进行双向通信时都有一套内部的通信协议或者传输经过加密的数据,而攻击者对拦截数据进行解析需要耗费大量精力,通过重放攻击,攻击者只需要了解拦截数据的作用即可在一定程度上干扰目标设备正常通信。具体到本文的研究中,由于可疑设备可能存在通信协议复杂、破解难度大的问题,因此,WHID Defense平台在对可疑设备进行反向干扰时,结合数据捕获的结果将捕获的数据包直接打包下发至可疑设备,达到欺骗可疑设备并干扰其正常通信的目的。

该设计的作用如下:

① 无需了解、分析可疑USB设备的通信协议即可对可疑设备进行信息注入操作;

② 通过增加额外的数据流干扰可疑 USB设备正常通信,在一定程度上增加了其正常传输的恶意数据流的时延,耗用通信链路的带宽;

③ 可能引起恶意程序进行数据重传等操作,从而干扰正常通信。

(2) DoS攻击: DoS攻击,又称拒绝服务攻击,通过利用网络协议中存在的脆弱性或系统漏洞使目标设备无法提供正常服务[33]。USB HID低速设备的最高数据包轮询时间为 10ms,全速设备的最高数据包轮询时间为 1ms,而高速设备的最高数据包轮询时间为125μs[28]。因此,结合USB HID设备的轮询时间,设置三档反向注入模式,即低速模式: 以1包数据/10ms的速率将捕获的数据包下发至目标设备; 全速模式: 以 1包数据/1ms的速率将捕获的数据包下发至目标设备; 高速模式: 以1包数据/125μs的速率将捕获的数据包下发至目标设备。通过长达半小时的不间断信息注入,扰乱目标设备的正常通信,当然,也可以自定义注入时间。

该设计的作用如下:

① 利用USB HID设备的最高数据包轮询时间,循环不间断注入干扰信息,可以干扰可疑设备正常通信,使其无法正常接收数据;

② 可能引起可疑USB设备宕机等操作,从而干扰其正常通信。

反向干扰流程如图12所示。

图12 反向干扰流程Figure 12 Reverse interference process

4.2.3 用户身份管理与访问控制

WHID Defense平台具备用户身份管理与访问控制功能,用户可以根据实际需要选择对应的角色,从而确定相应的防护策略,这种思想增强了 WHID Defense平台的多场景适应性。

访问控制(Access Control)指系统对用户身份及其所属的预先定义的策略组限制其使用数据资源能力的手段,是系统保密性、完整性、可用性和合法使用性的重要基础,也是主体依据某些控制策略或权限对客体本身或其资源进行的不同授权访问[34]。为了使WHID Defense平台更具有普遍适用性,本文结合实际使用人员和使用场景对平台防护性能进行了划分。

本课题共设计三种用户角色,分别为开发者、管理员和普通用户,其中,开发者对应开发模式,管理员对应增强模式,普通用户对应办公模式。具体设计如下:

开发模式: 开发模式主要针对开发人员。由于开发者在进行软硬件开发时,经常会用到键盘的许多快捷按键或功能,而且为了便于调试,也会启用计算机中的很多功能和接口,并设置为较高权限。基于这一特点,平台在设计时对 HID键盘接口只进行监控和记录,将其产生的数据保存到数据库中,便于后续审计时使用。同时,为了在一定程度上保护计算机免受恶意USB HID攻击工具攻击,保留了对USB HID设备的数据捕获与存储功能,开发人员也可以根据实际需要自行设定干扰周期和时长对可疑设备进行通信干扰。此外,防护平台也会针对设备信息为用户提供可行性建议,如提示开发人员查看当前计算机设备信息等。

增强模式: 增强模式主要针对管理员。实际环境中,一些对防护级别要求较高的计算机需要通过专网甚至是物理隔离等手段使计算机处于一个相对安全的状态,但是面对像恶意USB HID攻击工具这种类型的恶意软硬件相结合的攻击则有些力不从心。为了保证键盘的基本功能、确保计算机的正常使用场景,同时,过滤和监控可疑按键操作,在该模式下,平台对 HID键盘接口进行了监视和记录,并将其产生的数据保存到数据库中,便于后续审计时使用。同时,对4.2.1节中提到的可疑按键操作均进行了直接过滤,牺牲了一些快捷按键操作,在一定程度上减小计算机受到按键注入攻击的风险。此外,保留了对USB HID设备的数据捕获与存储功能,用户也可以根据实际需要自行设定干扰周期和时长对可疑设备进行通信干扰。

办公模式: 办公模式主要针对普通用户。在实际办公环境中,用户对系统快捷按键等有一定需求,如果完全禁用会大大降低用户体验,降低工作效率。因此,在该模式设计中,充分结合实际办公场景,当监控到可疑指令时,WHID Defense平台会向用户发出警告,并询问用户是否是可信行为,若是,则放行该指令,否则,过滤该指令并禁用当前计算机所有键盘设备,同时,向用户发出预警。若用户更换目标设备为可信设备或经排除风险认为目标设备可信,则可通过键盘恢复功能使平台自动进入办公模式并开启按键监控。整个过程依然保留了对HID键盘接口的监视和记录功能,并将其产生的数据保存到数据库中,便于后续审计时使用。此外,还保留了对USB HID设备的数据捕获与存储功能,用户也可以根据实际需要自行设定干扰周期和时长对可疑设备进行通信干扰。

4.2.4 风险事件分类与统计

WHID Defense平台具备对恶意USB HID攻击工具的风险事件分类与统计功能,引入了风险定级思想,能够根据事件类型和可疑操作对设备进行动态定级,使评判更科学、直观。

风险事件分类与统计的设计思想基于外围设备持续不可信原则。首先,依据设备类型及特点设定初始化风险事件等级分类; 在平台监测过程中,风险等级会随设备状态、事件等信息重新设置,实时动态变化。这样设计更有利于动态识别本地计算机 USB HID设备可能存在的风险,实现设备从插入、使用到拔出这一全生命周期的预警。

HID类设备中,HID键盘或鼠标等设备为系统独占设备,是现今用户正常使用计算机所必备的工具之一,因此,将其定义为最低风险等级——四级; 而常规的有标识的HID设备(如游戏杆等能识别出的有具体厂商号的HID设备或者具有双向数据传输功能的 HID设备),将其风险等级定义为三级; 其他未知的没有标识的 HID设备,由于不确定具体来源,将其风险等级定义为二级; 如果在监测过程中被系统判定为可疑设备,将其风险等级定义为一级。具体设备风险分类如表6所示。

表6 设备风险等级分类Table 6 Device risk classification

4.2.5 功能分析

恶意 USB HID攻击检测防护平台——WHID Defense充分利用了USB HID协议的脆弱点及主流USB HID攻击技术的攻击特点,实现了对恶意USB HID攻击工具的监控与预警,具备兼容性高、智能化高、交互性强、功能完善等特点,具体功能指标如下:

(1) 可以获取本地计算机中的所有USB HID设备,并显示各设备VID、PID等详细信息;

(2) 实时监测USB HID设备流量,获取HID设备数据报表,捕获数据包并存入数据库中;

(3) 针对可疑恶意USB HID设备,结合重放攻击和DoS攻击开启反向干扰模式,干扰设备正常通信;

(4) 实时监控本机计算机所有HID键盘,对所有产生的按键信息进行监控并存入数据库中;

(5) 平台具备三种使用场景,每种场景所提供的防护等级不同,用户可根据实际需要进行选择;

(6) 划定了设备风险等级,实现风险信息的实时显示。

如图13所示为WHID Defense平台运行图。如表7所示为WHID Defense平台与Curtain[35]及USB HID攻击检测算法[25]的功能指标对比。

图13 WHID DefenseFigure 13 WHID Defense

表7 WHID Defense、Curtain、USB HID攻击检测算法功能指标对比Table 7 Comparison of functional indicators of WHID Defense,Curtain,and USB HID attack detection algorithms

5 实验分析

为了验证WHID Defense检测防护平台的功能及性能,本文开展了实验验证工作。本文基于BadUSB、HID漏洞测试平台及WHID平台共三种攻击工具完成 WHID Defense检测防护测试,着重测试了平台按键注入识别、数据捕获与干扰通信三个方面(由于三种身份模式下按键注入识别实现原理类似,本节仅测试办公模式下的按键注入识别用于功能验证)。

结合第2部分相关工作中所述恶意USB检测技术国内外研究现状,尚未有研究人员将恶意 USB HID攻击过程中产生的恶意操作进行完整识别,目前,大多数检测方案处于研究阶段且多为硬件沙箱模式,无市售产品用于对比。为了使测试结果更科学,具有对比性,本节通过在PC-0、PC-1和PC-2中分别安装USB HID攻击检测算法软件、360安全套件和WHID Defense对识别恶意按键注入攻击、捕获目标设备数据流、干扰目标设备正常通信三方面进行了实验验证对比和结果分析。(注: PC-0、PC-1、PC-2均只安装需要测试的软件,未安装其他安全软件)。

5.1 评价指标

WHID Defense平台评价指标主要包括识别恶意按键注入攻击、捕获目标设备数据流、干扰目标设备正常通信三个方面。

(1) 识别恶意按键注入攻击

若检测防护工具可以嗅探恶意按键注入操作或及时提醒用户,则认为该工具具备识别恶意按键注入攻击的能力。对于WHID Defense平台,在办公模式下,若发生按键注入攻击,WHID Defense平台会弹窗提醒并询问用户是否为用户行为,如图 14所示。基于该特点,在评价WHID Defense平台按键注入识别时可以通过记录按键注入攻击数以及按键注入提醒数作为识别结果的衡量依据。

图14 办公模式按键注入攻击预警Figure 14 Office mode key-press injection attack warning

假设攻击平台共发起N次攻击,检测防护工具成功拦截并实现预警M次攻击,拦截率为,漏报率为,则:

(2) 捕获目标设备数据流

目标设备通过HID数据接口进行指令下达或数据交互操作,若检测防护工具可以将流经目标设备的数据流进行本地存储或云端存储,则认为该工具具备捕获目标设备数据流的能力。对于 WHID Defense平台,可以通过查看WHID Defense平台数据监控接口以及数据库数据可以作为平台是否成功捕获目标设备数据流的衡量依据,如图 15所示为WHID Defense捕获的数据。

假设攻击平台共产生P条通信数据,数据库(或本地存储/云端存储)中存储Q条通信数据,捕获率为,丢失率为,则:

(3) 干扰目标设备正常通信

通过 BUSHOUND数据监控软件可以观察流经设备的数据包,若开启通信干扰功能后,目标设备开始不断地流入数据而没有发生新数据发送或新数据接收操作,则认为平台通信干扰功能正常。如图16所示为 BUSHOUND监控的设备数据流,图中可以看出设备在Cmd.Phase为1.1处发送一包数据后,在2.1处接收一包数据,然后于3.1处发送一包数据,此后,平台干扰开启,设备在4.1处接收223包干扰数据且无任何其他新数据发送或接收操作。本实验规定,平台只需完成 100包重复数据发送即认为成功完成一次通信干扰操作。对于WHID Defense平台,其通过重放捕获数据包进行DoS攻击实现干扰目标设备正常通信的功能。

图15 WHID Defense捕获数据(MySQL数据库)Figure 15 WHID Defense capture data (MySQL database)

图16 BUSHOUND监控干扰数据Figure 16 BUSHOUND monitors interference data

5.2 实验数据

本文通过BadUSB、HID漏洞测试平台及WHID平台共生成27000条数据验证了USB HID攻击检测算法、360安全套件和WHID Defense的防护效果,其中,按键注入攻击数据9000条,通信数据18000条,具体分布如图17所示。

图17 攻击数据分布Figure 17 Attack data distribution

按键注入攻击数据依据按键注入特征进行构建,分别通过BadUSB、HID漏洞测试平台及WHID平台发起25种各120次、120次、120次按键注入攻击,以此作为平台按键注入识别功能的检测数据。

通信数据由算法3(如表8所示)生成6000个不同的数据包,然后将各数据包下发至目标设备,并将设备设置为数据回传机制模拟双向通信,即设备收到某一数据包后会将数据包最后一个字节加1,然后进行回传,将以上数据作为平台捕获数据功能的检测数据。

5.3 实验验证及结果分析

实验验证环节中所有计算机(PC-0、PC-1、PC-2)都符合以下环境:

表8 通信数据生成算法Table 8 Communication data generation algorithm

(1) 计算机型号: DELL OptiPlex 7050

(2) 操作系统版本: Windows 10 企业版(版本号1803)

(3) 系统类型: 64位操作系统,基于x64处理器

(4) 处理器: Intel Core i7-6700 CPU 3.40GHz

(5) 运行内存: 16.0 GB

实验验证操作步骤如下:

(1) 分别在PC-0、PC-1、PC-2运行USB HID攻击检测算法软件、360安全套件和WHID Defense;

(2) 通过BadUSB、HID漏洞测试平台及WHID平台分别向PC-0、PC-1、PC-2发起25种各120次、120次、120次按键注入攻击,并记录各检测防护软件预警情况;

(3) 通过BadUSB、HID漏洞测试平台及WHID平台分别向PC-0、PC-1、PC-2各产生6000次数据通信(基于表4.8算法 3),并记录各检测防护软件捕获数据情况;

(4) 通过BadUSB、HID漏洞测试平台及WHID平台分别向PC-0、PC-1、PC-2各产生100次数据通信,查看并记录 BUSHOUND数据监控软件中各设备的数据接收情况。

(5) 实验数据整理与结果分析。

具体实验过程及结果如下所示:

(1) 识别按键注入攻击实验过程及结果分析

① USB HID攻击检测算法验证(基于PC-0)

首先,开启USB HID攻击检测算法,进入按键监控状态,然后通过BadUSB、HID漏洞测试平台及WHID平台发起25种各120次、120次、120次按键注入攻击。统计各个工具发起攻击时USB HID攻击检测算法的预警次数。

实验过程中,BadUSB发起3000次按键注入攻击,该检测算法实现预警1997次,漏报1003次,即USB HID攻击检测算法对BadUSB发起的按键注入攻击拦截率约为66.57%,漏报率约为33.43%。HID漏洞测试平台发起3000次按键注入攻击,该检测算法实现预警2798次,漏报202次,即USB HID攻击检测算法对HID漏洞测试平台发起的按键注入攻击拦截率约为93.27%,漏报率约为6.73%。WHID平台发起3000次按键注入攻击,该检测算法实现预警1883次,漏报1117次,即USB HID攻击检测算法对WHID平台发起的按键注入攻击拦截率约为 62.77%,漏报率约为37.23%。如图18所示为USB HID攻击检测算法按键注入拦截结果。

图18 USB HID攻击检测算法按键注入拦截结果Figure 18 USB HID attack detection algorithm key-press injection interception results

首先,在 PC-1开启 360安全套件,然后通过BadUSB、HID漏洞测试平台及WHID平台发起25种各120次、120次、120次按键注入攻击。统计360安全套件预警次数。经实验验证,360安全套件无法对3个平台的按键注入攻击进行预警。

③ WHID Defense平台验证(基于PC-2)

首先,WHID Defense平台开启办公模式,进入按键监控状态。然后通过BadUSB、HID漏洞测试平台及WHID平台发起25种各120次、120次、120次按键注入攻击。统计各个工具发起攻击时平台弹窗警告的次数。

实验过程中,BadUSB发起3000次按键注入攻击,平台完成了所有按键注入数据的监测,成功拦截攻击并实现弹窗警告 2998次,漏报 2次,即 WHID Defense对 BadUSB发起的按键注入攻击拦截率为99.93%,漏报率为 0.07%。HID漏洞测试平台发起3000次按键注入攻击,平台完成了所有按键注入数据的监测,成功拦截攻击并实现弹窗警告 3000次,漏报0次,即WHID Defense对BadUSB发起的按键注入攻击拦截率为 100%,漏报率为 0。WHID平台发起3000次按键注入攻击,平台完成了所有按键注入数据的监测,成功拦截攻击并实现弹窗警告 3000次,漏报0次,即WHID Defense对BadUSB发起的按键注入攻击拦截率为100%,漏报率为0。如图19所示为WHID Defense按键注入拦截结果。

图19 WHID Defense按键注入拦截结果Figure 19 WHID Defense key-press injects the interception result

综上,三个USB HID攻击平台共发起9000次按键注入攻击,USB HID攻击检测算法实现攻击预警6678次,漏报 2332次,拦截率为 74.2%,漏报率为25.8%; 360安全套件无法拦截按键注入攻击; WHID Defense平台成功监测了所有按键注入数据,成功拦截攻击并实现弹窗警告8998次,漏报2次,拦截率约为99.98%,漏报率约为0.02%。

(2) 捕获目标设备数据流实验过程及结果分析

① USB HID攻击检测算法验证(基于PC-0)

首先,在PC-0运行USB HID攻击检测算法,然后通过BadUSB、HID漏洞测试平台及WHID平台各产生6000次数据通信,USB HID攻击检测算法无法捕获3个平台的数据流。

② 360安全套件验证(基于PC-1)

首先,在 PC-1开启 360安全套件,然后通过BadUSB、HID漏洞测试平台及 WHID平台各产生6000次数据通信,360安全套件无法捕获3个平台的数据流。

③ WHID Defense平台验证(基于PC-2)

首先,WHID Defense平台开启数据监控,然后通过BadUSB、HID漏洞测试平台及WHID平台各产生6000次数据通信。统计数据库中存储的各攻击平台的通信数据量。

实验过程中,数据库分别存储BadUSB、HID漏洞测试平台及WHID平台通信数据量为6000、6000、6000,实现了通信数据全监控,捕获率为 100%,丢失率为0。

(3) 干扰目标设备正常通信实验过程及结果分析

① USB HID攻击检测算法验证(基于PC-0)

首先,在PC-1运行USB HID攻击检测算法,然后通过BadUSB、HID漏洞测试平台及WHID平台各产生100次数据通信,BUSHOUND监控软件中各平台数据流向正常,USB HID攻击检测算法无法干扰目标设备正常通信。

② 360安全套件验证(基于PC-1)

首先,在 PC-1开启 360安全套件,然后通过BadUSB、HID漏洞测试平台及WHID平台各产生100次数据通信,BUSHOUND监控软件中各平台数据流向正常,360安全套件无法干扰目标设备正常通信。

③ WHID Defense平台验证(基于PC-2)

首先,WHID Defense平台开启干扰模式,然后通过BadUSB、HID漏洞测试平台及WHID平台各产生100次数据通信,查看BUSHOUND数据监控软件中各设备的数据接收结果。

实验过程中,BadUSB、HID漏洞测试平台及WHID平台各产生 100次数据通信。其中,WHID Defense成功干扰BadUSB数据通信97次,HID漏洞测试平台98次,WHID平台98次,共成功干扰目标设备293次,成功率为97.7%。

综合以上三个实验结果表明,WHID Defense平台在识别恶意按键注入攻击、捕获目标设备数据流、干扰目标设备正常通信三方面有着较强的检测防护能力,防护手段完善、防护面广。如表9所示为USB HID攻击检测算法、360安全套件、WHID Defense功能评价对比结果。此外,结合用户身份管理与访问控制、风险事件分类与统计等功能构建了一个全面的通用USB HID攻击检测防护平台,为解决USB HID攻击提供了技术思路和系统原型。

表9 USB HID攻击检测算法、360安全套件、WHID Defense功能评价对比结果表

6 结论

以往人们认为恶意攻击总会通过软件或网络发起或传播,只要保证硬件处于物理隔离环境便可保护硬件设备免受攻击从而确保数据安全,但是随着“震网”病毒、COTTONMOUTH-I、BadUSB、USB Rubber Ducky等攻击事件或攻击工具的曝光,研究人员开始思考硬件层次的安全。随着USB接口的提出和广泛使用,越来越多的数据存储在USB设备中或通过USB设备完成数据的迁移和交互,针对USB接口的USB HID攻击技术也逐渐兴起,保护个人计算机免受USB HID攻击正面临着严峻挑战。

USB接口简化和改进了个人计算机与外围设备之间的接口,为数据传输等交互工作提供了便利性,也提高了人们的工作效率,可以说 USB接口就是为了便利性而生。USB接口在提供便利性的同时,也存在很多脆弱点,USB HID攻击正是利用这些脆弱点展开了通过硬件接口进行恶意操作和数据密取等一系列破坏性操作。因此,研究USB HID攻击的攻击特性,并研究相应的检测防护技术迫在眉睫。

本文通过对 USB协议进行研究,提出了 USB协议中存在的 4个脆弱点。通过研究国内外主流USB HID攻击工具提出了USB HID攻击模型,并以此为原型提出了新型的检测防护思想,设计了恶意USB HID攻击检测防护平台,为研究人员研究基于HID的USB设备安全技术提供了理论模型和实验验证平台。

随着USB HID攻击技术正朝着高隐蔽性、高速率、高集成方向发展,研究更完善的USB设备安全技术还有很长的路要走。以下是针对本文研究内容存在的不足以及未来研究构想提出的几点展望,主要概括如下:

(1) 按键间隔识别

由于按键注入攻击具有快速注入的特点,与正常用户按键间隔差异明显,因此,可以通过构建“按键键值间隔索引库”,引入机器学习的方法构建一个智能检测比对模型用以区分按键注入攻击和正常按键,同时,随着用户按键录入数据的增多,该模型可以自主学习用户按键习惯,从而使识别结果更科学。开展本部分工作的前提是收集具有代表性、广泛性的大量按键数据。

(2) 多设备监控

目前 WHID Defense平台只能实现单设备实时监控,随着计算机功能的增强,越来越多的 USB外设成为日常工作的必要组成设备,因此,可以研究对多设备的实时监控,保证个人计算机安全。

根据以上分析,基于HID的USB设备安全技术在按键间隔识别和多设备监控方面还有很大的研究空间,也有很多问题亟待解决。这需要研究人员不断深入分析和研究 USB HID技术,借助新兴技术,不对完善USB HID攻击检测防护技术,保护个人隐私、商业秘密、政府机密不受侵害。

猜你喜欢
按键键盘漏洞
漏洞
你知道手机拨号键盘上为什么要有*和#吗?
键盘猫
基于有限状态机的按键检测程序设计
Cлово месяца
ikbc R300机械键盘
按键消抖在单片机和FPGA实验教学中的应用
三明:“两票制”堵住加价漏洞
一种多方向导光按键结构设计
漏洞在哪儿