蘇黎世聯邦理工學院的研究人員在一篇部落格文章中宣布 名為 VMScape 的新攻擊 (CVE-2025-40300),能夠 繞過 Spectre-BTI 保護並危及虛擬化環境中的安全。 此方法允許虛擬機器內的程序從在使用者空間運行的虛擬機器管理程序元件(例如 QEMU-KVM)中提取敏感資料。
令人擔憂的事情 是那個 這些組件的記憶體可能包含關鍵訊息,例如加密磁碟的存取金鑰或來自其他客戶系統的敏感資料殘留。 研究人員利用漏洞證明了攻擊的可行性 他設法從 QEMU 中的 virtio 驅動程式洩露加密金鑰,在搭載 AMD Zen 32 CPU 的系統上,洩漏率達到每秒 4 位元組。
VMScape 的工作原理
VMScape 基於操作 從分支目標緩衝區(BTB),CPU 在推測執行期間用它來預測分支。透過注入精心設計的分支目標,攻擊者可以強制錯誤預測,並利用處理器的快取來推斷敏感資訊。
雖然 現代系統已經包括防禦措施 針對 Spectre-BTI, 他們沒有想到 兩者 虛擬機器管理程式元件等來賓流程 在使用者空間 共享相同等級的保護這使得 BTB 輸入在兩者之間產生混淆,從而破壞了預期的隔離。
我們對保護域隔離進行了系統性分析,結果表明,當前機制過於籠統:在所有 AMD Zen CPU(包括最新的 Zen 5)上,分支預測器都無法區分主機和客戶機的執行,從而允許原始的跨虛擬化 BTI (vBTI) 攻擊行為。雖然最近的英特爾 CPU 提供了更好的隔離,但仍存在一些缺陷。
利用其中一個 vBTI 原語,我們創建了一個名為 VMScape 的全面漏洞利用程式。 VMScape 允許惡意 KVM 來賓從 QEMU 等用戶空間虛擬機管理程式洩露敏感訊息,例如加密/解密金鑰。下方展示了 VMScape 在 AMD Zen 4 上執行的示範。
安全成本並不小,因為影響取決於系統將控制權轉移到使用者空間的頻率。 在有類比設備的環境中 (QEMU 中的預設值), 性能下降平均可達 10%而在 Virtio 磁碟操作等高強度測試中,效能下降幅度高達 51%。在 UnixBench 等輕負載測試中,影響甚至不到 1%。
受影響的處理器
脆弱性 影響所有 AMD Zen 處理器 (包括第五代)至 Hygon 處理器 已經較舊的英特爾型號,例如基於 Coffee Lake 的型號 (2017)。 Cascade Lake 和 Alder Lake 等較新的 CPU 構成部分風險。相較之下,最新一代英特爾處理器採用了 eIBRS 技術,該技術雖然無法完全消除基於分支歷史操縱 (vBHI) 的攻擊,但可以增強主機-客戶機隔離。
攻擊的局限性
目前, VMScape 僅在使用 KVM 和 QEMU 的系統上進行了演示 用於用戶空間設備仿真。 Xen 等虛擬機器管理程式不受影響,而 VMware 和 Hyper-V 等其他虛擬機器管理程式尚未經過全面評估。
Linux 核心中的緩解措施
為了應對這次攻擊, Linux 核心更新已發布 (版本 6.16.7、6.12.47、6.6.106、6.1.152、5.15.193 和 5.10.244)。 解決方案實現了 IBPB 指令的使用 (間接分支預測屏障),每次從虛擬機器轉換到使用者空間後都會清除分支預測器狀態。
保護 可以透過核心啟動選項啟用:
vmscape={關閉|ibpb|強制}
同 ibpb 緩解措施僅在易受攻擊的 CPU 上啟用,而強制則適用於所有架構。漏洞狀態和主動保護措施可在以下位置找到:
/sys/設備/系統/CPU/漏洞/vmscape
最後,如果您有興趣了解更多,可以查閱詳情 以下鏈接。