Ember-IO: Effective Firmware Fuzzing with Model-Free Memory Mapped IO
Guy Farrelly (1), Michael Chesser (1), Damith C. Ranasinghe (1) ((1), University of Adelaide)

TL;DR
Ember-IO introduces a novel firmware fuzzing approach that leverages model-free memory-mapped IO to efficiently explore peripheral interactions, significantly improving code coverage and bug detection in embedded firmware testing.
Contribution
The paper presents Ember-IO, a new fuzzing framework that enhances firmware testing by addressing input-space challenges without relying on hardware models, outperforming existing methods.
Findings
Up to 255% increase in code coverage compared to state-of-the-art.
Discovered 6 new bugs in real-world firmware.
Integrated with Fuzzware, maintains or improves coverage and reproduces key bugs.
Abstract
Exponential growth in embedded systems is driving the research imperative to develop fuzzers to automate firmware testing to uncover software bugs and security vulnerabilities. But, employing fuzzing techniques in this context present a uniquely challenging proposition; a key problem is the need to deal with the diverse and large number of peripheral communications in an automated testing framework. Recent fuzzing approaches: i) employ re-hosting methods by executing code in an emulator because fuzzing on resource limited embedded systems is slow and unscalable; and ii) integrate models of hardware behaviour to overcome the challenges faced by the massive input-space to be explored created by peripheral devices and to generate inputs that are effective in aiding a fuzzer to make progress. Our efforts expounds upon program execution behaviours unique to firmware to address the resulting…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Advanced Malware Detection Techniques · Adversarial Robustness in Machine Learning
