研究人員再曝比 Spectre 更難搞的 Micro-op 漏洞 可能影響當今的英特爾與 AMD 處理器
2018 年由 Google Project Zero 小組揭露的 Spectre 漏洞以及各種攻擊,讓英特爾及 AMD 相繼發展安全防護以防惡意程式從晶片中竊取密碼或其他敏感資訊。但美國大學研究人員設計出新手法,可以突破幾乎所有此類晶片防護。不過英特爾並不認為有這麼嚴重。
本文目錄
Spectre 開啟了處理器層次的攻擊手法
Spectre 的名字來自攻擊者對現代 CPU 中的推測執行 (speculative execution) 的濫用。它是預測 CPU 未來接收到的指令,再去走該指令可能會走的路徑。只要利用程式碼迫使 CPU 沿著錯誤路徑執行指令,Spectr 就能汲取出 CPU 中的隱私資料。這種手法稱為暫態執行 (transient-execution)。
從 2018 年 Spectre 被發現後,不斷有新的漏洞浮出檯面。而新漏洞也促使晶片業者不斷發展新的、更強防護來抵禦攻擊。
英特爾發展的重要防護稱為 LFENCE,它可防止新指令在舊指令之前派送出去,其他泛稱為屏障 (fencing) 的硬體層解決方案則是在隱私資料周遭建立數位圍籬以防止暫態執行攻擊非法存取資料。
微操作快取攻擊手法幾乎繞過所有防護
不過美國維吉尼亞大學及加州大學聖地牙哥分校上周發表的報告,則公佈新的暫態執行變種,足以突破幾乎所有英特爾、AMD 為晶片實作的防護。新的攻擊手法瞄準的是晶片上的微操作 (micro-op) 快取。微操作快取的作用是在現代處理器推測執行程序中,快速與及早蒐集散落的低階指令,藉此提升處理器效能。
美國研究團隊設計的旁路攻擊 (side-channel),以惡意程式碼來利用微操作快取結構曝露出流經快取的隱私資料,共有 3 個漏洞由此而生,分別從同一執行緒的定義域 (domain)、同一實體核心的兩個執行緒,以及同時結合兩類攻擊從推測錯誤路徑上取得隱私資訊。這 3 個漏洞影響 AMD 2017 以後和英特爾 2011 年以後的現代 CPU。
研究人員指出,以微操作快取進行旁路攻擊從幾方面來看十分危險。首先,它能繞過所有緩解快取旁路攻擊的防護,第二,現有攻擊或惡意程式資料庫都無法偵測。第三,現有防止 Spectre 及其他暫態執行攻擊的方法,是限制推測快取更新,但這個方法仍無法免於微操作快取攻擊。
英特爾不認為微操作快取攻擊手法足以造成危害
研究人員還說,由於微操作快取體積相當小,新攻擊手法比現有利用「prime + probe」快取的 Spectre 攻擊手法更快,而且也更隱密,因為新手法使用的資料破口更小。但另一方面,修補這 3 項漏洞,卻可能會比 2018 年緩解 Spectre 的方法造成更大的效能衰退。
不過研究人員指出,微操作快取漏洞的開採並不容易,因為需要很高的系統存取權,而這點一般安全產品都會防止。研究人員已在研究公開前通報 AMD 和英特爾。
另一方面,處理器業者並不認同研究結果。英特爾說,該公司看過研究後認為現有的防護措施並不會被繞過,而且該公司的安全程式寫作指引也已能解決問題,不需要新的緩解措施。AMD 則尚未作出回應。