Fuzzing Firmware Binaries with Taint-Derived Crash Conditions
Project ID:
P15_24
Principal Investigator:
Dr. Houman Homayoun
Email:
Co-Principal Investigator(s):
N/A
Topic Areas:
Microelectronics Research and Development
Abstract
The pervasive deployment of deeply embedded systems in modern consumer electronics, especially IoT devices, has given rise to a critical need for robust security auditing mechanisms, as vulnerabilities in these systems pose significant risks to data integrity, privacy, and even physical safety. In the past decade, firmware fuzzing has become a promising area of research for vulnerability detection in embedded systems [1-6]; however, the types of vulnerabilities that existing tools can detect are limited by the crash conditions of the simulation environment, which in turn depends on the amount of prior knowledge that can be built into it. Moreover, the crashes that such tools locate must be painstakingly evaluated via manual root cause analysis in order to identify unique underlying vulnerabilities. To address these issues, we propose the creation of a fuzzing framework for bare-metal embedded firmware binaries based on dynamic taint tracking to enable user specified crash conditions via taint policy enforcement. By fuzzing firmware binaries within a dynamic taint engine, an analyst would be able to carefully construct taint policies to control the conditions under which crashes occur, allowing them to audit firmware for specific classes of vulnerabilities.