Litcius/Paper detail

Discovery and Identification of Memory Corruption Vulnerabilities on Bare-Metal Embedded Devices

Majid Salehi, Luca Degani, Marco Roveri, Danny Hughes, Bruno Crispo

2022IEEE Transactions on Dependable and Secure Computing21 citationsDOIOpen Access PDF

Abstract

Memory corruption vulnerabilities remain a prevalent threat on low-cost bare-metal devices. Fuzzing is a popular technique for automatically discovering such vulnerabilities. However, bare-metal devices lack even basic security mechanisms such as Memory Management Unit. Consequently, fuzzing approaches encounter silent memory corruptions with no visible effects, making even discovery difficult. Once discovered, it is also essential to identify the type of observed vulnerability for applying mitigation. Both discovery and identification remain open challenges in the case of fuzzing firmware binaries. This article addresses these problems by proposing an automated instrumentation technique that allows the observation of memory corruption vulnerabilities that are otherwise not observable and facilitates the automated identification of the observed vulnerability. Additionally, we surveyed state-of-the-art IoT fuzzers and analyzed their experimental methodologies. We found that existing approaches have fundamental problems that lead to incorrect or misleading results. To evaluate the effectiveness of IoT fuzzers, it is essential to determine the range and type of vulnerabilities that these fuzzers can discover. Thus, we propose the first ground-truth benchmark suite for IoT fuzzers that enables accurate and consistent evaluation of their vulnerability-finding performance. Our instrumentation framework's efficacy and efficiency in combination with state-of-the-art IoT fuzzers are assessed using the proposed benchmark.

Topics & Concepts

Fuzz testingComputer scienceBenchmark (surveying)Taint checkingIdentification (biology)Vulnerability (computing)FirmwareSoftware bugComputer securityInstrumentation (computer programming)SoftwareOperating systemBiologyBotanyGeodesyGeographySecurity and Verification in ComputingAdvanced Memory and Neural ComputingFerroelectric and Negative Capacitance Devices