科學家發(fā)現(xiàn)26個USB漏洞:Linux有18個 Windows有4個
近日多名學術(shù)界人士表示,在Linux、macOS、Windows和FreeBSD等操作系統(tǒng)所使用的USB驅(qū)動堆棧中發(fā)現(xiàn)了26個新的漏洞。這支科研團隊由普渡大學的Hui Peng、瑞士聯(lián)邦理工學院洛桑分校的Mathias Payer帶領(lǐng),所有漏洞都是通過他們創(chuàng)建的新工具USBFuzz發(fā)現(xiàn)的。

圖片來自于 WiKiMedia
這類工具被團隊成員稱之為“模糊器”(fuzzer)。模糊器是多款應(yīng)用程序的集合,能夠幫助安全研究人員將大量無效、意外或者隨機數(shù)據(jù)輸入其他應(yīng)用程序。然后,安全研究人員分析被測試軟件的行為方式,以發(fā)現(xiàn)新的bug,其中一些可能被惡意利用。





為了測試USB驅(qū)動,Peng和Payer共同開發(fā)了USBFuzz,這是一種專門用于測試現(xiàn)代操作系統(tǒng)的USB驅(qū)動堆棧的新型模糊器。研究人員表示:“其核心部分,USBFuzz使用軟件仿真的USB設(shè)備來向驅(qū)動程序提供隨機的設(shè)備數(shù)據(jù)(當他們執(zhí)行IO操作時)。”
團隊表示:“由于仿真的USB設(shè)備是在設(shè)備層面工作的,因此將其移植到其他平臺上是很直接的。”這使得研究團隊不僅可以在Linux上測試USBFuzz,還可以在其他操作系統(tǒng)上進行測試。
研究人員表示,他們在以下平臺上測試了USBFuzz。
- Linux內(nèi)核的9個最新版本:v4.14.81、v4.15、v4.16、v4.17、v4.18.19、v4.19、v4.19、v4.19.1、v4.19.2和v4.20-rc2(評估時的最新版本)。
- FreeBSD 12 (最新版本)
- MacOS 10.15 Catalina(最新版本)
- Windows(8和10版本,并安裝了最新的安全更新)
在測試之后,研究團隊表示,在USBFuzz的幫助下,他們一共發(fā)現(xiàn)了26個新的bug。

研究人員在FreeBSD中發(fā)現(xiàn)了一個bug,在MacOS中發(fā)現(xiàn)了三個(兩個導(dǎo)致計劃外重啟,一個導(dǎo)致系統(tǒng)凍結(jié)),在Windows 8和Windows 10中發(fā)現(xiàn)了四個(導(dǎo)致死亡藍屏)。
最嚴重的是針對Linux的,總共有18個。其中16個是針對Linux各個子系統(tǒng)(USB core, USB sound和net-work)的高危內(nèi)存漏洞,此外還有1個是針對Linux的USB
host主控驅(qū)動,還有一個是USB攝像頭驅(qū)動。
Peng和Payer表示,他們向Linux內(nèi)核團隊報告了這些bug,并提出了補丁建議,以減輕 "內(nèi)核開發(fā)人員在修復(fù)報告的漏洞時的負擔"。
研究團隊表示,在這18個Linux漏洞中,有11個自去年首次報告以來,他們收到了補丁。在這11個bug中,有10個還收到了CVE,這是一個被分配給重大安全漏洞的唯一代碼。