Publication Type
Journal Article
Version
acceptedVersion
Publication Date
12-2023
Abstract
Fuzzing is one of the prevailing methods for vulnerability detection. However, even state-of-the-art fuzzing methods become ineffective after some period of time, i.e., the coverage hardly improves as existing methods are ineffective to focus the attention of fuzzing on covering the hard-to-trigger program paths. In other words, they cannot generate inputs that can break the bottleneck due to the fundamental difficulty in capturing the complex relations between the test inputs and program coverage. In particular, existing fuzzers suffer from the following main limitations: 1) lacking an overall analysis of the program to identify the most “rewarding” seeds, and 2) lacking an effective mutation strategy which could continuously select and mutates the more relevant “bytes” of the seeds. In this work, we propose an approach called ATTUZZ to address these two issues systematically. First, we propose a lightweight dynamic analysis technique that estimates the “reward” of covering each basic block and selects the most rewarding seeds accordingly. Second, we mutate the selected seeds according to a neural network model which predicts whether a certain “rewarding” block will be covered given certain mutations on certain bytes of a seed. The model is a deep learning model equipped with an attention mechanism which is learned and updated periodically whilst fuzzing. Our evaluation shows that ATTUZZ significantly outperforms 5 state-of-the-art grey-box fuzzers on 6 popular real-world programs and MAGMA data sets at achieving higher edge coverage and finding new bugs. In particular, ATTUZZ achieved 1.2X edge coverage and 1.8X bugs detected than AFL++ over 24-hour runs. In addition, ATTUZZ also finds 4 new bugs in the latest version of some popular software including p7zip and openUSD.
Keywords
Attention Model, Codes, Computer bugs, Deep learning, Electronic mail, Fuzzing, Image edge detection, Program Analysis, Recurrent neural networks
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
IEEE Transactions on Software Engineering
First Page
1
Last Page
18
ISSN
0098-5589
Identifier
10.1109/TSE.2023.3338129
Publisher
Institute of Electrical and Electronics Engineers
Citation
ZHU, Shunkai; WANG, Jingyi; SUN, Jun; YANG, Jie; LIN, Xingwei; ZHANG, Liyi; and CHENG, Peng.
Better pay attention whilst fuzzing. (2023). IEEE Transactions on Software Engineering. 1-18.
Available at: https://ink.library.smu.edu.sg/sis_research/8550
Copyright Owner and License
Authors
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/TSE.2023.3338129