商用 RISC-V 處理器證實存 Spectre 漏洞,Linux 核心急修補
原本被業界視為較不易受 Spectre 漏洞影響的 RISC-V 架構,如今也被證實存在安全隱憂。來自比利時與德國學術機構的研究團隊,在第 35 屆 Usenix 安全研討會(Usenix Security Symposium)發表的最新論文中指出,部分市售的「亂序執行」(out-of-order)RISC-V 處理器,已可被多種 Spectre 變種攻擊成功利用。
過去探討 RISC-V 與 Spectre 漏洞的關聯時,多半聚焦於學術研究用途的處理器;而本次研究則是首度將焦點轉向商用矽晶片。研究明確點出兩種架構設計的差異結果:
暴露於風險(亂序執行設計):包含 SiFive P550 與平頭哥(T-Head)玄鐵 C910、C920 等商用晶片,均面臨主要 Spectre 漏洞的威脅。
未顯示弱點(循序執行 in-order 設計):如 SiFive U74 以及玄鐵 C906、C908,目前則未觀察到相同的弱點。
論文指出,研究人員利用了 Spectre-PHT、Spectre-BTB、Spectre-RSB 與 Spectre-STL 等手法,在兩款受影響的處理器上進行了概念驗證攻擊。結果顯示,攻擊的召回率(recall)最高可達 100%,精準度(precision)更超過 97%。
為了凸顯實際的危險性,團隊還展示了一項概念性漏洞利用程式:在玄鐵 C910 處理器上,攻擊者能以每秒 338 Bytes 的速度,精準竊取任意的 Linux 核心記憶體資料。
研究團隊警告,過去針對 x86 與 ARM 架構所發展出的成熟軟體防護措施,未必能直接移植至 RISC-V 環境。主要困境在於:
硬體限制:RISC-V 硬體缺乏足夠的內省介面(introspection interfaces),使開發者難以窺探微架構的底層特徵。
生態系複雜:RISC-V 生態系統高度多樣化,導致單一的緩解策略極難一體適用。
因此,作者主張,填補此安全缺口不能只靠移植既有的修補程式,而是需要建立更完整的架構原語(architectural primitives)、提升硬體透明度,並開發跨生態系的防護工具。
研究人員表示,他們已於去年 12 月遵循負責任的揭露程序通報相關發現。目前的修補進度如下:
Linux 核心:其中三項修補程式已合併進 Linux 主線,另外兩項仍在審查中。
晶片廠商:SiFive 已處理與 P550 相關的問題;平頭哥則承諾未來會為其處理器發布臨時性的推測執行阻擋機制。
研究團隊補充,考量到 Spectre 漏洞問題存在業界已長達八年,因此決定不再延後公開這項重要的研究成果。
(首圖來源:Derrick Coetzee (User:Dcoetzee), CC0, via Wikimedia Commons)