KeyFrame內部研究專用

Black Hat USA 2025 | Racing for Privilege

Black Hat·3月22日週日·29 min英文

三句話摘要

研究人員發現 Intel 處理器分支預測器中的微架構競態條件,可繞過 EIBRS 安全防護,讓非特權用戶從作業系統核心洩漏任意記憶體(包括 /etc/shadow 密碼雜湊)。 Intel 的 EIBRS 防護存在微架構競態條件盲點——分支預測的延遲寫入佇列在特權切換時會以錯誤標籤被提交,導致 2018 年以來所有依賴此機制的 Intel 平台均可被非特權用戶任意洩漏核心記憶體,Spectre 攻防戰遠未結束。 EIBRS 緩解機制存在根本性設計盲點:Intel 的 EIBRS 透過在分支預測條目中加入「特權模式標記」來防止跨特權域注入,但它假設預測完成時的特權狀態等同於分支執行時的特權狀態——這個假設在硬體流水線中並不成立,導致防護形同虛設。

重點整理

重點
  • 1

    EIBRS 緩解機制存在根本性設計盲點:Intel 的 EIBRS 透過在分支預測條目中加入「特權模式標記」來防止跨特權域注入,但它假設預測完成時的特權狀態等同於分支執行時的特權狀態——這個假設在硬體流水線中並不成立,導致防護形同虛設。

  • 2

    競態條件的核心:預測佇列的延遲寫入:分支預測並非瞬間完成,硬體需時間收集目標、尋找結構中的替換位置。若在這段「預測在途」期間執行 syscall 切換特權,處理器會以當前特權(kernel mode)而非原始特權(user mode)標記該預測,注入就此成立。

  • 3

    Intel 對前一漏洞的防護(BHIDS)反而使攻擊更容易:為緩解 Branch History Injection,Intel 實作了 BHIDS,直接關閉核心模式下的 history-based 預測器;攻擊者原本需費心繞過這個高優先級、但不受影響的預測器,BHIDS 卻把它自動關掉,讓低優先級的 IP-based 預測器成為唯一目標。

  • 4

    Spectre 攻防是持續性貓鼠遊戲,blackbox microcode 難以有效評估:自 2018 年起,每一輪緩解措施都衍生出新的繞過手法。Intel 的 microcode 修補因加密無法驗證其完整性,學術界認為必須建立對硬體廠商黑箱緩解措施的獨立評估機制。

實用技巧與重點

乾貨
  • 具體數字與指標
  • 訊號強度初期:一百萬次才出現一次(1-in-a-million)
  • 展示用伺服器:第 13 代 Intel(Raptor Lake)
  • 最終展示的 exploit 比論文原版快 10 倍
  • 攻擊延遲測試:使用 NOP 指令插入延遲,繪製成功率曲線,清楚顯示注入在短延遲時有效、超過閾值後失效
  • 工具與機制名稱
  • EIBRS(Enhanced Indirect Branch Restricted Speculation):Intel 主要長期 Spectre 緩解措施,寫入 MSR speculation control register 即啟用
  • IBPB(Indirect Branch Prediction Barrier):虛擬機切換時使用的隔離屏障,同樣被此漏洞破壞
  • BHIDS(BHI Disable in Supervisor Mode):Branch History Injection 的緩解措施,關閉 supervisor mode 下的 history-based 預測器
  • KASLR(Kernel Address Space Layout Randomization):核心位址隨機化,被攻擊手法透過暴力碰撞 branch predictor 繞過
  • 觸發點:`keyctl` 系統呼叫中的間接呼叫(function pointer call),攻擊者可控 buffer 與 buffer length 兩個暫存器
  • 側通道:Cache 命中/未命中(Flush+Reload / Prime+Probe 類型)
  • 攻擊流程
  • 注入分支預測(branch training)
  • 立即執行 syscall(`getpid` 等),在預測在途時切換特權
  • 準備 cache 狀態(prime)
  • 進入 kernel(觸發 ioctal / keyctl)
  • kernel 中的間接分支採用被污染預測,跳至 disclosure gadget
  • gadget 讀取秘密值並以 cache access 編碼回傳
  • 攻擊者量測 cache(probe),還原秘密位元組
  • 受影響範圍
  • 所有帶有 in-silicon Spectre 緩解的 Intel 處理器(含發布前型號)
  • 更早、無 EIBRS 但有 IBPB 的 Intel 處理器:IBPB 同樣被破壞
  • ARM 也存在類似問題(各授權廠各自實作緩解,情形更分散)
  • Apple M1 亦有相關論文,推測根本原因相同
  • 修補方式
  • Intel microcode 更新(加密,無法獨立驗證內容)
  • 洩漏目標示範
  • `/etc/shadow`(Linux 密碼雜湊檔,非特權用戶無讀取權限)
  • 利用已知前綴(Ubuntu 設定密碼後必以固定字元開頭)進行頁面定位

結論

結論

Intel 的 EIBRS 防護存在微架構競態條件盲點——分支預測的延遲寫入佇列在特權切換時會以錯誤標籤被提交,導致 2018 年以來所有依賴此機制的 Intel 平台均可被非特權用戶任意洩漏核心記憶體,Spectre 攻防戰遠未結束。

完整解析

詳細

2017 年底,Intel 召集全球半導體與軟體產業代表舉行緊急閉門會議,討論一類前所未見的漏洞——Spectre。Spectre 的根源在於 CPU 的投機執行(speculative execution)機制:為了提升效能,處理器會在分支結果確定之前提前預測並執行後續指令;預測錯誤時,錯誤執行的指令雖被丟棄,卻仍會在 branch target prediction 與 cache 等微架構結構中留下痕跡。由於這些結構跨特權域共享(user space、kernel、hypervisor 均使用相同硬體),攻擊者可以注入錯誤預測、劫持受害者域的投機控制流,進而讀取不應被存取的記憶體。Intel 的長期解決方案 EIBRS 為每筆預測加入特權標記,使跨域注入在理論上失效,產業因此鬆了一口氣。

然而,Graz 大學研究生 Sandro 在接手前輩 Johannes 的實驗時,注意到一個令人困惑的現象:在特定條件下,EIBRS 啟用的情形下仍能偵測到微弱訊號,且一個與分支預測看似毫無關係的操作——在注入後插入 `getpid` 系統呼叫——竟讓訊號從百萬分之一的噪訊躍升為穩定可重現的結果。歷經數週、數百個微小差異的對照實驗後,研究團隊得出結論:分支預測的寫入並非瞬間完成,而是存在一段「在途」延遲;若在這個視窗內執行 syscall 觸發特權切換,處理器會以切換後的特權(kernel mode)標記仍在佇列中的預測,繞過 EIBRS 的核心假設。更諷刺的是,Intel 為對抗前一代攻擊 Branch History Injection 而推出的 BHIDS,直接關閉了核心模式下較高精度的 history-based 預測器,使得本研究鎖定的低優先級 IP-based 預測器成為唯一作用目標,無意間降低了攻擊難度。

建立理論模型後,團隊開始構建完整攻擊鏈。攻擊目標是以非特權用戶從 kernel 洩漏 `/etc/shadow`。攻擊流程包含:(1)掃描 kernel binary 找到可受攻擊的間接分支(`keyctl` 系統呼叫中的 function pointer)及 disclosure gadget(兩條連續記憶體讀取指令);(2)由於 KASLR 會隨機化 kernel 位址,透過暴力碰撞 branch predictor 的側通道反推 kernel 實際載入位置;(3)同樣以側通道定位包含 `/etc/shadow` 內容的記憶體頁,利用已知前綴字元縮小搜尋範圍;(4)以競態條件注入預測並觸發 disclosure gadget,逐位元組洩漏資料。現場示範在第 13 代 Intel Raptor Lake、最新版 Ubuntu LTS 且已啟用所有官方緩解措施的伺服器上執行,數秒內成功輸出 root 帳號的密碼雜湊。

受影響範圍遠超過預期:研究人員追溯發現,從第一批具有 in-silicon Spectre 緩解的 Intel 處理器起,到尚未正式發布的新型號,均存在此競態條件;連 IBPB(虛擬機切換用的分支預測隔離屏障)也因相同原因被繞過,意味著雲端環境中的 guest-to-host 攻擊同樣可行。Intel 已透過加密 microcode 更新修補此漏洞,但研究人員指出,由於 microcode 不透明,無法獨立驗證修補的完整性,呼籲學術界與產業建立對硬體廠商黑箱緩解措施的系統性評估機制。

關鍵時刻

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 錯誤報告,進而收集目標系統配置情報。