愛伊米

谷歌研究團隊公開曝光Chrome OS高危嚴重性USB漏洞

IT之家 5 月 27 日訊息,據 Neowin 報道,Project Zero 是 Google 的團隊,負責發現不同產品中的安全漏洞,然後私下將它們報告給相應的供應商。並提供了 90 天的最後期限,以便在問題公開之前對其進行修補。在某些情況下,也可能會提供 14 天的寬限期。

谷歌研究團隊公開曝光Chrome OS高危嚴重性USB漏洞

Google Project Zero 此前曾報告過 Google 自己的產品以及屬於其他產品的重大問題,例如 Windows、iPhone、Qualcomm Adreno GPU、GitHub 等。現在,在相關團隊未能在規定的 90 天內修復之後,該團隊公開披露了 Chrome OS 中的一個錯誤 Bug。

問題涉及 Chrome OS 在裝置鎖定時如何處理 USB 裝置。本質上,Chrome OS 使用 USBGuard 為 USB 裝置配置允許列表和阻止列表。但是,此框架的錯誤配置可能導致未經身份驗證的 USB 裝置能夠訪問 PC 的核心和儲存。

正如 Google Project Zero 安全研究員 Jann Horn 所描述的那樣,Chrome OS 中的 USBGuard 有一個阻止列表,它不會在鎖定的螢幕上使用特定的類介面描述符來驗證 USB 裝置。但是,在此驗證之後,將允許所有其他介面。

這意味著,雖然未經身份驗證的 USB 裝置將在鎖定螢幕上被正確阻止,但其他裝置可以模擬大容量儲存裝置,修改攻擊者核心使其不顯示為 USB 裝置,並透過身份驗證。這是因為 USB 類對核心無關緊要,因此它也允許從看似經過身份驗證的裝置進行修改。Jann Horn 指出:

“除了不屬於這些 USB 介面類裝置的驅動程式中存在大量攻擊面的問題之外,這種方法還有另一個問題:核心通常不關心裝置聲稱屬於哪個 USB 類。USB 驅動程式傾向於工作的方式,即使對於標準化協議,驅動程式以低優先順序指定它希望使用適當的 USB 介面類繫結到符合標準的裝置,但也以高優先順序指定它希望根據 Vendor ID 和 Product ID 繫結到特定的 USB 裝置,而不關心它們的 USB 介面類。

[。。。] 如果我們使用具有適當硬體的 Linux 裝置(我使用的是 NET2380 開發板,但你也可以使用解鎖的 Pixel 手機或 Raspberry Pi Zero W 或類似的東西)來模擬 USB 大容量儲存裝置,使用 (this),並在攻擊者核心中修補一行,使其聲稱是廣告牌,而不是儲存裝置。”

此問題被標記為高危嚴重性漏洞,並於 2 月 24 日私下向 Chrome OS 團隊報告。然而,在對該漏洞進行分類後,該團隊將其指定為低嚴重性漏洞,並在 3 月 1 日表示將透過匹配來解決問題基於驅動程式而不是類介面描述符。5 月 11 日,Chrome OS 團隊提供了進度更新,但由於無法在規定的 90 天內修復該漏洞,該問題於 5 月 24 日被公開曝光。

目前尚不清楚補丁何時推出,但需要注意的是,這是一個本地漏洞,需要攻擊者手動插入 USB 來篡改裝置及其核心,不能被遠端利用。