「ÆPIC Leak」漏洞來襲!支援 SGX 安全功能的英特爾 CPU 會洩密

作者 | 發布日期 2022 年 08 月 12 日 8:30 | 分類 晶片 , 網路 , 處理器 Telegram share ! follow us in feedly


羅馬第一大學(Sapienza University of Rome)、奧地利格拉茲科技大學(Graz University of Technology)、亞馬遜 AWS 及 CISPA 亥姆霍茲資訊安全中心(Helmholtz Center for Information Security)資料學家組成的團隊,在英特爾新 CPU 發現架構性錯誤,有可能被利用洩露 Intel SGX(Software Guard Extensions)硬體式記憶體加密功能安全區(Enclave)資料,如加密私鑰。

這架構性錯誤會對本地端高階可程式中斷控制器(Advanced Programmable Interrupt Controller,APIC)的記憶體對映暫存器造成影響,所以團隊稱之為「ÆPIC Leak」漏洞。至於 APIC 控制器扮演協助 CPU 處理不同來源中斷請求,以促進多重處理(Multiprocessing)作業的角色。

史上第一個架構性 CPU 缺陷

團隊〈ÆPIC Leak:從微架構上架構性外洩未初始化資料〉(Architecturally Leaking Uninitialized Data from the Microarchitecture)論文指出,發現名為 ÆPIC Leak 的第一個架構性 CPU 錯誤,不需透過旁路就能直接從微架構洩漏過時資料。

論文指出,凡是基於英特爾 Sunny Cove 微架構的英特爾新 CPU 都受漏洞影響,包括第十代 Ice Lake CPU 及第三代 Xeon 可擴充伺服器 CPU,甚至連基於 Golden Cove 微架構的新款第 12 代 Alder Lake CPU 也不例外。

但英特爾反駁,Alder Lake 不會受影響,因根本不支援 SGX。英特爾另舉出論文沒提到的受影響 CPU 還有 Ice Lake Xeon-SP、Ice Lake D、Gemini Lake、Ice Lake U/Y 及 Rocket Lake。

漏洞只影響使用 SGX 功能的系統,虛擬化及大部分系統不受影響

ÆPIC Leak 並非屬於過去知名 CPU 漏洞 Meltdown 那樣依靠旁路推導敏感資料的暫態執行攻擊(Transient Execution Attack),相反的是早期 Pentium FDIV 錯誤或 Pentium F00F 錯誤之類晶片架構缺陷影響的結果。

論文作者群將錯誤比做 CPU 本身未初始化的記憶體讀取動作。他們掃描基於 Sunny Cove 微架構英特爾 CPU 的 I/O 輸入輸出位址空間,發現本地 APIC 控制器的記憶體對映暫存器並未初始化。因此,讀取這些暫存器將返回最近記憶體從 L2 到 L3 快取載入和儲存的過時資料。

所幸存取 APIC MIMO 多進多出需要管理員權限或根權限才行,所以對大部分系統而言,ÆPIC Leak 並不構成問題。尤其虛擬環境,Hypervisor 虛擬化管理程式絕不會公開直接存取主機本地 APIC。如此惡意虛擬機器就無法利用漏洞外洩資料。

但使用英特爾 SGX 功能的系統就無法避免 ÆPIC Leak 漏洞的可能風險。研究人員設計 Cache Line Freezing 及 Enclave Shaking 兩個技術,用來從英特爾 IPP(Integrated Performance Primitives)函式庫取得 AES-NI 密鑰與 RSA 密鑰,另外也能提取英特爾 SGX 密封和遠端認證密鑰。研究人員已將概念驗證程式碼上傳至 GitHub

英特爾發布 INTEL-SA-00657 安全公告,並提供修訂版 SDK 套件繼續鼓吹 SGX

ÆPIC Leak 漏洞最早 2021 年 12 月 8 日通報英特爾,並在 2021 年 12 月 22 日官方承認,指派漏洞編號為 CVE-2022-21233。研究人員建議,可透過禁用 APIC MIMO 或避免使用 SGX 功能短期緩解。雖然建議硬體處理不適當初始化,但認為微碼(Microcode)/韌體更新也有作用。英特爾 9 日發布 27 項安全公告以解決 59 個安全漏洞問題,INTEL-SA-00657 即為解決 ÆPIC Leak 漏洞的安全公告,使用者可了解漏洞緩解法。

英特爾建議,作業系統和虛擬機器監視器(VMM)啟用 x2APIC 模式,將禁用 xAPIC MIMO 頁面,而不是透過特定模型暫存器(MSR)公開 APIC 暫存器,如此便能緩解受影響產品的 ÆPIC Leak 漏洞。

雖然多年由 SGX 引發的 CPU 漏洞問題不斷,但英特爾仍不斷大力推薦自家 SGX 技術,並嘗試提供適用 Windows 及 Linux 系統的修訂版 SGX SDK 軟體開發套件,以協助降低 SGX 安全區資料被駭客推導的機會。

(首圖來源:英特爾