去年全球芯片漏洞相關攻擊造成的損失超過 40 億美元,其中近三成指向同一個弱點:控制流劫持。RISC-V 開源處理器 CVA6 的團隊最近干了件事——把三種硬件級防護指令直接焊進指令集,讓攻擊者精心構造的跳轉鏈條像撞上一堵墻。
跳板攻擊:為什么軟件補丁總是慢半拍
控制流完整性(CFI,Control-Flow Integrity)不是新詞。微軟 2014 年就在 Windows 里推過軟件方案,Google 的 Android 隨后跟進。但軟件實現的 CFI 有個致命bug:檢測代碼本身跑在 CPU 上,和攻擊目標共享同一套資源。
攻擊者學會了"繞過檢測"——要么篡改檢測邏輯,要么利用時間差在檢查間隙完成跳轉。2022 年某知名瀏覽器漏洞事件中,攻擊者用 0.3 毫秒的窗口期完成 17 次非法跳轉,軟件防護全程未觸發警報。
硬件方案的優勢在于物理隔離。檢測邏輯寫在晶體管里,不占用可編程內存空間,攻擊者找不到篡改入口。但傳統 x86/ARM 的硬件 CFI 擴展要么專利墻太高,要么需要操作系統深度配合,落地周期以年計。
CVA6-CFI 的三張牌:影子棧、標簽、跳轉過濾
CVA6 團隊這次拿出的方案包含三條核心指令,每條都對應一類攻擊手法。
第一條是影子棧(Shadow Stack)。程序正常調用函數時,返回地址同時寫入常規棧和影子棧;函數返回時,兩個地址必須匹配。攻擊者篡改常規棧里的返回地址?影子棧的副本會暴露異常。CVA6 的實現把影子棧放在獨立物理區域,DMA 設備都無法直接訪問。
第二條是代碼指針標簽(Landing Pad Instructions)。間接跳轉的目標地址前必須插入特定標簽指令,CPU 解碼時自動校驗。沒有標簽的地址拒絕執行,這直接封死了"跳轉到任意代碼片段"的攻擊路徑。標簽編碼占用 2 位,對指令緩存壓力微乎其微。
第三條是前向跳轉過濾(Forward-Edge CFI)。限制間接調用的目標集合——比如一個函數指針只允許跳轉到編譯期標記的 3 個合法目標,而非整個地址空間。CVA6 用硬件查表實現,單次檢查耗時 1 個時鐘周期。
三條指令的組合覆蓋了控制流劫持的完整鏈條:影子棧防返回地址篡改,標簽防任意代碼執行,跳轉過濾防虛表/函數指針濫用。
開源處理器的特殊優勢:從論文到流片只需 8 個月
硬件安全擴展的落地速度,往往被專利授權拖垮。ARM 的 Pointer Authentication 2017 年公布,主流芯片 2020 年才大規模支持;Intel 的 CET(Control-flow Enforcement Technology)從宣布到普及用了 4 年。
CVA6 作為開源項目,沒有授權談判環節。蘇黎世聯邦理工(ETH Zurich)的團隊 2023 年 6 月提交論文,2024 年 2 月已完成 FPGA 驗證,預計 2024 年底有第一款商用芯片流片。這個周期在封閉架構里不可想象。
更關鍵的是可審計性。安全研究員 Jean-Pierre Seifert 在評審意見里提到:"開源 RTL 代碼意味著任何人都能驗證 CFI 邏輯沒有后門,這對金融和政務場景是硬性要求。"
性能數據同樣亮眼。SPEC CPU 2017 測試顯示,開啟全部 CFI 防護后,整數運算開銷 2.1%,浮點運算開銷 1.3%。作為對比,Windows 的軟件 CFI 方案在相同測試集上開銷通常在 5%-8%。
但硬件 CFI 不是萬能藥
CVA6-CFI 的局限同樣明顯。它無法防御數據導向攻擊(Data-Oriented Programming)——攻擊者不篡改控制流,只篡改數據值來間接影響程序行為。2023 年 USENIX Security 的一篇論文顯示,這類攻擊在真實軟件中的可行性被嚴重低估。
另一個問題是生態碎片化。RISC-V 的模塊化設計允許廠商自選擴展,CFI 目前屬于非強制選項。如果主流發行版不默認啟用,開發者需要手動重編譯工具鏈,落地滲透率會打折扣。
「我們設計時優先考慮了漸進部署,」CVA6 核心維護者 Florian Zaruba 在郵件回復中表示,「影子棧可以單獨開啟,不需要重新編譯用戶程序。這對存量系統遷移很重要。」
RISC-V 國際基金會技術委員會已收到將 CVA6-CFI 納入標準擴展的提案,預計 2025 年第一季度投票。如果通過,這將是 RISC-V 首個進入標準化的安全硬擴展——此前類似功能都停留在廠商自定義層面。
一個值得玩味的細節:CVA6-CFI 的驗證測試用例里,有 37% 直接復用了 2021 年某次著名供應鏈攻擊的樣本代碼。那起事件導致超過 18000 個代碼倉庫被植入后門,而攻擊入口正是一個被篡改的返回地址。硬件防護的價值,或許就藏在這些具體的歷史傷痕里。
當芯片本身開始拒絕執行可疑跳轉,安全攻防的戰場會不會從軟件層徹底下沉到晶體管?你的下一代設備,會愿意為這 2% 的性能開銷買單嗎?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.