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$\times$ faster coverage than the most recent processor fuzzer.
翻译:近期的研究表明,硬件模糊测试器可以有效地检测现代处理器中的安全漏洞。然而,现有的硬件模糊测试器没有很好地处理设计空间中难以到达的区域。因此,这些模糊测试器无法有效地模糊处理器中的安全关键控制和数据流逻辑,从而会错过安全漏洞。为了解决这个挑战,我们提出了 HyPFuzz,一种混合模糊测试器,它利用形式验证工具来帮助模糊器模糊处理器中难以到达的区域。为了提高 HyPFuzz 的效果,我们进行了时间和空间上的优化。首先,我们开发了一种调度策略来防止形式工具和模糊器的能力被低估或高估。其次,我们开发了启发式策略来选择设计空间中的目标点供形式工具攻击。我们在五个广泛使用的开源处理器上评估了 HyPFuzz。HyPFuzz 检测到最新处理器模糊测试器检测到的所有漏洞,并发现了三个之前广泛的模糊测试和形式验证未能发现的新漏洞。这导致了两个新的公共漏洞和曝光(CVE)条目。HyPFuzz 还实现了比最新处理器模糊测试器快11.68倍的覆盖率。