z-logo
open-access-imgOpen Access
Adaptive Parallel Fuzzing with Multi-candidate Task Scheduling
Author(s) -
Sisi Li,
Ruilin Li,
Jiaxi Ye,
Chen Tang
Publication year - 2020
Publication title -
journal of physics. conference series
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.21
H-Index - 85
eISSN - 1742-6596
pISSN - 1742-6588
DOI - 10.1088/1742-6596/1619/1/012019
Subject(s) - fuzz testing , computer science , task (project management) , scheduling (production processes) , synchronization (alternating current) , distributed computing , software , parallel computing , operating system , computer network , channel (broadcasting) , operations management , management , economics
Parallel fuzzing is a widely used technique for bug detection. It improves fuzzing performance by taking full advantage of the computing resource. Nevertheless, existing parallel fuzzing approaches fail to extend fuzzing optimizations of single mode to parallel mode, due to the lack of efficient information synchronization and task division. To address the challenge, researchers propose a parallel fuzzing framework that combines guiding information synchronization with task division based on branch bitmap to improve the performance of the fuzzers in parallel mode. However, when augmenting existing fuzzers with the parallel framework, we find two types of limitations caused by some mechanisms of the fuzzers, such as task scheduling mechanism. In this paper, we present an optimized parallel fuzzing approach to improve fuzzing efficiency by making valuable tasks executed as much as possible. On the one hand, we introduce a multi-candidate task scheduling mechanism, which takes multiple tasks corresponding to an input as candidates, rather than one to obtain the chances of executing tasks that are valuable but can be missed. On the other hand, we apply a synchronization information-centric design solution to some mechanisms of the fuzzers and take synchronization information as a good indicator to decide whether the parallel instances ought to shift their running mode, which can improve the adaptive ability of parallel instances and facilitate them to timely execute valuable tasks. We implement a prototype system OPAFL on top of Fairfuzz and PAFL, and evaluate its performance on several real-world software. The experimental results show that OPAFL can execute more tasks valuable and achieve higher branch coverage, compared with original parallel mode of Fairfuzz and Fairfuzz augmented with PAFL.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here