Bachelor Thesis BCLR-2024-04

BibliographyStuby, Jannick: Applying machine learning techniques for improvingtest input generation in embedded fuzzers.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 5 (2024).
92 pages, english.

In the rapidly evolving landscape of the Internet of Things (IoT), the number of connected devices is growing exponentially. This growth is accompanied by an increasing demand to ensure the security and continuity of such devices, as they are often used in critical applications. Similar to other areas of software engineering, automated testing of embedded devices, namely fuzzing, is a promising approach to ensure the quality of such devices, while reducing the time and effort required for testing. However, the unique characteristics of embedded devices, such as limited resources and the lack of a standardized operating system, make it difficult to apply existing testing approaches to them. This thesis aims to understand the current state of the art of the fuzzing of embedded devices and researches possibilities to augment this process with the help of machine learning, to improve the input generation stage during fuzz testing. To this end, we first conduct a literature review to identify the current state of the art of fuzzing embedded devices, highlighting differences to traditional desktop fuzzing. We then conduct an in depth review to evaluate existing machine learning approaches to traditional, as well as embedded fuzzing. Finally, using the information gathered, we propose a machine learning-based approach to augment the input generation stage during the fuzzing process of embedded devices. Our results show that machine learning can be introduced to fuzzing of embedded devices, but it requires significant manual effort to do so. Furthermore, we show that the current state of the art of publicly available methods is not yet mature enough to be used in general practice.

Full text and
other links
Department(s)University of Stuttgart, Institute of Software Technology, Empirical Software Engineering
Superviser(s)Wagner, Prof. Stefan; Agh, Dr. Halimeh; Eris, Halit
Entry dateApril 8, 2024
   Publ. Computer Science