早在2014年的Black Hat大会上,安全研究人员就公布了名为“Bad USB”的攻击方法,只需将USB设备插入到PC或者主机上,便可通过编程的方式对这个设备进行操作,模拟键盘实现攻击。
近年来,利用USB协议和接口入侵电脑的事件也时常见诸报端。在日前举办的第四届互联网安全领袖峰会(简称“CSS2018”)的腾讯安全探索论坛(TSec)上,来自腾讯安全玄武实验室的安全研究员马卓分享了团队在USB漏洞挖掘领域中的最新研究成果。独特的无硬件漏洞挖掘方式引起了现场观众的兴趣。经过百人大师品鉴团的评审,该议题被授予专业奖。
(腾讯安全玄武实验室安全研究员马卓)
高效率无硬件检测 发现漏洞多达112个
据马卓介绍,腾讯安全玄武实验室自2015年起便开始关注USB安全问题,团队以Windows Update上的驱动漏洞挖掘为重点进行研究。
由于是从系统层面来检视USB驱动漏洞,这些驱动将对应的设备种类和数量较多,传统一对一的结合硬件的人工检测方式无法满足大规模的漏洞挖掘需求。最终,马卓决定采用构造无硬件环境进行大规模的模糊测试(Fuzzing)来挖掘漏洞。
基于USB协议中的VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)编号规则,借助微软驱动数据库,研究人员共获得3978个可通过Windows Update自动安装的USB驱动,涵盖了当前最主流的Win7和Win10系统的X86和X64版本。
为对这些驱动进行的模糊测试,腾讯安全玄武实验室的安全人员用一套代码来模拟整个USB协议,使用QEMU模拟主机,使用USB Redirect协议来模拟硬件。
经过模糊测试,玄武实验室的研究人员发现了上百个漏洞,研究人员对这些漏洞进行了详细的研究分析,并以此申请了112个CVE编号(Common Vulnerabilities & Exposures,公共漏洞和暴露)。
从系统驱动出发,为USB防护提供新思路
计算机等智能设备与外界数据的交互主要以网络和USB接口为主,虽然来自网络通信 的攻击和威胁与日俱增,但各类网络防火墙、入侵检测系统和杀毒软件也在不断提高自己的防护水平。
而针对USB接口的防护和检测措施一直以对USB存储设备的检测和文件病毒查杀为主,对于USB存储设备以外的很多USB设备(如键盘、 鼠标等设备)则直接信任,这也就为USB攻击提供了缺口。目前,针对USB大容量存储设备的扫描与检测大都集成在杀毒软件、入侵检测系统中。这些方案在实际应用过程中要么牺牲了便利性,要么只能针对特定的USB设备。
有业内人士表示,在可预见的将来,USB攻击虽然仍将以硬件为载体向目标设备注入恶意软件这种软硬结合方式为主,Bad USB就是其代表。但攻击者对于USB枚举类型变化的利用会使攻击过程操作越来越隐蔽,如果攻击者再对操作系统的驱动程序漏洞加以利用,其攻击将更难防御。
此次腾讯安全玄武实验室从Windows Update中的驱动漏洞入手,不仅发现了针对Windows的新的攻击面,也为USB接口的防护和检测提供了一种新思路。在可能遇到的攻击来临之前,从系统内部排查漏洞,未雨绸缪。
版权声明: