德国CISPA与比利时KU Leuven团队在USENIX Security 2026发布研究:多款商用RISC-V处理器在真实攻防场景下同样会受到Spectre家族推测执行攻击影响。也就是说,RISC-V并不是“默认更安全”的替代方案,而是进入了高性能乱序执行设计后,同样会踩到与高端x86、Arm类似的安全坑。
研究人员选用SiFive P550以及T-Head玄铁C910、C920等处理器进行验证。结果显示,Spectre利用“先猜测执行、后撤销结果”的机制,即使最终分支预测错误,处理器在快取等硬件资源中仍可能留下可被推断的痕迹。团队共测试13种攻击情境,其中12种在上述两类芯片上都能成功,覆盖条件分支、间接跳转、函数返回预测、以及依赖记忆体读写相依性推断等主流Spectre手法。
攻击能力并非凭空产生:前提是攻击者已能在目标机器上运行代码。进一步,他们借助Linux核心的BPF(Berkeley Packet Filter)能力,在C910上建立“任意核心内存读取”的攻防演示,测得的中位信息泄漏速度约为每秒338字节。需要注意的是,完整演示依赖特定Linux版本与BPF配置;另外部分攻击还要求处理器具备对应的分支预测相关能力,因此不能简单断言所有RISC-V系统都能在出厂默认状态下用同一方式直接复现。
更值得警惕的是:软件防护并没有跟上硬件与编译细节的变化。研究发现Linux的barrier_nospec()在RISC-V上可能被编译为no-op,导致原本期待的推测执行屏障缺失;同时当BPF JIT遇到验证器插入的BPF_NOSPEC屏障时,也未必会生成等效的RISC-V指令,进而让防护“名存实亡”。
此外,指令集层面也有短板。RISC-V目前缺少由指令集明确保证可停止推测执行的专用指令,使得不同处理器对“有效阻止推测执行”的实现方式不一致。作业系统难以采用一套通用的防护策略。
团队已向Linux核心提出5项修补方案,其中与用户空间内存访问索引遮罩、系统调用表索引遮罩、以及KVM索引遮罩相关的修补已进入主线;而与BPF推测执行屏障、futex索引遮罩有关的部分仍在审查阶段。换句话说,RISC-V的安全攻防还在加速追赶,而这一轮“实测能读内核内存”的证据,正在提醒企业与内核维护者尽快补齐链路上的防护空白。