俄亥俄州立大學最近的一篇研究報告詳細介紹英特爾(Intel)軟體防護擴充指令集(SGX)遭受Spectre攻擊的最新情況。SGX是英特爾(Intel)現代處理器的一項功能,它將選定程式碼及資料管控在”飛地(enclave)”以保護它們不會被洩露或竄改。如果這被研究人員稱為SgxPectre的攻擊成功,攻擊者就可以從飛地(enclave)取得資料。
當使用者在應付今年一月所披露的英特爾(Intel)處理器漏洞Meltdown和Spectre時,這些嚴重漏洞似乎並未影響到SGX飛地(enclave)。飛地(enclave)的安全設計是即使是作業系統也不能存取其內容。
這個攻擊使用了Spectre漏洞加上現有SGX執行時函式庫(runtime library)內有弱點的程式碼,可以完全存取受防護飛地(enclave)的內容。這些漏洞存在於執行時函式庫(runtime library) – Intel SGX SDK,Rust-SGX和Graphene-SGX特別被指出。
研究人員展示這個漏洞攻擊時補充:”SGXPECTRE建立了惡意的SGX飛地(enclave)來與其他飛地(enclave)共存,再使用旁路攻擊(side-channel)觀察快取追蹤和分支預測延遲。”
SFX飛地(enclave)專門用來存放有價值的敏感資料,因此任何可危及其安全的攻擊都很嚴重。使用了SgxPectre,進入資料中心的惡意份子就可以存取這些飛地(enclave)內受保護的資料。
研究人員還提到,實施Google Retpoline anti-Spectre程式技術的應用程式是安全的。
為了解決這類威脅的影響,可以透過微碼更新來進行硬體修補。研究人員還加上了一些建議:
- 飛地(enclave)使用者應該在開發時指定最低的CPU安全版本號碼(CPUSVN)。這是用來生成本地端和遠端認證的金鑰,而指定CPUSVN使用最低為上述的微碼修補版本則可以防止SgxPectre。
- 執行時函式庫(runtime library)的開發人員應該要檢查他們的程式碼並移除會被攻擊的小工具
英特爾(Intel)計劃透過Intel SGX SDK的安全更新來解決SgxPectre問題,該更新將會在3月16日發布。鑑於問題的嚴重性,建議可能受到影響的使用者都要進行修補和更新。