最近 CISPA 研究人員宣布了這項消息, 關於一種新的攻擊方法 CacheWarp 危害 AMD SEV 安全機制 用於虛擬化系統中,以保護虛擬機器免受虛擬機器管理程式或主機系統管理員的干擾。
關於漏洞(CacheWarp),研究人員提到 基於漏洞的利用 (列在 CVE-2023-20592 下) 由 INVD 處理器指令執行期間快取故障所引起,借助它可以實現記憶體和快取中的資料差異以及旁路機制以維護虛擬機器記憶體的完整性,基於SEV-ES和SEV-SNP擴展實現。
所提出的方法 允許有權存取虛擬機器管理程式的攻擊者執行第三方程式碼 並提升受 AMD SEV 保護的虛擬機器的權限。 此漏洞影響AMD EPYC(霄龍)處理器第一代到第三代。
技術 AMD SEV用於虛擬機器隔離 由雲端提供者提供。 AMD SEV 保護 它是透過對虛擬機器記憶體進行硬體級加密來實現的, 此外,SEV-ES 擴充還可以保護 CPU 暫存器。 只有目前的客戶系統有權存取解密的數據,當其他虛擬機器和管理程式嘗試存取該記憶體時,它們會收到一組加密的數據。
關於 攻擊 有人提到 它基於使用 INVD 指令使頁面快取中的區塊無效 而不將快取中累積的資料轉儲到記憶體中(回寫)。 所以, 此方法允許您從快取中逐出修改後的數據,而不更改記憶體狀態。
為了發動進攻 建議使用軟體例外 在兩個地方擾亂虛擬機器的操作:首先,攻擊者呼叫「wbnoinvd」指令來重置快取中累積的所有記憶體寫入操作,其次,他呼叫「invd」指令會傳回未反映在快取中的寫入操作。記憶到之前的狀態。
要檢查該漏洞,請原型漏洞利用已發布,允許將異常插入到受 AMD SEV 保護的虛擬機器中 並將尚未重置到記憶體的 VM 變更恢復。
變更的回滾可用於透過傳回堆疊上的先前傳回位址來變更程式的流程,或使用來自先前會話的登入參數(該工作階段先前透過傳回驗證屬性值進行驗證)。
例如,研究人員 示範了使用 CacheWarp 方法對 Bellcore 進行攻擊的可能性 演算法的實現 ipp-crypto 函式庫中的 RSA-CRT,這使得透過替換計算數字密鑰時的錯誤來恢復私鑰成為可能。
最後,提到 快取扭曲 一般不會影響所有人 AMD 處理器,例如 適用於第三代 AMD EPYC 處理器 (禪宗3), 該問題已在微碼更新中解決 AMD XNUMX 月發布(該修復不會導致任何性能下降)。
而 適用於第一代和第二代AMD EPYC(禪 1 和禪 2), 沒有提供保護,因為這些 CPU 不支援 SEV-SNP 擴展,因此該擴展為虛擬機器提供完整性控制。 第四代 AMD AMD EPYC(霄龍)「Genoa」處理器是基於「Zen 4」微架構 它並不脆弱。
除此之外, 第三代AMD EPYC處理器引入了額外的擴展, SEV-SNP(安全嵌套尋呼), 確保巢狀記憶體頁表的安全操作。 除了一般記憶體加密和日誌隔離之外,SEV-SNP 還實施了其他措施,透過防止虛擬機器管理程式對 VM 進行更改來保護記憶體完整性。 加密金鑰在整合到晶片中的獨立 PSP(平台安全處理器)處理器一側進行管理,該處理器基於 ARM 架構實作。
如果您有興趣了解更多,可以查閱詳情 在下面的鏈接中。