过去十年中暴露的大量 CPU 漏洞表明,微架构层面的性能优化可能会破坏隔离性。诸如 Meltdown 和 Spectre 等瞬态执行攻击揭示了 x86 CPU 在设计上的深层缺陷。相比之下,RISC-V 以“简洁性”和“透明性”的承诺进入这一领域——仿佛一张干净的白纸。然而问题仍然存在:我们会重蹈覆辙,还是能够从一开始就设计出安全的体系结构?
本次报告将批判性地审视当前 RISC-V 实现在微架构安全方面的处理方式。我们表明,即便是看似“简单”的顺序执行(in-order)设计,也已经存在架构性缺陷和强大的侧信道。在我们之前的工作中,我们在首批商用 RISC-V CPU 上展示了新的攻击方式,例如 Cache+Time 和 CycleDrift,利用了对指令退休计数器的非特权访问以及缓存时序泄露。
然而,人工分析并不具备可扩展性。RISCover 是我们提出的开源差分模糊测试框架,能够在闭源 RISC-V CPU 上自动发现架构漏洞。通过对来自 3 家厂商的 8 款商用 CPU 的指令行为进行对比,RISCover 发现了人工分析所遗漏的问题:GhostWrite,这是 T-Head 的 XuanTie C910 中的一个漏洞,允许非特权代码直接写入物理内存,完全绕过虚拟内存隔离。我们还发现了多种“halt-and-catch-fire”指令序列,可在用户态直接使 CPU 崩溃,导致拒绝服务。
这些发现揭示了一个共性模式:尽管 RISC-V 规范本身提供了强有力的安全原语(例如 PMP 以及更清晰的特权级隔离),但具体实现往往选择了不安全的默认配置——例如保留非特权可访问的高精度计时源、随芯片发布未经充分验证的厂商扩展(如 XTheadVec),以及缺乏限制推测执行的机制。RISC-V 正处在一个关键拐点:这一体系结构仍然足够年轻,尚有修正的空间,但其采用速度正在迅速加快。厂商今天所做的决定——不安全的默认设置、未经验证的扩展、缺失的缓解措施——都将被固化进未来数十亿颗无法打补丁的芯片之中。
视频源地址:https://fosdem.org/2026/schedule/event/DL89YW-how-secure-are-commercial-risc-v-cpus/
对底层安全和体系结构设计感兴趣的开发者,可以在 云栈社区 的对应板块中找到更多深度讨论和资源。
|