IT之家 6 月 19 日消息,安全公司 Paradigm Shift 昨日(6 月 18 日)發(fā)布博文,宣布在蘋果 A12 和 A13 芯片上發(fā)現(xiàn) BootROM 漏洞,將其命名為 usbliter8。

在受影響機型方面,該漏洞影響搭載 A12 和 A13 芯片的設備,涵蓋 iPhone XS、iPhone XS Max、iPhone XR 和 iPhone 11 系列,此外搭載 S4 和 S5 芯片的多款 Apple Watch 設備也受到影響:
11-inch iPad Pro (第一代)
11-inch iPad Pro (第二代)
12.9-inch iPad Pro (第三代)
12.9-inch iPad Pro (第四代)
Apple Watch SE (第一代)
Apple Watch Series 4
Apple Watch Series 5
iPad (第 9 代)
iPad (第 8 代)
iPad Air (第 3 代)
iPad mini (第 5 代)
iPhone 11
iPhone 11 Pro
iPhone 11 Pro Max
iPhone SE (第 2 代)
iPhone XR
iPhone XS
iPhone XS Max
根據(jù)博文內容,該漏洞利用蘋果 A12 和 A13 芯片內置的 DWC2 USB 控制器硬件 Bug 與特定固件配置缺陷,實現(xiàn)應用處理器啟動鏈的完全攻陷。
該控制器在接收 USB Setup 包時采用環(huán)形 DMA 緩沖機制:每接收一個 8 字節(jié) Setup 包,DMA 地址指針遞增 8 字節(jié);但接收第四個包時,控制器會嘗試將指針回退 24 字節(jié),從而實現(xiàn)環(huán)形復位。
然而控制器也接受小于 8 字節(jié)的包(但始終按 4 字節(jié)對齊存儲),導致指針遞增量(實際寫入大?。┡c固定遞減量(24 字節(jié))不匹配,形成 12 字節(jié)步進的緩沖欠載(buffer underflow)原語(primitive)。
在 A12 上 ds,dUSB 控制器的 DMA 緩沖區(qū)位于堆中,緊鄰 USB 任務棧。通過欠載原語覆蓋棧上保存的 LR 寄存器,當調度器切換回 USB 任務時,即可劫持 PC。
A13 則因引入 PAC(指針認證)和堆元數(shù)據(jù)校驗而復雜化。攻擊者需分多步繞過:
首先覆蓋 DART(設備地址重映射表)相關數(shù)據(jù)結構,利用 DART 清理例程中的零寫入原語清空全局 DART 指針,避免堆校驗崩潰;
隨后利用 MMIO 寄存器寫入 0xF,覆蓋全局 panic 計數(shù)器,使后續(xù) panic 進入無限循環(huán)而非重啟;
再精確控制 DMA 寫入時機,在 USB 任務運行時覆寫其任務結構中的臨界區(qū)深度字段,觸發(fā)帶 IRQ 的 panic 進入無限循環(huán);
最后在無限循環(huán)中繼續(xù) DMA 寫操作,覆蓋 BSS 段中的 USB IRQ 處理函數(shù)指針,獲得完全 PC 控制。
獲得代碼執(zhí)行后,攻擊者利用 SecureROM 中罕見的 EL1 模式切換點(SVC 0 指令)。A12 上通過 ROP 鏈將 DMA 目標地址設為 boot trampoline 區(qū)域(只讀執(zhí)行區(qū),但 DMA 可寫),寫入 shellcode 后跳轉至 EL1 權限執(zhí)行。
盡管該漏洞無法通過軟件修復,但利用條件苛刻,需要物理接觸設備,且不會直接威脅安全隔區(qū)處理器。蘋果已收到通報,建議用戶升級至 A14 及以上芯片設備以確保安全。
IT之家附上參考地址
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。