KeyFrame內部研究專用

Black Hat Europe 2025 | RMPocalypse: A Catch-22 Breaking AMDs Confidential Computing

Black Hat·6月22日週一·34 min英文

三句話摘要

AMD SEV-SNP 的 RMP(Reverse Map Table)完整性保護機制存在微碼級漏洞,攻擊者可在初始化期間利用緩存不一致性推翻整個安全隔離。 RMPclips 漏洞展示了硬體隔離機制中時序與架構一致性的重要性—即使單個防禦層設計正確,層級之間的轉換視窗也可能成為致命的弱點。 Catch-22 的設計問題:RMP 表本身位於 DRAM 且自我保護(有指向自身的條目),但初始化時整個 RMP 為零,需要透過 PSP(Platform Security Processor)這個可信硬體單元來安全啟動。AMD 的解決方案在初期為 TMR(Trusted Memory Regions)屏障保護 RMP,但此屏障在初始化完成後移除,目的是讓後續的 x86 微碼能修改 RMP。

重點整理

重點
  • 1

    Catch-22 的設計問題:RMP 表本身位於 DRAM 且自我保護(有指向自身的條目),但初始化時整個 RMP 為零,需要透過 PSP(Platform Security Processor)這個可信硬體單元來安全啟動。AMD 的解決方案在初期為 TMR(Trusted Memory Regions)屏障保護 RMP,但此屏障在初始化完成後移除,目的是讓後續的 x86 微碼能修改 RMP。

  • 2

    緩存一致性漏洞的發現過程:研究者花費 4.5-5 個月研讀文件後發現規範要求「初始化前 CPU 不應有指向 RMP 的 dirty cache lines」。透過多輪實驗發現:(a) 建立 dirty cache line 本身不足;(b) 需要在另一核心持續寫入 RMP,直到第一個核心的髒快取行最終被寫回;(c) 如將 RMP 標記為不可緩存則攻擊失效。這證實根本原因涉及緩存機制。

  • 3

    保護屏障的錯位架構:AMD Epic 使用晶粒架構,x86 核心透過 CCX(Core Compute Complex)、資料結構網、CS(Cache Coherent Slave)區塊、UMC(Unified Memory Controller)存取 DRAM。初始化期間 TMR 屏障位於 CS 與 UMC 之間,但初始化後屏障移至 x86 核心級別。在這個轉換窗口期,PSP 寫入 RMP 時 x86 核心可建立指向 RMP 的 dirty cache lines,而 CS 到 UMC 之間缺乏屏障來阻止回寫。

  • 4

    級聯破壞與實際影響:RMP 表的自引用條目(第一個條目保護 RMP 本身所在的頁面)本身就是一個 8 位元組的覆寫目標。一旦此條目被篡改,攻擊者可使該頁面變為可寫,進而破壞相鄰條目,形成級聯效應推翻整個 RMP。最終可篡改虛擬機的 Guest Context Page(含 VM ID、加密狀態雜湊、debug 位元等),破壞 SEV-SNP 的整個隔離保證。

實用技巧與重點

乾貨
  • 受影響對象:所有支援 SEV-SNP 的 AMD EPYC 處理器
  • 技術代稱:RMPclips(Reverse Map Table - Catch 22 Limited Integrity Protection Sequencing)
  • 相關 CVE:AMD 分配正式 CVE 編號追蹤此漏洞
  • 修補時程:AMD 於 2025 年 8 月左右發布平台安全處理器(PSP)韌體與微碼補丁
  • 漏洞存在期間:已存在相當長時間,影響多代 EPYC 處理器
  • 防禦層級:涉及 Trusted Memory Regions(TMR)屏障、RMP 自引用保護、Guest Context Page 加密與完整性
  • 根本修補方式:在初始化期間于 x86 核心級別增加額外屏障,確保 PSP 寫入 RMP 時無法產生 dirty cache lines

結論

結論

RMPclips 漏洞展示了硬體隔離機制中時序與架構一致性的重要性—即使單個防禦層設計正確,層級之間的轉換視窗也可能成為致命的弱點。

完整解析

詳細

機密運算的核心挑戰在於保護執行中的資料。傳統的磁碟加密與傳輸層加密都已成熟,但當資料在 CPU 與 GPU 中處理時,仍然暴露在作業系統、Hypervisor 甚至雲供應商的威脅下。AMD 的 SEV-SNP 技術透過在 CPU 層級加密記憶體並驗證完整性,消除對 Hypervisor 的信任。這個保證是透過 RMP(Reverse Map Table)實現的—一個龐大的 DRAM 表格,記錄每個記憶體頁面的安全屬性,CPU 硬體在每次記憶體存取時都會查詢它。

然而 RMP 本身也存儲在 DRAM 中,面臨一個先有雞先有蛋的困境:RMP 保護自己,但初始化時 DRAM 為空。AMD 的優雅解法是透過 PSP(Platform Security Processor)這個獨立的可信硬體單元來啟動 RMP。在初始化期間,PSP 使用 TMR(Trusted Memory Regions)屏障防止 x86 核心的寫入,然後安全地填充 RMP 內容。初始化完成後,屏障被移除到 x86 核心級別,以允許後續的微碼指令(如 RMP_UPDATE)修改 RMP。

研究者發現了這個轉換過程中的致命漏洞。他們觀察到規範要求初始化前「CPU 不應含有指向 RMP 的 dirty cache lines」,但硬體並未強制執行此約束。透過在另一個核心上執行緊密迴圈,持續寫入 RMP,研究者能在 PSP 初始化時製造競態條件,導致他們的快取寫入在屏障移除後才回寫到 DRAM,從而覆寫了 PSP 剛剛初始化的 RMP 內容。

最聰明的攻擊方式是針對 RMP 的自引用條目—RMP 中保護 RMP 本身所在記憶體頁面的條目。一個 8 位元組的覆寫可以將該頁面標記為可寫。攻擊者隨即可修改相鄰的 RMP 條目,創造級聯效應,最終完全破壞 RMP 的完整性保護。一旦 RMP 被控制,攻擊者可篡改虛擬機的元資料結構(Guest Context Page),包括禁用 debug 位元、修改 VM ID 或回放加密狀態雜湊,徹底瓦解 SEV-SNP 的隔離保證。

根本的架構缺陷在於保護屏障位置的時間錯位。初始化期間的 TMR 屏障位於 CPU 與記憶體控制器之間(CS 到 UMC),但轉移到 x86 核心級別後,快取層與記憶體控制器之間失去了防護。AMD 的修補方案是在初始化期間於核心層級也增加屏障,確保 PSP 寫入時 x86 的任何快取寫入都被硬體一致性機制自動回寫,而不會在屏障移除後才寫入。修補已於 2025 年 8 月發布,涉及 PSP 韌體與微碼更新。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

Risky Bulletin: Russia starts blocking DoH and DoT
編輯精選
8 min
Web2 安全英文PODCAST8月26日

Risky Bulletin: Russia starts blocking DoH and DoT

Risky Business

  • 國家級網路管制層級提升:俄羅斯主動封鎖加密 DNS 協定對抗審查工具,中國加速淘汰 Windows 系統並遷移自主 Linux 發行版,各國正透過技術與法律手段強化網路主權與信息控制能力。
  • 詐騙犯罪走向精密化與自動化:從冒充警察的聲音詐騙(竊取 7.2 百萬美元)、AI 語音代理自動化破解 iPhone 啟用鎖、到跨越數百網站的投資詐騙(詐騙 7400 萬美元),犯罪組織正利用自動化工具與 AI 技術大幅降低成本並擴大規模。
  • AI 惡意軟體威脅實際上被嚴重誇大:405 個整合 AI 的惡意軟體樣本中僅 12 個於真實感染被偵測,其餘來自測試環境,證明當前 AI 惡意軟體仍停留於實驗階段,尚未構成主流威脅。
SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;
5 min
Web2 安全英文PODCAST8月26日

SANS Stormcast Wednesday, August 26th, 2026: Obfuscating SSRF; Paint and Photos AI Watermarks; FTP Banner C2;

SANS Stormcast

  • SSRF 攻擊者已進化出高級繞過手段,不直接使用元數據服務 IP(169.254.169.254),而改用專門域名服務將請求轉址,支援點或破折號分隔 IP,甚至可自部署 DNS 伺服器進行 DNS 重綁定攻擊,使傳統簡易過濾機制失效。
  • 本地 AI 模型並非完全隱私:微軟 Paint 雖在本地執行生成邏輯,但安全檢查需上傳提示文字至遠程伺服器,返回時圖像內嵌不易移除的伺服器 GUID 隱形浮水印,可見浮水印(Copilot 圖標)則易被移除。
  • 傳統 FTP 協議被新型惡意軟體重新利用為命令控制通道,透過 FTP banner 傳遞指令於連接埠 21,防守者應視任何出站 FTP 流量為異常信號。
SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。