小组研究成果被体系结构顶级会议 ASPLOS 2027 接收


ACM ASPLOS(International Conference on Architectural Support for Programming Languages and Operating Systems)是计算机体系结构领域最具影响力的顶级国际学术会议之一,长期关注计算机体系结构、编程语言与操作系统之间的交叉创新,与 ISCA、MICRO、HPCA 等会议共同构成计算机体系结构领域的重要国际学术交流平台。ASPLOS 汇集来自学术界和工业界的研究人员,重点关注处理器体系结构、硬件安全、系统设计与软硬件协同等前沿研究方向。

 

清华大学软件系统安全保障小组(WingTecher Lab)研究成果 “TrapFuzz: Understanding and Detecting Recovery Failure Issues in Multi-Trap Mechanisms of CPUs” 成功被 ASPLOS 2027 接收。该工作针对现代 RISC-V CPU 中复杂多重中断机制所引发的恢复失效问题,提出了面向多级嵌套中断行为的硬件模糊测试框架 TrapFuzz。该工作系统研究了真实 RISC-V CPU 中的多重中断恢复缺陷,并通过中断行为建模、状态引导测试以及恢复语义检测,实现对传统 CPU 测试方法难以覆盖和发现的静默恢复错误的有效检测。该工作由人民大学的讲师陈元亮、以及清华大学硕士生张旭东、颜臻、 博士生喻泽弘以及博士后马福辰等人共同完成。

研究成果概要:
 

现代 CPU 需要频繁处理异常、定时器中断、外部中断以及不同特权级之间的切换。当新的中断发生在已有中断处理过程中时,会形成复杂的多级嵌套中断链。CPU 必须正确保存和恢复程序计数器、特权级以及 `mstatus`、`mepc`、`mcause` 等关键控制状态。一旦其中某一级状态保存、委托、优先级处理或返回过程发生错误,就可能导致 CSR(Control and Status Register,控制与状态寄存器)状态破坏、错误的特权级恢复,甚至处理器无法继续正常执行。与普通崩溃类缺陷不同,这类恢复失效往往具有较强的隐蔽性:错误状态可能跨越多个中断层级持续传播,而 CPU 在较长时间内仍能继续执行,因此传统依赖 crash 或 hang 的测试方法很难及时发现。

 

为深入理解这一问题,本文首先对 6 款广泛使用的开源 RISC-V CPU 中的 47 个历史多重中断恢复问题进行了系统研究,从错误表现、内部状态、根因以及触发条件等多个角度分析其共性。研究发现,大部分的问题在错误发生时不会立即 crash 或 hang,甚至会在整个观测过程中持续静默传播;且很多的缺陷需要至少三级以上的中断交互才能触发。进一步分析表明,这些问题主要与中断进入、特权级与优先级、委托机制以及中断返回状态之间复杂的语义和时序依赖有关。

 

基于上述发现,本文提出 TrapFuzz,一个面向多重中断恢复失效的硬件模糊测试框架。TrapFuzz 主要包含三个关键设计。首先,提出 MTSM(Multi-Trap Sequence Model,多中断序列模型),从 RISC-V privileged specification 中抽取中断进入、委托、优先级以及 `mret`/`sret` 返回等规则,将复杂的多级中断行为统一建模为带合法性约束的状态转移,从而自动生成架构合法的嵌套中断序列。其次,提出 TSVS(Trap-State Volatility Score,中断状态波动度评分),综合考虑状态的合法转移数量、特权级变化以及关键 CSR 状态影响,引导模糊测试优先探索更加脆弱、更加容易产生恢复错误的中断状态。最后,TrapFuzz 构建面向恢复语义的统一检测机制,从 状态一致性、特权级流转和前向执行能力 三个方面持续检查 CPU 执行状态,从而发现传统 crash/hang oracle 难以识别的静默恢复失效。