Dodrio: Parallelizing Taint Analysis Based Fuzzing via Redundancy-Free Scheduling

  • Jie Liang
  • , Mingzhe Wang
  • , Chijin Zhou
  • , Zhiyong Wu
  • , Jianzhong Liu
  • , Yu Jiang*
  • *Corresponding author for this work

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

Abstract

Taint analysis significantly enhances the capacity of fuzzing to navigate intricate constraints and delve into the state spaces of the target program. However, practical scenarios involving taint analysis based fuzzers with the common parallel mode still have limitations in terms of overall throughput. These limitations primarily stem from redundant taint analyses and mutations among different fuzzer instances. In this paper, we propose Dodrio, a framework that parallelizes taint analysis based fuzzing. The main idea is to schedule fuzzing tasks in a balanced way by exploiting real-time global state. It consists of two modules: real-time synchronization and load-balanced task dispatch. Real-time synchronization updates global states among all instances by utilizing dual global coverage bitmaps to reduce data race. Based on the global state, load-balanced task dispatch efficiently allocates different tasks to different instances, thereby minimizing redundant behaviors and maximizing the utilization of computing resources. We evaluated Dodrio on real-world programs both in Google’s fuzzer-test-suite and FuzzBench against AFL’s classical parallel mode, PAFL, and Ye’s PAFL on parallelizing two taint analysis based fuzzer FairFuzz and PATA. The results show that Dodrio achieved an average speedup of 123%–398% in covering basic blocks compared to others. Based on the speedup, Dodrio found 5%–16% more basic blocks. We also assessed the scalability of Dodrio. With the same resources, the coverage improvement increases from 4% to 35% when the number of instances in parallel (i.e., CPU cores) increases from 4 to 64, compared to the classical parallel mode.

Original languageEnglish
Title of host publicationFSE Companion - Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering
EditorsMarcelo d�Amorim
PublisherAssociation for Computing Machinery, Inc
Pages244-254
Number of pages11
ISBN (Electronic)9798400706585
DOIs
StatePublished - 10 Jul 2024
Externally publishedYes
Event32nd ACM International Conference on the Foundations of Software Engineering, FSE Companion - Porto de Galinhas, Brazil
Duration: 15 Jul 202419 Jul 2024

Publication series

NameFSE Companion - Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering

Conference

Conference32nd ACM International Conference on the Foundations of Software Engineering, FSE Companion
Country/TerritoryBrazil
CityPorto de Galinhas
Period15/07/2419/07/24

Keywords

  • Fuzzing
  • Parallel
  • Software Testing

Fingerprint

Dive into the research topics of 'Dodrio: Parallelizing Taint Analysis Based Fuzzing via Redundancy-Free Scheduling'. Together they form a unique fingerprint.

Cite this