arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2602.02243cs.CR
收藏

SysFuSS:基于选择性符号执行的系统级固件模糊测试

SysFuSS: System-Level Firmware Fuzzing with Selective Symbolic Execution

University of Florida(佛罗里达大学)

Dakshina Tharindu, Aruna Jayasena, Prabhat Mishra

AI总结:

SysFuSS通过结合系统级模糊测试与选择性符号执行,高效检测固件漏洞,显著提升分支覆盖和漏洞发现效率。

摘要:

固件是计算系统中硬件与软件之间的关键接口,因此任何漏洞或漏洞都特别危险,因为它们可能导致灾难性的系统故障。虽然模糊测试是发现设计缺陷和安全漏洞的一种有希望的方法,但传统的模糊器无法检测固件漏洞。例如,现有的模糊器专注于用户级模糊测试,这不适合检测内核级漏洞。现有的模糊器在处理固件与硬件之间复杂的相互作用时也面临覆盖停滞问题。在本文中,我们提出了一种高效的固件验证框架SysFuSS,它集成了系统级模糊测试与选择性符号执行。我们的方法利用系统级仿真进行初始模糊测试,并在覆盖达到停滞点时自动切换到符号执行。这种策略使我们能够生成有针对性的测试用例,以触发固件设计中此前未探索的区域。我们已在现实世界中嵌入式固件上评估了SysFuSS,包括OpenSSL、WolfBoot、WolfMQTT、HTSlib、MXML和libIEC。实验评估表明,SysFuSS在分支覆盖和固件漏洞检测方面均显著优于最先进的模糊器。具体而言,SysFuSS可以检测118个已知漏洞,而最先进的模糊器只能覆盖其中13个。此外,SysFuSS激活这些漏洞所需的时间显著更短(最高3.3倍,平均1.7倍)。

英文摘要:

Firmware serves as the critical interface between hardware and software in computing systems, making any bugs or vulnerabilities particularly dangerous as they can cause catastrophic system failures. While fuzzing is a promising approach for identifying design flaws and security vulnerabilities, traditional fuzzers are ineffective at detecting firmware vulnerabilities. For example, existing fuzzers focus on user-level fuzzing, which is not suitable for detecting kernel-level vulnerabilities. Existing fuzzers also face a coverage plateau problem when dealing with complex interactions between firmware and hardware. In this paper, we present an efficient firmware verification framework, SysFuSS, that integrates system-level fuzzing with selective symbolic execution. Our approach leverages system-level emulation for initial fuzzing, and automatically transitions to symbolic execution when coverage reaches a plateau. This strategy enables us to generate targeted test cases that can trigger previously unexplored regions in firmware designs. We have evaluated SysFuSS on real-world embedded firmware, including OpenSSL, WolfBoot, WolfMQTT, HTSlib, MXML, and libIEC. Experimental evaluation demonstrates that SysFuSS significantly outperforms state-of-the-art fuzzers in terms of both branch coverage and detection of firmware vulnerabilities. Specifically, SysFuSS can detect 118 known vulnerabilities while state-of-the-art can cover only 13 of them. Moreover, SysFuSS takes significantly less time (up to 3.3X, 1.7X on average) to activate these vulnerabilities.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑