paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing

Icicle:为灰盒固件模糊测试重新设计的模拟器
ISSTA Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis2023匹配度 1/10 · 该论文聚焦固件灰盒模糊测试的多架构模拟框架与架构无关插桩,属于动态测试/仿真方向;与用户关切的静态分析、LLM/Agent 辅助程序分析、浮点程序分析及贝叶斯程序分析均无直接交集。引用 24 inbox
Michael Chesser, Surya Nepal, Damith C. Ranasinghe
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出面向模糊测试的多架构模拟框架 Icicle,支持架构无关插桩,在多种 ISA 固件中发现新漏洞。

基于模拟的模糊测试可在无源码、真实硬件执行困难时测试固件,但现有工具多改造通用模拟器,插桩与反馈常按 ISA 临时定制,使先进 fuzzing 技术局限于 x86 或 ARM 等少数架构。本文设计并实现面向模糊测试的多架构模拟框架 Icicle,使插桩只需以架构无关方式添加一次且开销低,并将其用作最先进 ARM 固件 fuzzer Fuzzware 的模拟器,复现结果并发现新 bug。评估覆盖 x86-64、ARM/AArch64、RISC-V、MIPS,验证保真度与架构无关插桩有效性;对 TI MSP430 真实固件进行 fuzzing,发现 7 个新 bug。

问题
现有基于模拟的 fuzzer 改造通用模拟器,插桩与反馈机制常按 ISA 临时实现,难以支持多样 ISA 的固件模糊测试。
方法
重新设计面向 fuzzing 的多架构模拟框架 Icicle,提供一次编写、架构无关且低开销的插桩机制,并集成到 Fuzzware 中。
评估
在 x86-64、ARM/AArch64、RISC-V、MIPS 上验证保真度与插桩有效性并复现 Fuzzware 结果,还对 TI MSP430 真实固件进行 fuzzing,发现 7 个新 bug。
原文摘要(Abstract)

Emulation-based fuzzers enable testing binaries without source code and facilitate testing embedded applications where automated execution on the target hardware architecture is difficult and slow. The instrumentation techniques added to extract feedback and guide input mutations towards generating effective test cases is at the core of modern fuzzers. But, modern emulation-based fuzzers have evolved by re-purposing general-purpose emulators; consequently, developing and integrating fuzzing techniques, such as instrumentation methods, is difficult and often added in an ad-hoc manner, specific to an instruction set architecture (ISA). This limits state-of-the-art fuzzing techniques to a few ISAs such as x86/x86-64 or ARM/AArch64; a significant problem for firmware fuzzing of diverse ISAs. This study presents our efforts to re-think emulation for fuzzing. We design and implement a fuzzing-specific, multi-architecture emulation framework—Icicle. We demonstrate the capability to add instrumentation once, in an architecture agnostic manner, with low execution overhead. We employ Icicle as the emulator for a state-of-the-art ARM firmware fuzzer—Fuzzware—and replicate results. Significantly, we demonstrate the availability of new instrumentation in Icicle enabled the discovery of new bugs. We demonstrate the fidelity of Icicle and efficacy of architecture agnostic instrumentation by discovering bugs in benchmarks that require a known and specific operational capability of instrumentation techniques, across a diverse set of instruction set architectures (x86-64, ARM/AArch64, RISC-V, MIPS). Further, to demonstrate the effectiveness of Icicle to discover bugs in a currently unsupported architecture in emulation-based fuzzers, we perform a fuzzing campaign with real-world firmware binaries for Texas Instruments’ MSP430 ISA and discovered 7 new bugs.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{abs-2301-13346,
  title = {Icicle: A Re-designed Emulator for Grey-Box Firmware Fuzzing},
  author = {Michael Chesser and Surya Nepal and Damith C. Ranasinghe},
  booktitle = {ISSTA},
  year = {2023},
  doi = {10.1145/3597926.3598039}
}