Cybersecurity (Sep 2022)

Embedded fuzzing: a review of challenges, tools, and solutions

  • Max Eisele,
  • Marcello Maugeri,
  • Rachna Shriwas,
  • Christopher Huth,
  • Giampaolo Bella

DOI
https://doi.org/10.1186/s42400-022-00123-y
Journal volume & issue
Vol. 5, no. 1
pp. 1 – 18

Abstract

Read online

Abstract Fuzzing has become one of the best-established methods to uncover software bugs. Meanwhile, the market of embedded systems, which binds the software execution tightly to the very hardware architecture, has grown at a steady pace, and that pace is anticipated to become yet more sustained in the near future. Embedded systems also benefit from fuzzing, but the innumerable existing architectures and hardware peripherals complicate the development of general and usable approaches, hence a plethora of tools have recently appeared. Here comes a stringent need for a systematic review in the area of fuzzing approaches for embedded systems, which we term “embedded fuzzing” for brevity. The inclusion criteria chosen in this article are semi-objective in their coverage of the most relevant publication venues as well as of our personal judgement. The review rests on a formal definition we develop to represent the realm of embedded fuzzing. It continues by discussing the approaches that satisfy the inclusion criteria, then defines the relevant elements of comparison and groups the approaches according to how the execution environment is served to the system under test. The resulting review produces a table with 42 entries, which in turn supports discussion suggesting vast room for future research due to the limitations noted.

Keywords