Publication Type
Journal Article
Version
acceptedVersion
Publication Date
9-2022
Abstract
Fuzzing is a widely-used software vulnerability discovery technology, many of which are optimized using coverage-feedback. Recently, some techniques propose to train deep learning (DL) models to predict the branch coverage of an arbitrary input owing to its always-available gradients etc. as a guide. Those techniques have proved their success in improving coverage and discovering bugs under different experimental settings. However, DL models, usually as a magic black-box, are notoriously lack of explanation. Moreover, their performance can be sensitive to the collected runtime coverage information for training, indicating potentially unstable performance. In this work, we conduct a systematic empirical study on 4 types of DL models across 6 projects to (1) revisit the performance of DL models on predicting branch coverage (2) demystify what specific knowledge do the models exactly learn, (3) study the scenarios where the DL models can outperform and underperform the traditional fuzzers, and (4) gain insight into the challenges of applying DL models on fuzzing. Our empirical results reveal that existing DL-based fuzzers do not perform well as expected, which is largely affected by the dependencies between branches, unbalanced sample distribution, and the limited model expressiveness. In addition, the estimated gradient information tends to be less helpful in our experiments. Finally, we further pinpoint the research directions based on our summarized challenges.
Keywords
Deep Learning, Testing, Fuzzing, Mutation, Coverage
Discipline
Artificial Intelligence and Robotics
Research Areas
Intelligent Systems and Optimization
Publication
IEEE Transactions on Dependable and Secure Computing
First Page
1
Last Page
13
ISSN
1545-5971
Identifier
10.1109/TDSC.2022.3200525
Publisher
Institute of Electrical and Electronics Engineers
Citation
LI, Siqi; XIE, Xiaofei; LIN, Yun; LI, Yuekang; FENG, Ruitao; LI, Xiaohong; GE, Weimin; and DONG, Jin Song.
Deep learning for coverage-guided fuzzing: How far are we?. (2022). IEEE Transactions on Dependable and Secure Computing. 1-13.
Available at: https://ink.library.smu.edu.sg/sis_research/7494
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/TDSC.2022.3200525