去年全球芯片漏洞相关攻击造成的损失超过 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.