英特爾處理器被曝出“Downfall”漏洞:可竊取加密密鑰
今日,谷歌的一位高級研究科學家利用一個漏洞設計了一種新的CPU攻擊方法,該漏洞可影響多個英特爾微處理器系列,并允許竊取密碼、加密密鑰以及共享同一臺計算機的用戶的電子郵件、消息或銀行信息等私人數據。
(相關資料圖)
該漏洞被追蹤為CVE-2022-40982,是一個瞬態執行側通道問題,影響基于英特爾微架構Skylake到Ice Lake的所有處理器。
攻擊者利用這個安全漏洞可以提取受軟件保護擴展(SGX)保護的敏感信息。SGX是英特爾基于硬件的內存加密技術,可以將內存中的代碼和數據與系統上的軟件分離開來。
SGX目前僅在服務器中央處理單元上得到支持,并為那些操作系統都無法訪問的軟件提供可信的隔離環境。
收集秘密數據谷歌研究員Daniel Moghimi發現了這個漏洞,并將其報告給了英特爾,他說他的垮臺攻擊技術利用了gather指令,“在推測執行期間泄露了內部矢量寄存器文件的內容”。
Gather是英特爾處理器內存優化的一部分,用于加速訪問內存中的分散數據。然而,正如Moghimi在今天發表的一篇技術論文中解釋的那樣:“gather指令似乎使用了一個跨同級CPU線程共享的臨時緩沖區,它將數據暫時轉發給后來依賴的指令,數據屬于不同的進程,并在同一核心上運行gather執行。”
Moghimi開發了兩種攻擊技術,一種是收集數據采樣(GDS),另一種是收集值注入(GVI),它將GDS與2020年披露的負載值注入(LVI)技術相結合。
通過使用GDS技術,Moghimi 能夠在受控虛擬機之外的另一個虛擬機(VM)上竊取 AES 128 位和 256 位加密密鑰,每個系統都位于同一 CPU 內核的同胞線程上。
研究人員可在10 秒內一次性竊取 8 個字節,最終成功竊取了 AES 圓形密鑰,并將它們組合起來破解了加密。對于 100 個不同的密鑰,AES-128 的首次攻擊成功率為 100%。對 AES-256 的首次攻擊成功率為 86%。
研究人員指出,嘗試失敗意味著恢復整個密鑰需要多次運行攻擊,因為主密鑰的數據不會在 10 秒內頻繁出現。
除了加密密鑰外,Moghimi還提供了 GDS 攻擊的變種,這種攻擊可以竊取靜態的任意數據,因為在兩種情況下,CPU 會將這類信息預取到 SIMD 寄存器緩沖區中。
威脅評估和微代碼性能影響Moghimi 指出,Downfall 攻擊要求攻擊者與受害者在同一個物理處理器內核上。但惡意軟件等本地程序有可能利用這一漏洞竊取敏感信息。
去年 8 月,英特爾發現了 Downfall/GDS 漏洞,并與 Moghimi 合作進行了研究,并且目前提供了微碼更新來緩解這一問題。
為了給原始設備制造商(OEM)和通信服務提供商(CSP)留出測試和驗證解決方案的時間,并為他們的客戶準備必要的更新,有關該漏洞的細節保密了近一年。
英特爾告訴 BleepingComputer,該問題不會影響 Alder Lake、Raptor Lake 和 Sapphire Rapids,Downfall 會影響以下三個系列的處理器:
Skylake 系列(Skylake、Cascade Lake、Cooper Lake、Amber Lake、Kaby Lake、Coffee Lake、Whiskey Lake、Comet Lake)虎湖系列冰湖系列(Ice Lake、Rocket Lake)英特爾修復和響應工程副總裁 Vivek Tiwari 認為,試圖在受控實驗室環境之外利用這一點將是一項復雜的工作。
英特爾在給 BleepingComputer 的一份聲明中表示,客戶可以查看公司提供的風險評估指南,并決定通過 Windows 和 Linux 以及虛擬機管理器(VMM)中的可用機制禁用微碼緩解功能。
做出這樣的決定可能是出于對Downfall/GDS緩解措施可能帶來的性能問題的擔憂,也可能是因為該問題對環境不構成威脅。
英特爾為客戶提供了威脅評估和性能分析信息,其結論是在某些環境中該問題的影響可能很小。在頻繁執行收集指令的情況下,存在潛在影響,這是高性能計算(HPC)環境所特有的。
不過,該芯片制造商表示,由于攻擊的條件和這些環境的典型配置,該問題在高性能計算環境中可能不會被視為威脅。
例如,攻擊者需要在與目標相同的物理內核上運行,并能夠運行不受信任的代碼等,而這些在這些環境中并不常見。
基于軟件的緩解措施要消除 Downfall/GDS 攻擊的風險,需要重新設計硬件。雖然基于軟件的替代方案是存在的,不過這些方案都有注意事項,而且只能暫時解決問題。Moghimi 提出了四種這樣的替代方案,其中三種有明顯的缺點:
禁用同步多線程(SMT)可部分緩解 GDS 和 GVI 攻擊,但削減超線程會帶來 30% 的性能損失,而且跨上下文切換的泄漏仍會發生通過操作系統和編譯器禁止受影響的指令,以防止它們向收集泄密;缺點是一些應用程序可能會被打亂,而且如果漏掉某些指令,泄密仍會發生禁用收集。缺點是使用該指令的應用程序可能會變得緩慢甚至崩潰防止收集指令后的瞬時數據轉發(添加加載柵欄,如 lfence 指令)可減輕 Downfall,這也是英特爾在最新微代碼更新中采用的解決方案。不過,Moghimi 表示,要創建這樣的工具并不容易,因為它們需要更好地覆蓋硬件和支持的指令,鑒于硬件的復雜性和專有障礙,這是一項具有挑戰性的任務。
這位研究人員發布了 Downfall 的代碼,以便其他人可以查看和試用。此外,Daniel Moghimi 還計劃在美國黑帽安全大會上討論 Downfall 漏洞和攻擊技術。
英特爾發布了 CVE-2022-40982 的安全公告,目前的嚴重程度為 6.5 級。基于此漏洞,該公司還提供了一份技術文件,以及 Moghimi 關于 Downfall 的采訪內容。
標簽: