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.
翻译:现代处理器日益复杂,对现有的硬件核查工具以及检测安全临界错误的方法提出了许多挑战。最近对处理器的袭击表明发现和利用硬件弱点的致命后果。模糊作为发现软件弱点的一个很有希望的技术出现。最近,提出了一些硬件模糊技术。然而,这些技术受到若干限制,包括不适用于通用硬件描述语言(HDLs),如Verilog和VHDL等,需要大量的人力干预,无法捕捉许多内在硬件行为,如信号转换和浮动电线。在本文件中,我们介绍了新硬件模糊器(The Huzz)的设计和实施,这克服了上述限制,大大改进了艺术状态。我们分析了HDL的硬件设计固有行为,然后测量了模拟这种行为的覆盖范围。Huzz生成了组级指令,以增加理想的覆盖面值,从而无法从软件中找到许多硬件工具,例如信号转换和浮动电路线。我们评估了四个大众开源的硬件模糊器(TheHuzz)的设计和实施过程,Huzz(The new-huzz), 克服了上述软体标准(C-ral-ral-ral-ral-ral-ral-ral-ral-ral-ral-ral-ral-lational-lational-lational-lational-lational-lational-lationald-lock-lock-levations),以显示了这些标准3.x-s-s-x-s-x-x),以显示了Dhald-s-s-x-x-slation-cald-trad-s-x-x-x-s-s-x-slx-x-slation-x-x-x-trad-sald-x-trad-trad-trad-x-s-s-s-ld-ld-sld-sal-sldal-s-s-x-x-x-xx-x-x-x-x-x-s-s-s-s-s-s-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-l-