FIRM-COV: High-Coverage Greybox Fuzzing for IoT Firmware via Optimized Process Emulation
Open Access
- 16 July 2021
- journal article
- research article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Access
- Vol. 9, 101627-101642
Abstract
With the growing prevalence of the Internet of Things (IoT), related security threats have kept pace. The need to dynamically detect vulnerabilities in IoT devices cannot be overstated. In this work, we present FIRM-COV, the first high coverage-oriented greybox fuzzer for IoT firmware. FIRM-COV leverages newly optimized process emulation by targeting IoT programs and mining real-world vulnerabilities. FIRM-COV focuses on solving problems of IoT fuzzing based on empirical analyses, using the required structured input, the inaccuracy and instability of emulation, and the required high code coverage. By optimizing the existing emulation technique, FIRM-COV always maintains a stable state and achieves high accuracy when detecting vulnerabilities. We also implement a dictionary generation algorithm to provide structured input values and synergy scheduling to achieve high coverage and throughput. We compare FIRM-COV with other IoT fuzzing frameworks for eight real-world IoT devices. As a result, FIRM-COV achieves the highest coverage and throughput, finding the fastest and most 1-day vulnerabilities with almost no false-positives. It also found two 0-day vulnerabilities in real-world IoT devices within 24 h.Keywords
This publication has 22 references indexed in Scilit:
- VUzzer: Application-aware Evolutionary Fuzzing2017
- Continuous Fuzzing with libFuzzer and AddressSanitizer2016
- Automated Dynamic Firmware Analysis at Scale2016
- Towards Automated Dynamic Analysis for Linux-based Embedded Firmware2016
- Driller: Augmenting Fuzzing Through Selective Symbolic Execution2016
- Repeatable Reverse Engineering with PANDA2015
- Firmalice - Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware2015
- Avatar: A Framework to Support Dynamic Security Analysis of Embedded Systems’ Firmwares2014
- Grammar-based whitebox fuzzing2008
- An empirical study of the reliability of UNIX utilitiesCommunications of the ACM, 1990