2024年2月19日发(作者:)
BadUSB攻击原理、类型及其侦查防范措施-刑事侦查学论文-法律论文-法学论文
——文章均为WORD文档,下载后可直接编辑使用亦可打印——
摘 要: BadUSB是2014年黑帽大会提出的恶意硬件攻击技术,其利用USB设备固件漏洞入侵计算机系统,现有的安全系统无法防御,严重威胁了用户的安全。为防范BadUSB入侵及侦查此类案件,研究其发展历史,以BadUSB攻击原理、攻击类型为基础制作BadUSB,分析BadUSB的侦查及防范措施,为公民和公安机关了解BadUSB提供参考。
随着硬件技术的飞速发展,USB设备以其灵活性高、兼容性 引言
关键词: BadUSB; 攻击原理; 攻击类型; 侦查防范;
广深受人们的喜爱,USB接口是计算机系统上使用最多、最通用的接口,这也因此受到黑客们的关注,从早期的在USB设备根目录存放
文件传播病毒,到HID攻击及现在的BadUSB,USB设备一直都是黑客们研究的重点对象。USB设备的低成本、低门槛已经使得HID攻击随处可见,不难预见Bad USB亦会飞速发展,所以对Bad USB的研究十分有必要。
在早期的互联网发展中,计算机之间的数据交换受限于网络 (一)USB自动运行攻击
一、BadUSB的发展
带宽和存储介质容量,为了方便应用,在可移动存储介质(软盘、U盘等)中加入自动运行的功能,在可移动存储介质根目录下添加和文件,实现自动播放的功能。基于此,将正常的文件和的病毒文件存放在USB根目录,实现对计算机系统的入侵。2011年,微软发布补丁修复,阻断USB自动运行功能,而后USB自动运行攻击进化为USB伪装光盘自动运行入侵。制作方法是将USB量产伪装为CD-ROM光驱,将文件和病毒文件制作成ISO文件写入U盘,这即是Bad USB的雏形。
随着信息技术的发展,自动播放功能逐渐退出历史舞台,可 (二)USB HID攻击
移动存储介质飞速发展,HID协议成为USB设备常用的协议,HID协议是一种计算机协议,约定了计算机在完成通讯过程时所要遵守的规则,HID协议使得设备之间无需安装驱动就能进行交互。USB
HID(Human Interface Device,人机交互设备,如键盘、鼠标等)攻击即是将U盘模拟成鼠标或者键盘,并通过虚拟键盘输入集成到U盘固件中的指令和代码进行攻击,插入U盘后便有一个无形的键盘输入指令进行恶意操作。USB HID攻击最大的特点就是恶意代码隐藏在固件之中,且具有固定的设备,如Arduino、USB RUBBER DUCKY和Teensy
USB。
在2014年美国黑帽大会上,BadUSB由安全研究人员Jakob Lell (三)BadUSB攻击
和Karsten Nohl提出,并展示了攻击方法,可以说现如今几乎所有USB设备都有成为BadUSB的风险。不同于HID攻击将恶意代码写入Tennsy或者Arduino leonardo U盘芯片,BadUSB则是通过利用USB协议的漏洞,对USB设备的固件反编译,改写USB设备的固件系统进行攻击,并不需要特别定制,只要是可编译的USB设备都有成为BadUSB的可能,BadUSB与HID攻击特点的对比如图1所示。
(一)USB设备内部结构
二、BadUSB攻击原理
以U盘为例,U盘是由USB端口、主控芯片、FLASH(闪存芯片)、底板及外壳构成。其中主控芯片相当于U盘的大脑,负责管理部件和下达指令,与计算机交互,主控芯片实际上是一个低功耗计算机,它通过从内存芯片加载基本的引导程序来启动,类似于计算机系统的硬盘驱动器包含一个隐藏的主引导记录,如图2所示。
USB设备插入计算机系统之后,需要经过枚举过程才能与计 (二)BadUSB攻击原理
算机进行通信,枚举过程即是向主机申请端口地址,发送设备描述符的过程。在这个过程中,USB设备的信息是由自己提供的,具有可变性。
USB设备漏洞原理:(1)由于USB设备枚举过程中,USB设备信息具有可变性,即存在USB设备具有多个输入输出的特征,并可以注销再次描述为其他的设备。(2)枚举过程中,有数据通信交换的
过程,在USB协议中并没有校验过程,这会导致黑客可以随意的添加恶意数据来攻击计算机系统,如图3所示。
根据USB设备的漏洞原理,黑客将恶意代码添加至USB设备
的固件之中,而安全防护软件对USB设备的正常通信没有任何防御,致使黑客可以轻而易举的入侵计算机系统,造成巨大的损失,如图4所示。
Bad USB属于硬件设施,入侵计算机系统需要对目标进行物 三、BadUSB攻击类型
理接触,而这种物理接触一般都是利用社会工程学的方式,如扫码赠送BadUSB设备,向目标邮寄BadUSB设备,在目标附近丢弃BadUSB
设备 使其捡到,假装上门维修等等方式,方式多种多样,但目的都是和目标计算机接触,入侵计算机系统。
利用社会工程学的方式将键盘模拟方式的BadUSB设备接入 (一)键盘模拟方式
计算机,此时计算机系统会将BadUSB识别成一个键盘,从而执行从BadUSB输入的恶意指令,并免疫病毒查杀,从而在计算机系统内开后门提升权限。
将USB设备伪装成交换机,包含DNS服务器地址,但没有默 (二)USB设备篡改Windows系统的DNS设置
认网关,会使得网络流量仍然能通过正常的Wi-Fi连接,但是所有的DNS查询会发送到USB制定的服务器,导致重定向攻击。
(三)USB引导扇区病毒
当U盘被改写成启动盘时,在U盘的固件中反编译一个集成引导扇区病毒的系统镜像,在使用BIOS启动U盘的系统时,先启动固件中隐藏的病毒系统,从而感染引导计算机系统。
首先寻找已知的具有BadUSB漏洞的USB型号,重复重置更 (一)制作原理
四、BadUSB制作分析
新USB固件过程,使用抓包软件获取其通信过程,获取USB设备固件命令。其次对USB设备固件进行反编译得到固件的源代码。最后将写好的恶意代码脚本编译为二进制文件.bin,使用烧录器将USB设备镜像同恶意代码文件一同烧录至固件,具体流程如图5所示。
所需U盘芯片:Chip 2303、Chip 2307、Chip 2309;U盘类型: (二)制作BadUSB
东芝TOSHIBA THV3SZK-16G-BK;U盘制作环境:.NET 4.0,编译工具Visual Studio 2010 Express,SDCC(Small Device C Compiler,U盘单片机编译器),Psychson项目文件。制作步骤如下:
因已知芯片类型,直接编写恶意代码,恶意代码脚本语言为 1. 编写脚本
Ducky Script。Ducky Script脚本语法的每个命令驻留在一个新的行上,命令均为大写字母,大多数命令调用击键、键组合或文本串,而有些则提供延迟或暂停。关键代码如下:
2. 编译烧录
将恶意代码,写入自定义镜像文件,附加正常的镜像写入闪存中,关键代码如下:
实验环境:Windows7操作系统,i3处理器PC电脑两台, 3. 实验验证
BadUSB一个。在靶机上插入BadUSB,便获得管理员账号Local000,badusb。打开靶机的控制面板-用户账户,发现已有Local000
的管理员账户,说明BadUSB入侵成功。
根据BadUSB的制作过程分析,验证了BadUSB是通过利用USB协议的漏洞,对USB设备的固件反编译,改写USB设备的固件系统进行攻击。同时在攻防练习中,Bad USB拿下目标主机只需要5秒钟,危害不言而喻。
Bad USB的产生必定是人为制作,USB设备的来源可以提供许 1. 追根溯源
(一)侦查策略
五、BadUSB侦查与防范对策
多有效线索。BadUSB设备以U盘为主,一般在购物网站购买,因BadUSB具有消耗品性质,故并非单个购买,且U盘芯片具有固定的型号,芯片具有可编译的特性,如Phison 2303(2251-03),由此可根
据购物网站的商家调查收货地址,以犯罪嫌疑人居住地为收货地址展开调查,锁定嫌疑人。
Bad USB在受害者计算机系统上使用,必定会安装相应的USB 2. 查找痕迹
驱动,可通过查找受害者计算机系统U盘驱动来确定Bad USB驱动型号以及安装时间,32位的计算机系统USB驱动地址为:C:WindowsSystem32drivers,如图6所示,并通过右键属性查看时间戳、数字签名等信息,以此可查找犯罪嫌疑人计算机系统相应的USB驱动及其U盘来固定证据,锁定嫌疑人。
Windows日志文件记录着Windows系统运行的每一个细节, 3. 日志查看
可以此寻找犯罪嫌疑人的信息,从安全日志中寻找管理员账户的增加和删除;在系统日志可查询计算机系统上传文件的信息和端口的开启信息;在FTP日志中寻找上传FTP的地址信息;在程序日志中寻找邮件发送的地址信息等,可将系统日志导出至日志管理软件,方便查找线索,同时可从防火墙查看出端口访问记录,找出线索。
Bad USB入侵计算机系统后,使用取证软件对计算机系统进 4. 取证侦查
行数据恢复、侦查取证。查看邮件程序收发信息、DNS的篡改信息、服务器上传文件信息等,对之前的侦查措施有查遗补缺的作用,也可对犯罪嫌疑人的计算机系统进行取证,查找网页历史记录、购物软件等是否存在关于Bad USB的相关信息。
Bad USB入侵计算机系统必须要和计算机接触,显示器、机 5. 手印视频侦查
箱都容易留下手印痕迹,可使用磁性指纹刷显现指纹,再进行指纹对
比,查找犯罪嫌疑人。同时,调取相应监控,以计算机系统BadUSB驱动安装时间为基数,核查监控录像,缩小范围,寻找嫌疑人线索。
Bad USB的入侵都是在命令行上运行恶意脚本,停用命令行 1. 停用命令提示符
(二)防范措施
可以阻断BadUSB对恶意脚本的调用,从而在根源上防范BadUSB。停用命令提示符步骤如下:打开运行窗口,输入命令并按回车,从打开的组策略编辑界面中,依次展开用户配置-管理模块-系统项,从右侧找到阻止访问命令提示符项,右击并选择编辑项。从打开的阻止访问命令提示符界面中,勾选已启动项,同时设置禁用命令提示符脚本处理,点击确定即可完成设置。
2. 命令行记录工具
Win10下命令行工具PowerShell自带记录命令行命令功能,命令行记录功能虽然不能起到防范作用,但可以做到最大程度的挽回损失,并根据BadUSB脚本反追踪黑客。由此可以将启动CMD命令行设置为启动PowerShell,并输入命令$MaximumHistoryCount=10000,使其记录PowerShell输入的10000行命令,并通过Invoke-History来查看已经输入的命令,由此实现命令行记录功能。
USB设备通常没有唯一的序列号,但可使用市场上的设备防 3. USB设备白名单
护软件如Endpoint Protector、USB Block等对USB设备进行授权设置白名单并进行防护。例如USB Block可以针对每一个USB设备进行授权,只有在白名单中的设备才能正常使用。而未经授权的USB存储设备则无法使用,同时也可以阻止其他USB设备的插入,当其他USB设备插入时,需要手动允许,由此可防范BadUSB的入侵。
4. 磁盘加密
磁盘加密可以防止计算机系统上的数据泄露,也可以一定程度上阻止Bad USB的入侵。如Windows自带的Bit Locker软件,使用TPM芯片加密保护Windows操作系统和用户数据,使得计算机系统上的数据无法被上传以及篡改。
Bad USB就是利用USB设备固件更新的漏洞制作,禁止对USB 5. 禁止USB固件更新
设备的更新及使用时检查USB设备的固件可以简单有效的对BadUSB进行防护。
安全防护软件如防火墙、360安全卫士、金山毒霸等能有效 6. 安装安全防护软件
的限制计算机软件权限提升以及DNS的篡改,安装安全防护软件非常有必要。
六、结语
Bad USB是一种新型的恶意软硬件结合的USB设备攻击技术,有多种入侵路径,比之HID攻击威胁更大。一旦通过USB外设或其他途径感染,恶意代码可以隐藏在外设中,避免被系统清除,危害巨大,但并不是无法防范和侦查的,只要提高安全意识,就能防范于未然。与此同时,BadUSB也有很多积极的用法,如U盾、共享加密U盘等等,更值得去研究。
[1] 姜建国,常子敬,吕志强,董晶晶. USB HID攻击与防护技术 参考文献
综述[J].信息安全研究, 2017(02):129-138.
[2] 赵司琦,俞继伟,王广田,谢怡宁.基于Arduino的Tennsy Bad
USB改良型共享云盾的设计与研究[J].电脑知识与技术,2017(36):36-38+45.
[3] 吕志强,刘,常子敬,张宁,姜建国.恶意USB设备攻击与防护
技术研究[J].信息安全研究, 2016(02):150-158.
[4] 唐文誉,王轶骏,薛质.高防护环境下的恶意USB设备攻防研究[J].通信技术, 2017(01):144-150.


发布评论