英特爾研究人員上周展示一個新的推測執行旁路 (speculative execution side-channel) 漏洞的「首個原生 Spectre v2」攻擊手法,影響搭載 Intel 處理器的 Linux 系統,而且現在仍無修補程式,只能暫時緩解攻擊。
Spectre v2 是由安全廠商阿姆斯特丹自由大學 VUSec 實驗室研究人員發現的 Spectre 攻擊的最新變種。英特爾研究人員也公佈了一款工具,可使用符號執行 (symbolic execution) 辨識 Linux 核心中可能被攻擊的程式碼片段,可減緩攻擊災難。
推測執行是現代處理器提升執行效能的方法之一,它會先猜測下一個要執行的指令,而在被呼叫前預先執行。由於現代處理器很強大,可以預測同一程式多種路徑,並同時執行。如果猜對其中一道路徑,就能提升應用效能。若猜錯,CPU 就會丟棄之前的工作,回到正軌執行。
這功能雖然能提升效能,但也因洩露 CPU 快取內的憑證或重要資料,一旦被攻擊者存取,就可能引發安全風險。這些資訊包括帳密、加密金鑰、個資或公司資訊、軟體原始碼等。
攻擊法有二種,一是分支目標注入 (Branch Target Injection, BTI),是操控 CPU 分支預測功能執未授權程式碼路徑。二是分支歷史注入 (Branch History Injection, BHI),是操控分支歷史,引發選定程式路徑的推測執行,進而造成資料洩露。
這二項漏洞分別被英特爾列為 CVE-2022-001 及 CVE-2022-002 。但最新漏洞是針對 Linux 核心漏洞的新 Spectre v2 。最新漏洞是由美國網路安全緊急事件回應小組協調中心 (CERT/CC) 昨日公佈,將之命名為 CVE-2024-2201,可讓攻擊者利用推測執行讀取 CPU 內任意的記憶體資料,繞過獨立權限層級的安全機制。
CERT/CC 指出,研究顯示,關閉 eBPF(延伸伯克萊封包過濾器)及開啟 (Fine) IBT 並不足以防範對 Linux 核心及 Hypervisor 的 BHI 濫用攻擊。因為現有緩解手法只能獨立出被濫用的程式路徑,減少攻擊表面。但 VUSec 研究人員證明,在 Linux 核心這樣做,程式路徑還是在。
英特爾本周更新了 Spectre v2 的緩解建議,呼籲用戶關閉無權限的 eBPF 功能、開啟 eIBRS (Enhanced Indirect Branch Restricted Speculation,進階非間接分支限制推測),並啟動 SMEP(Supervisor Mode Execution Protection ,監督模式執行防護) 。此外,英特爾建議在程式碼內特定地方增加 LFENCE (Load Fence) 指令,且實作軟體序列以在不同安全網域轉換時清除分支歷史緩衝區 (Branch History Buffer, BHB) 。
英特爾表示未來的處理器將會加入 BHI 及其他推測執行的攻擊防護。
