Skip to content
STIMSMITH

SOURCE ARCHIVE

SHA256: 8a1aea5c900ee5981ada4c0e07720bd852abbcba0cd9be535cbc46ddff616509
TYPE: text/html
SIZE: 42.3 KB
FETCHED: 9/28/2026, 10:05:20 PM
EXTRACTOR: http-html
CHARS: 2,534

EXTRACTED CONTENT

2,534 chars

[Submitted on 31 Jan 2023 (

v1

), last revised 21 Jun 2023 (this version, v2)]

Title:Icicle: A Re-Designed Emulator for Grey-Box Firmware Fuzzing

View a PDF of the paper titled Icicle: A Re-Designed Emulator for Grey-Box Firmware Fuzzing, by Michael Chesser and 2 other authors

View PDF HTML (experimental)

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, are 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 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 LAVA-M benchmark bugs, requiring 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 MSP430 firmware binaries and discovered 7 new bugs.

Submission history

From: Michael Chesser [

view email

]

[v1]

Tue, 31 Jan 2023 00:32:29 UTC (814 KB)

[v2]

Wed, 21 Jun 2023 06:03:14 UTC (859 KB)