Scalable Fuzzing of Program Binaries with E9AFL

  • Xiang Gao
  • , Gregory J. Duck
  • , Abhik Roychoudhury

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Greybox fuzzing is an effective method for software testing. Greybox fuzzers, such as AFL, use instrumentation that collects path coverage information in order to guide the fuzzing process. The instrumentation is usually inserted by a modified compiler toolchain, meaning that the program must be recompiled in order to be compatible with greybox fuzzing. When source code is unavailable, or for projects with complex build systems, recompilation is not always feasible. In this paper, we present E9AFL, a fast and scalable tool that automatically inserts AFL instrumentation to program binaries. E9AFL is built on top of the E9Patch static binary rewriting tool. To combat the overhead caused by binary instrumentation, E9AFL develops a set of optimization strategies. Our evaluation results show that E9AFL outperforms existing binary instrumentation tools and achieves comparable performance with the compile time instrumentation.

Original languageEnglish
Title of host publicationProceedings - 2021 36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages1247-1251
Number of pages5
ISBN (Electronic)9781665403375
DOIs
StatePublished - 2021
Externally publishedYes
Event36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021 - Virtual, Online, Australia
Duration: 15 Nov 202119 Nov 2021

Publication series

NameProceedings - 2021 36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021

Conference

Conference36th IEEE/ACM International Conference on Automated Software Engineering, ASE 2021
Country/TerritoryAustralia
CityVirtual, Online
Period15/11/2119/11/21

Keywords

  • Binary rewriting
  • Fuzzing

Fingerprint

Dive into the research topics of 'Scalable Fuzzing of Program Binaries with E9AFL'. Together they form a unique fingerprint.

Cite this