kirancodes.me
To Proof Maintenance & Beyond!

BIFF: Practical Binary Fuzzing Framework for Programs of IoT and Mobile Devices

Cen Zhang, Yuekang Li, Hongxu Chen, Xiaoxing Luo, Miaohua Li, Anh Quynh Nguyen, Yang Liu

Abstract

Internet-of-things (IoT) or mobile devices are omnipresent in our daily life; the security issues inside them are especially crucial. Greybox fuzzing has been shown effective in detecting vulnerabilities. However, applications in IoT or mobile devices are usually proprietary to specific vendors, fuzzers are required to support binary-only targets. Moreover, since these devices are of heterogeneous architecture, assigned with limited resources, and many testing targets are server-like programs, applying existing fuzzing techniques faces great challenges.This paper proposes BIFF, a general-purpose fuzzer that aims to stress these issues. It supports binary-only targets, is general (supports multiple CPU architectures including Intel, ARM, MIPS, and PowerPC), fast (has the lowest runtime overhead compared to existing fuzzers), and flexible (uses a new fuzzing workflow that can fuzz any piece of code inside the target binary). Experiments demonstrate that BIFF has the best performance compared with state-of-the-art binary fuzzers and can fuzz the server-like programs which cannot be fuzzed by the existing fuzzers. Using BIFF, we’ve found 24 unknown vulnerabilities (including memory corruptions, infinite loops, and infinite recursions) in industrial products.

BibTeX
@inproceedings{Zhang-al:ASE21,
  author    = {Cen Zhang and
               Yuekang Li and
               Hongxu Chen and
               Xiaoxing Luo and
               Miaohua Li and
               Anh Quynh Nguyen and
               Yang Liu},
  title     = {{BIFF:} Practical Binary Fuzzing Framework for Programs of {IoT} and Mobile Devices},
  booktitle = {ASE},
  pages     = {1161--1165},
  publisher = {{IEEE}},
  year      = {2021},
}

Related papers