SplITS: Split Input-to-State Mapping for Effective Firmware Fuzzing
Guy Farrelly, Paul Quirk, Salil S. Kanhere, Seyit Camtepe, Damith C., Ranasinghe

TL;DR
SplITS introduces a novel feedback-driven approach for firmware fuzzing that effectively handles multi-byte magic strings, significantly increasing code coverage and bug discovery in real-world firmware binaries.
Contribution
We propose a new input-to-state mapping feedback mechanism that efficiently solves multi-byte string comparisons, enhancing firmware fuzzing effectiveness.
Findings
SplITS automatically solves 497% more multi-byte magic strings than prior methods.
Achieved up to 161% increase in code coverage in tested firmware.
Discovered 6 new bugs, including deep, guarded bugs previously hard to reproduce.
Abstract
Ability to test firmware on embedded devices is critical to discovering vulnerabilities prior to their adversarial exploitation. State-of-the-art automated testing methods rehost firmware in emulators and attempt to facilitate inputs from a diversity of methods (interrupt driven, status polling) and a plethora of devices (such as modems and GPS units). Despite recent progress to tackle peripheral input generation challenges in rehosting, a firmware's expectation of multi-byte magic values supplied from peripheral inputs for string operations still pose a significant roadblock. We solve the impediment posed by multi-byte magic strings in monolithic firmware. We propose feedback mechanisms for input-to-state mapping and retaining seeds for targeted replacement mutations with an efficient method to solve multi-byte comparisons. The feedback allows an efficient search over a combinatorial…
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.
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 · Web Application Security Vulnerabilities
