
Apple在新推出的iPhone 17系列與iPhone Air導入MIE(Memory Integrity Enforcement),MIE結合A19與A19 Pro的硬體能力與作業系統安全設計,作為全時預設的記憶體安全防護,覆蓋關鍵攻擊面,包括系統核心與超過70個使用者空間程序(Userland Processes),目標是降低記憶體破壞漏洞被利用的可能性,特別是緩衝區溢位與釋放後使用(Use-after-free)。Apple稱其為消費型作業系統歷來最重大的記憶體安全升級。
MIE的基礎來自Apple近年推行的型別安全分配器(Allocator),包括核心的kalloc_type、使用者層的xzone malloc,以及WebKit的libpas。這些分配器會依照型別資訊決定記憶體配置方式,降低攻擊者藉由精準控制配置位置,來製造漏洞利用的機會。不過,分配器在頁面層級能提供的保護仍有限,因此Apple進一步引入Enhanced Memory Tagging Extension(EMTE),透過標籤檢查將防護細緻到單一配置的層次。
EMTE以同步模式運作,確保每次記憶體存取都會立即進行標籤驗證,當存取跨越到不同標籤的區塊,硬體會阻擋並由作業系統終止程序。記憶體被釋放並重新配置時,系統會重新指派標籤,任何以舊標籤進行的存取都會被阻止,減少釋放後使用的利用可能性。另針對未標籤的記憶體,例如全域變數,Apple規定從已標籤的區域去存取未標籤記憶體時,必須知道該區域的標籤,避免藉此繞過檢查。

為了避免記憶體標籤資訊被旁路攻擊或CPU推測執行洩漏,Apple設計了名為標籤機密防護(Tag Confidentiality Enforcement)的機制,透過搭配安全分頁表監控(Secure Page Table Monitor),將標籤與配置的底層資料與應用程式隔離,即使系統核心遭入侵,標籤仍受保護。同時,系統會頻繁為選取標籤的偽隨機產生器更新隨機種子,降低被攻擊者猜中的可能性。針對Spectre V1這類漏洞,也提供幾乎零額外CPU成本的緩解措施。
在硬體實現上,A19與A19 Pro專為MIE預留更多CPU面積、時脈資源,以及標籤儲存用記憶體,讓同步檢查能全時啟用而不影響效能。Apple的部署策略是先由型別分配器在頁面層級提供防護,再由EMTE補足較小配置的檢查需求,將效能成本降到最低。
此設計延續自A12晶片導入PAC(Pointer Authentication Codes)以來,將安全功能緊密結合軟硬體的方向。相較於他平臺多將MTE視為偵錯用途,MIE將其轉化為系統級且預設啟用的防禦機制,Apple並強調,MIE能在攻擊鏈的早期階段就切斷可行性,使許多傳統的漏洞利用路徑難以維繫,讓攻擊者難以透過替換漏洞來重建攻擊鏈。
Xcode已提供Enhanced Security設定,允許在支援EMTE的硬體上進行測試,協助驗證應用程式是否能在這種環境下穩定運作,而對於尚未支援EMTE的既有裝置,型別分配器等既有強化機制仍可提供保護。
熱門新聞
2025-12-02
2025-12-01
2025-12-01
2025-11-30
2025-12-01
2025-12-04