Apr, 2024

超越随机输入:一种基于机器学习的硬件模糊测试

TL;DR现代计算系统在硬件作为信任根基上依赖较重。然而,不断增加的复杂性导致了跨层攻击可以利用的安全关键弱点。我们提出了一种新颖的基于 ML 的硬件模糊测试工具 ChatFuzz,它利用类似 ChatGPT 的 LLMs 来理解处理器语言,并通过代码覆盖度度量指标引导输入生成,以此解决现有工具在实际时间范围内无法全面覆盖复杂硬件设计的问题。在测试中,与最先进的模糊测试工具相比,ChatFuzz 在仅 52 分钟内达到了 75% 的条件覆盖率,而后者需要 30 个小时的时间窗口才能达到类似的覆盖率。此外,我们的工具在 130 个小时的时间范围内,仅提供有限的 10 个模拟实例 / 许可证情况下即可达到 80% 的覆盖率。在此期间,共进行了 19.9 万个测试用例,其中 6 千个测试用例与处理器的黄金模型产生了差异。我们的分析发现了 10 多个独特的不匹配之处,包括 RocketCore 中的两个新 bug 和与 RISC-V ISA 模拟器的差异。