研究人員近日發現了一種名為“Inception”(盜夢空間)的新型強大瞬態執行攻擊,該攻擊可以通過所有AMDZenCPU(包括最新型號)上的非特權進程泄露特權秘密和數據。
瞬態執行攻擊利用了所有現代處理器上都具備的“推測執行”功能,該功能通過猜測在較慢的操作完成之前接下來將執行的內容來顯著提高CPU的性能。如果猜測正確,CPU執行下一步操作將無需等待,大幅提高性能;如果猜測錯誤,CPU會回滾更改并使用新結果繼續操作。
推測執行的問題在于,它可能會留下攻擊者可以觀察或分析的痕跡,檢索本應受到保護的有價值的數據。
蘇黎世聯邦理工學院的研究人員將一種名為“幻象推測”(CVE-2022-23825)的舊技術與一種名為“瞬態執行訓練”(TTE)的新瞬態執行攻擊相結合,創建了一種更強大的“初始”攻擊。
幻象推測允許攻擊者觸發錯誤預測,而無需在錯誤預測源處進行任何分支,即在任意XOR指令處創建推測執行周期(“瞬態窗口”)。
TTE是通過將新的預測注入分支預測器來創建可利用的推測執行,進而操縱未來的錯誤預測。
編號為CVE-2023-20569的“盜夢空間攻擊”(Inception)則是一種結合了上述概念的新穎攻擊,攻擊者可讓CPU相信XOR指令(簡單的二進制運算)是遞歸調用指令。
這會導致攻擊者控制的目標地址溢出返回堆棧緩沖區,從而從任何AMDZenCPU上運行的非特權進程泄漏任意數據。

研究人員指出:即使用戶已經采取了針對已知推測執行攻擊(例如Spectre)或瞬態控制流劫持(例如自動IBRS)的所有緩解措施,依然有可能發生泄漏。
此外,“盜夢空間攻擊”的數據泄漏率為39字節/秒,竊取16個字符的密碼大約只需要半秒,竊取RSA密鑰需要6.5秒。
蘇黎世聯邦理工學院的團隊針對“盜夢空間攻擊”(Inception)和“幻象攻擊”(Phantom)分別發表了技術論文,地址如下:
Inception:https://comsec.ethz.ch/wp-content/files/inception_sec23.pdf
Phantom:https://comsec.ethz.ch/wp-content/files/phantom_micro23.pdf
如何防止“盜夢空間攻擊”
研究人員表示,所有基于AMDZen架構的Ryzen和EPYCCPU,從Zen1到Zen4,都容易受到Phantom和Inception的攻擊。
特定的TTE變體還可能會影響英特爾的CPU,但由于已經發布的eIBRS緩解措施,“幻象漏洞”(Phantom)很難在Intel上被利用。特定TTE變體影響的CPU型號列表如下:

盡管蘇黎世聯邦理工學院團隊開發的概念驗證在Linux環境中運行,但這些攻擊應該適用于任何采用AMDzen架構處理器的操作系統,因為這是一個硬件漏洞,而不是軟件漏洞。
緩解該問題的策略是在不可信上下文之間切換時完全刷新分支預測器狀態:但這會在較舊的Zen1(+)和Zen2CPU上帶來93.1%到216.9%的性能開銷。
對于Zen3和Zen4CPU,由于缺乏對此緩解策略的足夠硬件支持,AMD不久前發布了微代碼更新以啟用此功能。
建議Zen架構AMD處理器的所有用戶安裝最新的微代碼更新,主流計算機供應商和操作系統提供商也會在安全更新中提供此類更新。例如,微軟在2022年7月的更新中發布了Phantom漏洞(CVE-2022-23825)的修復程序。
聚銘網絡
金融電子化
奇安信集團
CNCERT國家工程研究中心
RacentYY
信息安全與通信保密雜志社
關鍵基礎設施安全應急響應中心
黑白之道
信息安全與通信保密雜志社
深圳市網絡與信息安全行業協會
GoUpSec
D1Net