[论文解读] HyPFuzz: Formal-Assisted Processor Fuzzing
HyPFuzz 将形式化验证与硬件模糊测试相结合,探索难以覆盖的处理器设计空间,实现更快的覆盖率并发现新的漏洞。
Recent research has shown that hardware fuzzers can effectively detect security vulnerabilities in modern processors. However, existing hardware fuzzers do not fuzz well the hard-to-reach design spaces. Consequently, these fuzzers cannot effectively fuzz security-critical control- and data-flow logic in the processors, hence missing security vulnerabilities. To tackle this challenge, we present HyPFuzz, a hybrid fuzzer that leverages formal verification tools to help fuzz the hard-to-reach part of the processors. To increase the effectiveness of HyPFuzz, we perform optimizations in time and space. First, we develop a scheduling strategy to prevent under- or over-utilization of the capabilities of formal tools and fuzzers. Second, we develop heuristic strategies to select points in the design space for the formal tool to target. We evaluate HyPFuzz on five widely-used open-source processors. HyPFuzz detected all the vulnerabilities detected by the most recent processor fuzzer and found three new vulnerabilities that were missed by previous extensive fuzzing and formal verification. This led to two new common vulnerabilities and exposures (CVE) entries. HyPFuzz also achieves 11.68$ imes$ faster coverage than the most recent processor fuzzer.
研究动机与目标
- 动机:在大型处理器中需要更快、更全面的硬件漏洞发现。
- 提出一个将形式化验证与硬件模糊测试集成的混合模糊测试框架。
- 开发调度、点选择和集成机制,以最大化覆盖率和效率。
- 在真实的开源处理器上演示 HyPFuzz,并将覆盖速度和漏洞发现与基线进行比较。
提出的方法
- 开发一个动态调度器,基于覆盖率比较在模糊测试和形式化验证之间切换。
- 创建一个点选择策略,针对尚未覆盖的设计点,以最大化后续模糊测试的覆盖率。
- 从覆盖点生成覆盖属性,并将形式化工具的输出转换为可执行的模糊测试种子。
- 将形式化工具的布尔赋值转换为适用于模糊测试种子的有效测试用例二进制。
- 实现一个属性生成器和测试用例转换器,以实现形式化工具与模糊测试器之间的无缝集成。
- 在五个开源处理器(Rocket Core、CVA6、BOOM、mor1kx、OR1200)上评估 HyPFuzz,并与 TheHuzz 和随机回归进行基准比较。
实验结果
研究问题
- RQ1如何有效地对形式化验证的指导进行调度,以最大化硬件设计覆盖率?
- RQ2在将形式化工具与模糊测试结合时,哪些覆盖点选择策略能实现覆盖率的最快提升?
- RQ3对于大型处理器设计,是否可以实现形式化工具输出与模糊测试种子之间的无缝转换?
- RQ4HyPFuzz 对检测到此前的模糊测试/形式化方法未发现的漏洞有何影响?
- RQ5HyPFuzz 在多种广泛使用的处理器核心和指令集架构(RISC-V 和 OpenRISC)上的扩展能力如何?
主要发现
- HyPFuzz 在覆盖速度上比最新的处理器模糊测试器(TheHuzz)快11.68×。
- HyPFuzz 检测到 TheHuzz 找到的所有漏洞,并发现了三个新漏洞,导致两项 CVE(CVE-2022-33021、CVE-2022-33023)。
- 与 TheHuzz 相比,HyPFuzz 的运行时间快 3.06×,指令覆盖也快 3.05×。
- 在覆盖率方面,HyPFuzz 比随机回归快 239.93×。
- 在 CVA6 上,HyPFuzz 在 72 小时内达到 94.78% 的分支覆盖率(而在另一项评估中 JasperGold 在 8 天达到 94.51%)。
- 通过混合执行,HyPFuzz 在覆盖率提升方面比仅使用形式化工具快 11.68×,且耗时更少。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。