中文

INSTILLER:高效且真实的RTL模糊测试

密码学与安全 2024-01-31 v1 软件工程

摘要

硬件(如CPU)中的bug需要在部署前检测出来。与软件bug不同,此类bug的检测面临诸多挑战,例如RTL输入指令的长度不断增长,导致更长的输入对模糊测试效果不佳。本文提出INSTILLER(Instruction Distiller),一种基于蚁群优化(ACO)的RTL模糊器。首先,通过变种ACO(VACO)算法提炼输入指令,保持指令长度短小且高效。其次,现有方法在模拟真实中断方面效果不佳,INSTILLER解决了在生成输入时插入中断和异常的问题。最后,为进一步提升INSTILLER的模糊测试性能,我们提出了基于硬件的种子选择和变异策略。我们实现了原型系统,并针对实际目标CPU内核进行了广泛实验。实验结果显示,INSTILLER的覆盖率比DiFuzzRTL高出29.4%,检测到的不匹配情况多出17.0%。借助VACO算法,INSTILLER生成的输入指令比DiFuzzRTL短79.3%,显著提升了指令精炼效率。此外,指令精炼带来了平均6.7%的执行速度提升。

关键词

引用

@article{arxiv.2401.15967,
  title  = {INSTILLER: Towards Efficient and Realistic RTL Fuzzing},
  author = {Gen Zhang and Pengfei Wang and Tai Yue and Danjun Liu and Yubei Guo and Kai Lu},
  journal= {arXiv preprint arXiv:2401.15967},
  year   = {2024}
}