生活中,USB接口可以說無處不在,路由器、打印機、投影機、PC電腦、臺式機等等,且使用頻率極高。當然,作為硬件設備的輸入輸出接口,其安全性也至關重要。近日,研究人員在Windows、Linux、macOS等系統使用的USB驅動中,發現了26個新漏洞。
 
其實,已有很大一部分的用戶接受了“USB設備不安全”這一事實。我們在之前的文章中,也曾多次介紹過與USB有關的安全事件,例如讓數十億USB設備“不眠”的BadUSB漏洞,從鍵盤、打印機再到U盤,無一幸免。只是此次,漏洞數量眾多,且危及多個主要操作系統。
 
待進一步了解后得知,該科研團隊是由普渡大學的Hui Peng、瑞士聯邦理工學院洛桑分校的Mathias Payer所帶領,26個新漏洞都是通過他們創建的新工具USBFuzz發現的。這類工具被團隊成員稱之為“模糊器”(fuzzer)。
 
據悉,模糊器是多款應用程序的集合,能夠幫助安全研究人員將大量無效、意外或者隨機數據輸入其他應用程序。之后,安全研究人員分析被測試軟件的行為方式,以發現新的bug,其中一些可能被惡意利用
 
為了測試USB驅動,Peng和Payer共同開發了USBFuzz,這是一種專門用于測試現代操作系統的USB驅動堆棧的新型模糊器。據研究人員介紹,其核心部分,USBFuzz使用軟件仿真的USB設備來向驅動程序提供隨機的設備數據(當他們執行IO操作時)。
 
此外,研究團隊還表示:“由于仿真的USB設備是在設備層面工作的,因此將其移植到其他平臺上是很直接的。”這使得研究團隊不僅可以在Linux上測試USBFuzz,還可以在其他操作系統上進行測試。
 
研究人員在Linux內核的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。
 
測試后,研究團隊表示在USBFuzz的幫助下,團隊一共發現了26個新bug。包括在FreeBSD中發現的一個,在MacOS中發現了三個(兩個導致計劃外重啟,一個導致系統凍結),在Windows 8和Windows 10中發現了四個(導致死亡藍屏)。
 
相較之下,最嚴重的是針對Linux系統的,共有18個。其中16個是針對Linux各個子系統(USB core, USB sound和net-work)的高危內存漏洞,此外還有1個是針對Linux的USB。
 
對此,Peng和Payer表示,他們向Linux內核團隊報告了這些bug,并提出了補丁建議,以減輕 "內核開發人員在修復報告的漏洞時的負擔"。與此同時,研究團隊也表示,在這18個Linux漏洞中,有11個自去年首次報告以來,他們收到了補丁。在這11個bug中,有10個還收到了CVE,這是一個被分配給重大安全漏洞的唯一代碼。