Beyond Random Inputs: A Novel ML-Based Hardware Fuzzing

2024年04月10日
  • 简介
    现代计算系统严重依赖硬件作为信任的根源。然而,它们日益复杂的特性导致了安全关键漏洞的出现,跨层攻击可以利用这些漏洞。传统的硬件漏洞检测方法,如随机回归和形式化验证,存在一定的局限性。随机回归虽然可扩展,但在探索硬件方面很慢,而形式化验证技术通常涉及手动努力和状态爆炸。硬件模糊测试已经成为一种有效的方法,用于探索和检测现代处理器等大规模设计中的安全漏洞。它们在覆盖范围、可扩展性和效率方面优于传统方法。然而,最先进的模糊测试工具在实际时间范围内往往难以实现对复杂硬件设计的全面覆盖,往往无法达到70%的覆盖率阈值。我们提出了一种新颖的基于机器学习的硬件模糊测试工具ChatFuzz,以解决这个挑战。我们的方法利用像ChatGPT这样的LLM来理解处理器语言,专注于机器代码和生成汇编代码序列。RL被整合到输入生成过程中,通过使用代码覆盖度指标奖励输入。我们使用开源的基于RISCV的RocketCore处理器作为我们的测试平台。ChatFuzz在仅52分钟内实现了75%的条件覆盖率,而最先进的模糊测试工具需要长达30小时的时间才能达到类似的条件覆盖率。此外,在130小时的时间内,我们的模糊测试工具可以在有限的10个模拟实例/许可证池的情况下达到80%的覆盖率。在此期间,它进行了总共199K个测试用例,其中6K个与处理器的黄金模型产生了差异。我们的分析识别出了10多个独特的不匹配点,包括RocketCore中的两个新错误和与RISC-V ISA模拟器的不匹配点。
  • 图表
  • 解决问题
    论文旨在解决硬件安全漏洞检测方法的局限性,提出一种新的基于机器学习的硬件模糊测试方法。
  • 关键思路
    论文提出了一种新的基于机器学习的硬件模糊测试方法,使用ChatGPT等LLMs理解处理器语言并生成汇编代码序列,同时使用强化学习指导输入生成过程。实验结果表明,该方法在52分钟内就可以达到75%的条件覆盖率,相比当前最先进的模糊测试方法大大缩短了测试时间。
  • 其它亮点
    论文使用开源的RISCV-based RocketCore处理器作为测试平台,实验结果表明ChatFuzz方法可以在短时间内实现高覆盖率,并且在测试过程中发现了两个新的漏洞。论文提供了开源代码和数据集,值得进一步研究。
  • 相关研究
    在硬件安全漏洞检测领域,已有一些相关研究,如:"Hardware Security: Threats and Mitigation Techniques"和"Survey of Hardware Vulnerability Analysis Techniques"。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论