RISC-V 商用核心首證可受 Spectre 攻擊,Linux 防護未追上硬件
Tech News

RISC-V 商用核心首證可受 Spectre 攻擊,Linux 防護未追上硬件

圖片:via iThome — https://www.ithome.com.tw/news/178107
TechLab 編輯部(譯)·

P550、C910 同 C920 實機中招,完整利用仍有指定條件

RISC-V 嘅開放性避唔開 Spectre

iThome 報道,CISPA 同 KU Leuven 團隊喺 USENIX Security 2026 公開研究,喺 SiFive P550、玄鐵 C910 同 C920 實機重現多類 Spectre 攻擊。呢個結果值得睇,因為 RISC-V 只規定軟件見到嘅指令集介面,分支預測、cache 同亂序執行點設計,仍然由各間晶片廠決定。核心追求高效能,加入更進取嘅推測執行,Spectre 呢類風險自然跟住入場;開放指令集本身唔會自動提供保護。

SiFive P550 高效能 RISC-V 處理器官方產品圖片

圖片:SiFive

三款型號中招,唔代表全部 RISC-V 一樣

研究將 C910 同 C920 視作同一套核心微架構,再連同 P550 測試 13 種攻擊設定,涵蓋 PHT、BTB、RSB 同 STL 四類推測執行問題,兩套核心設計各有 12 種成功洩漏資料。當中 BTB 測試係研究人員主動開啟功能後所得;C910 同 P550 出廠設定會關閉 BTB,C920 就預設開啟。團隊亦試過較簡單嘅順序執行 U74、C906 同 C908,未觀察到資料洩漏,但呢個結果只適用於受測型號,唔係整個架構嘅免疫證明。

C910 讀到 kernel RAM,但攻擊門檻要講清楚

最完整嘅示範用 C910 配合 BPF gadget,從 kernel 記憶體抽取資料,中位速度係每秒 338 bytes。攻擊者首先要有權喺同一部機執行程式,系統亦要容許非特權 BPF。研究板冇廠方支援嘅新版 kernel,所以團隊喺 Linux 6.6.119 手動關掉 BPF 驗證,先完成端到端示範;論文就指出,6.17 或之後嘅 VeriFence 會改為插入 BPF_NOSPEC,但 RISC-V JIT 冇輸出實際屏障,開住非特權 BPF 嘅系統仍可能暴露攻擊面。呢啲條件同一般預設安裝有明顯距離,唔應講成插入惡意程式就即刻任讀 RAM。

Linux 有三項補丁入咗主線,BPF 同 futex 修補仍待審查

團隊搵到 syscall table、用戶空間指標、KVM、BPF JIT 同 futex 五處防護缺口。用戶空間指標遮罩、syscall table 索引同 KVM 索引三項補丁已合併入 Linux 主線;BPF 推測執行屏障同 futex 指標遮罩喺論文完成時仍等緊審查。問題係實際開發板常用廠方 kernel,未必已經回移主線修補,而研究用作讀取 kernel RAM 嘅 BPF 路徑偏偏仲未有完整方案。論文亦話 RISC-V 暫時冇 Spectre 專用 sysfs handler,系統甚至可能顯示處理器「not affected」,呢個狀態唔可以當安全證明。

指令集同 compiler 防護仍有缺口

Linux 嘅 barrier_nospec() 喺 RISC-V 會變成 no-op,BPF verifier 插入 BPF_NOSPEC 後,JIT 同樣可以乜指令都唔產生。原因係 RISC-V ISA 暫時冇一條明確保證停止推測執行嘅通用指令;團隊實測發現,P550 同 C910/C920 要用嘅替代屏障亦有分別。SiFive 同玄鐵已確認會公開各自適用嘅臨時屏障,不過作業系統要按核心型號揀方法,維護會幾麻煩。Compiler 方面,Speculative Load Hardening 仍以 prototype 為主,RISC-V retpoline 又會受 calling convention 同 function prologue 影響,未能穩定套落複雜程式。

用緊 RISC-V Linux 嘅團隊而家可以做咩

一般開發板用家暫時冇一個指令或者套件可以一次過補齊所有 Spectre 變種。較實際嘅做法係核對 SoC 型號、OpenSBI 同 kernel 版本,確認非特權 BPF 有冇開啟,同埋廠方有冇回移三項主線補丁;多人共用、會跑第三方程式或者準備放入雲端環境嘅系統,風險明顯高過單人離線開發板。下一步要睇 BPF 同 futex 補丁幾時合併、廠方屏障點樣接入 Linux,同 RISC-V 會唔會定出跨處理器都靠得住嘅推測執行屏障。


參考來源

本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。

分享:WhatsAppThreadsTelegramFacebook