论文标题
thehuzz:使用黄金参考模型来查找软件爆发的漏洞的指令构图
TheHuzz: Instruction Fuzzing of Processors Using Golden-Reference Models for Finding Software-Exploitable Vulnerabilities
论文作者
论文摘要
现代处理器日益增长的复杂性为现有的硬件验证工具和方法构成了许多挑战,以检测关键安全错误。最近对处理器的攻击显示了发现和利用硬件漏洞的致命后果。 模糊已成为检测软件漏洞的有前途的技术。最近,已经提出了一些硬件模糊技术。但是,它们遭受了一些限制,包括对常用硬件说明语言(HDL)等常用性,例如Verilog和VHDL,需要进行大量人力干预,以及无法捕获许多固有的硬件行为,例如信号过渡和浮线。 在本文中,我们介绍了一种新型的硬件绒毛thehuzz的设计和实施,该设计和实施克服了上述局限性,并显着改善了艺术的状态。我们分析了HDL中硬件设计的内在行为,然后测量对此类行为进行建模的覆盖范围指标。 Thehuzz生成了组装级指令,以增加所需的覆盖范围值,从而找到许多可以从软件中利用的硬件错误。我们在四个流行的开源处理器上评估了TheHuzz,与行业标准的随机回归方法和最先进的硬件Fuzzer diffuzrtl相比,速度分别达到1.98倍和3.33倍。使用Thehuzz,我们在这些处理器中检测到11个错误,包括8个新漏洞,并使用检测到的错误演示了利用。我们还表明,TheHuzz通过将其发现与Cadence Jaspergold工具发现的发现进行了比较,从而克服了半导体行业的正式验证工具的局限性。
The increasing complexity of modern processors poses many challenges to existing hardware verification tools and methodologies for detecting security-critical bugs. Recent attacks on processors have shown the fatal consequences of uncovering and exploiting hardware vulnerabilities. Fuzzing has emerged as a promising technique for detecting software vulnerabilities. Recently, a few hardware fuzzing techniques have been proposed. However, they suffer from several limitations, including non-applicability to commonly used Hardware Description Languages (HDLs) like Verilog and VHDL, the need for significant human intervention, and inability to capture many intrinsic hardware behaviors, such as signal transitions and floating wires. In this paper, we present the design and implementation of a novel hardware fuzzer, TheHuzz, that overcomes the aforementioned limitations and significantly improves the state of the art. We analyze the intrinsic behaviors of hardware designs in HDLs and then measure the coverage metrics that model such behaviors. TheHuzz generates assembly-level instructions to increase the desired coverage values, thereby finding many hardware bugs that are exploitable from software. We evaluate TheHuzz on four popular open-source processors and achieve 1.98x and 3.33x the speed compared to the industry-standard random regression approach and the state-of-the-art hardware fuzzer, DiffuzRTL, respectively. Using TheHuzz, we detected 11 bugs in these processors, including 8 new vulnerabilities, and we demonstrate exploits using the detected bugs. We also show that TheHuzz overcomes the limitations of formal verification tools from the semiconductor industry by comparing its findings to those discovered by the Cadence JasperGold tool.