新的fuzzing工具在Linux Windows macOS和FreeBSD中发现了26个USB漏洞

互联网2020-06-04 10:34:20
最佳答案学者们表示,他们在Linux、macOs、Windows和FreeBSD等操作系统使用的USB驱动程序堆栈中发现了26个新的漏洞。该研究小组由普渡大学的彭慧和瑞士洛桑联邦理工学院的马提亚·帕耶组成,

学者们表示,他们在Linux、macOs、Windows和FreeBSD等操作系统使用的USB驱动程序堆栈中发现了26个新的漏洞。

该研究小组由普渡大学的彭慧和瑞士洛桑联邦理工学院的马提亚·帕耶组成,他们说,所有的漏洞都是通过他们发明的名为USBFuzz的新工具发现的。

安全专家称该工具为fuzzer。Fuzzers是一种应用程序,它允许安全研究人员将大量无效、意外或随机的数据作为输入发送给其他程序。

然后,安全研究人员分析被测试软件的行为,以发现新的漏洞,其中一些可能会被恶意利用。

为了测试USB驱动程序,彭和佩耶开发了USBFuzz,这是一种新的fuzzer,专门用来测试现代操作系统的USB驱动程序堆栈。

“在它的核心,USBFuzz使用一个软件模拟的USB设备向驱动程序提供随机设备数据(当他们执行IO操作时),”研究人员说。

“由于模拟的USB设备在设备级别上工作,将其移植到其他平台是非常简单的。”

这使得研究团队不仅可以在大多数fuzzer程序工作的Linux上测试USBFuzz,还可以在其他操作系统上测试USBFuzz。研究人员说,他们测试了USBFuzz:

在测试之后,研究团队表示,在USBFuzz的帮助下,他们总共发现了26个新漏洞。

研究人员在FreeBSD中发现了一个漏洞,在MacOS中发现了三个漏洞(两个导致意外重启,一个导致系统死机),在Windows 8和Windows 10中发现了四个漏洞(导致蓝屏死机)。

然而,在Linux中发现了绝大多数的错误,并且是最严重的错误——总共18个。

其中16个是在不同Linux子系统(USB核心、USB声音和网络)中具有高安全性影响的内存bug,一个驻留在Linux USB主机控制器驱动程序中,最后一个驻留在USB摄像机驱动程序中。

彭和帕耶说,他们向Linux内核团队报告了这些漏洞,并提出了一些补丁,以减少“内核开发人员在修复所报告的漏洞时的负担”。

研究小组称,在18个Linux漏洞中,有11个自去年首次报告以来已收到补丁。这11个错误中的10个还收到了CVE,一种分配给主要安全缺陷的独特代码。

预计在不久的将来,还会有其他7个问题的补丁。

研究人员说:“剩下的漏洞可分为两类:一类是仍在被封锁或正在被披露的漏洞,另一类是其他研究人员同时发现和报告的漏洞。”

帕耶昨天发表了研究小组的白皮书草稿,描述了他们在USBFuzz上的工作。彭和帕耶计划在2020年8月的Usenix安全研讨会虚拟安全会议上展示他们的研究成果。

过去也做过类似的工作。2017年11月,一名谷歌安全工程师使用了一款名为syzkaller的谷歌fuzzer软件,发现了影响Linux内核USB驱动程序的79个bug。

Peng和Payer说,USBFuzz优于以前的工具,比如vUSBf、syzkaller和usb-fuzzer,因为他们的工具让测试人员对测试数据有更多的控制,并且可以跨操作系统移植,而不像上面所有的工具,通常只能在*NIX系统上工作。

在彭和Payer的Usenix谈话之后,USBFuzz计划在GitHub上以开源项目的形式发布。回购将在这里提供。

彭和佩耶的论文题为“USBFuzz:一个通过设备模拟模糊USB驱动程序的框架”,可在此处和此处获得PDF格式。

免责声明:本文由用户上传,如有侵权请联系删除!