本文针对当前CPU模糊测试中测试用例多样性不足的问题展开研究。作者分析现有主流CPU Fuzzer(如DifuzzRTL、Cascade等)后发现,其写入回数据(write-back data)存在高度重复且操作码分布不均,导致对CPU架构状态的探索不充分。为此,提出DiveFuzz框架,通过运行时精细控制指令的操作数,并结合上下文语义关联,生成具有多样化写入回数据和语义关联的指令流。此外,DiveFuzz引入一种新颖的变异器,可监控模糊测试过程以动态调整操作码分布,并准确消除误报。实验在五个常用覆盖率指标上评估,DiveFuzz相比DifuzzRTL和Cascade分别实现204倍和114倍的覆盖率加速。在XiangShan、CVA6、Rocket和NutShell四款知名开源RISC-V CPU上测试,共发现26个新bug,其中15个已分配CVE编号。本文方法显著提升了CPU模糊测试的指令多样性,对硬件安全测试领域具有重要参考价值。
💡 推荐理由: 首次从操作码分布和写入回数据多样性两个维度系统优化CPU模糊测试,显著提升覆盖率并发现大量真实漏洞,对RISC-V生态安全建设有直接推动作用。
🎯 建议动作: 研究跟进