Skip to main navigation Skip to search Skip to main content

Engineering a Better Fuzzer with Synergically Integrated Optimizations

  • Jie Liang
  • , Yuanliang Chen
  • , Mingzhe Wang
  • , Yu Jiang*
  • , Zijiang Yang
  • , Chengnian Sun
  • , Xun Jiao
  • , Jiaguang Sun
  • *Corresponding author for this work
  • Tsinghua University
  • Western Michigan University
  • University of Waterloo
  • Villanova University

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

Abstract

State-of-the-art fuzzers implement various optimizations to enhance their performance. As the optimizations reside in different stages such as input seed selection and mutation, it is tempting to combine the optimizations in different stages. However, our initial attempts demonstrate that naive combination actually worsens the performance, which explains that most optimizations are still isolated by stages and metrics. In this paper, we present InteFuzz, the first framework that synergically integrates multiple fuzzing optimizations. We analyze the root cause for performance degradation in naive combination, and discover optimizations conflict in coverage criteria and optimization granularity. To resolve the conflicts, we propose a novel priority-based scheduling mechanism. The dynamic integration considers both branch-based and block-based coverage feedbacks that are used by most fuzzing optimizations. In our evaluation, we extract four optimizations from popular fuzzers such as AFLFast and FairFuzz and compare InteFuzz against naive combinations. The evaluation results show that InteFuzz outperforms the naive combination by 29% and 26% in path-and branch-coverage. Additionally, InteFuzz triggers 222 more unique crashes, and discovers 33 zero-day vulnerabilities in real-world projects with 12 registered as CVEs.

Original languageEnglish
Title of host publicationProceedings - 2019 IEEE 30th International Symposium on Software Reliability Engineering, ISSRE 2019
EditorsKatinka Wolter, Ina Schieferdecker, Barbara Gallina, Michel Cukier, Roberto Natella, Naghmeh Ivaki, Nuno Laranjeiro
PublisherIEEE Computer Society
Pages82-92
Number of pages11
ISBN (Electronic)9781728149813
DOIs
StatePublished - Oct 2019
Externally publishedYes
Event30th IEEE International Symposium on Software Reliability Engineering, ISSRE 2019 - Berlin, Germany
Duration: 28 Oct 201931 Oct 2019

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
Volume2019-October
ISSN (Print)1071-9458

Conference

Conference30th IEEE International Symposium on Software Reliability Engineering, ISSRE 2019
Country/TerritoryGermany
CityBerlin
Period28/10/1931/10/19

Keywords

  • Fuzzing
  • Optimizations Integration

Fingerprint

Dive into the research topics of 'Engineering a Better Fuzzer with Synergically Integrated Optimizations'. Together they form a unique fingerprint.

Cite this