Finding Software Bugs in Embedded Devices
Francillon, A., Thomas, S. L., & Costin, A. (2021). Finding Software Bugs in Embedded Devices. In J. Hernandez-Castro, & G. Avoine (Eds.), Security of Ubiquitous Computing Systems : Selected Topics (pp. 183-197). Springer. https://doi.org/10.1007/978-3-030-10591-4_11
© The Author(s) 2021
The goal of this chapter is to introduce the reader to the domain of bug discovery in embedded systems which are at the core of the Internet of Things. Embedded software has a number of particularities which makes it slightly different to general purpose software. In particular, embedded devices are more exposed to software attacks but have lower defense levels and are often left unattended. At the same time, analyzing their security is more difficult because they are very “opaque”, while the execution of custom and embedded software is often entangled with the hardware and peripherals. These differences have an impact on our ability to find software bugs in such systems. This chapter discusses how software vulnerabilities can be identified, at different stages of the software life-cycle, for example during development, during integration of the different components, during testing, during the deployment of the device, or in the field by third parties.