值得注意的是,此漏洞填補了 2019 年「checkm8」BootROM 漏洞的空白 — checkm8 涵蓋 A5 至 A11 晶片,而 usbliter8 則將攻擊範圍延伸至 A12/A13 世代。A11 晶片因 USB 驅動程式設有手動指標重置機制而免疫;A14 及更新晶片則因在 SecureROM 中正確配置了 USB DART 記憶體保護機制,因此亦不受影響
。
環形緩衝區指標錯配:USB 控制器使用 DMA 緩衝區儲存最多三個連續的 USB Setup 封包。每次寫入後,硬體指標會依實際資料長度遞增;但在處理完第三個封包後,控制器會將指標固定遞減 24 個位元組,以重置到緩衝區起點。
超小封包觸發緩衝區下溢:控制器可接收小於標準 8 個位元組的封包,但始終以 4 位元組對齊的方式儲存。當收到此類超小封包時,指標的遞增量(實際寫入大小)與固定的 24 位元組遞減量不一致,導致產生 12 位元組步進的緩衝區下溢(buffer underflow) — 指標實際上在記憶體中「向後行走」。
程式碼執行:在 A12 裝置上,攻擊者可覆寫 USB 任務堆疊上的 LR(連結暫存器),當排程器切回 USB 任務時即可劫持程式計數器(PC),直接獲得程式碼執行能力。在 A13 裝置上,由於加入了 PAC(指標認證碼)與堆元數據校驗,攻擊者需進行多步驟的複雜繞過操作才能奪取處理器控制權。
BootROM(SecureROM)是裝置開機時執行的第一段程式碼,它在晶片製造階段便被燒錄於唯讀記憶體(ROM)中,出廠後即無法更改。由於 usbliter8 的根源是 USB 控制器的硬體設計缺陷,而非軟體錯誤,因此 Apple 無法透過任何 iOS 或韌體更新來修補受影響的裝置
。
Paradigm Shift 在官方部落格中明確指出:「A14 及後續世代在 SecureROM 中正確配置了 DART,使該漏洞無法被利用」。換言之,受影響裝置的唯一有效防護措施,便是升級至搭載 A14 或更新晶片的硬體
。
儘管 usbliter8 是一個無法修補的嚴重漏洞,但其實際利用門檻相當高:
成功利用漏洞後,攻擊者可以臨時降低裝置的安全設定、啟動未經簽署的軟體,並且裝置的 USB 序列號會留下「PWND」標記,代表已被攻破。這些特性使得 usbliter8 在越獄社群中具有高度價值,但對一般使用者的日常風險相對有限。
Paradigm Shift 表示已在公開披露前通知 Apple。由於漏洞存在於硬體層級,Apple 無法提供軟體修補程式,目前最直接的建議是:若使用者重視裝置底層安全,應考慮升級至搭載 A14 或更新晶片的裝置
。
對於仍在使用 iPhone XS 或 iPhone 11 系列的使用者,只要避免將裝置交給他人、不連接來路不明的 USB 設備,實際遭受攻擊的機率仍然極低。
Comments
0 comments