arrow
Return

A Coverage-Guided Fuzzing Method for Automatic Software Vulnerability Detection Using Reinforcement Learning-Enabled Multi-Level Input Mutation

delete2024-01-01
delete1
delete
OA
AI
V
Van-Hau Pham *
D
Do Thi Thu Hien
N
Nguyen Phuc Chuong
P
Pham Thanh Thai
P
Phan The Duy
DOI:10.1109/ACCESS.2024.3421989delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Fuzzing is a popular and effective software testing technique that automatically generates or modifies inputs to test the stability and vulnerabilities of a software system, which has been widely applied and improved by security researchers and experts. The goal of fuzzing is to uncover potential weaknesses in software by providing unexpected and invalid inputs to the target program to monitor its behavior and identify errors or unintended outcomes. Recently, researchers have also integrated promising machine learning algorithms, such as reinforcement learning, to enhance the fuzzing process. Reinforcement learning (RL) has been proven to be able to improve the effectiveness of fuzzing by selecting and prioritizing transformation actions with higher coverage, which reduces the required effort to uncover vulnerabilities. However, RL-based fuzzing models also encounter certain limitations, including an imbalance between exploitation and exploration. In this study, we propose a coverage-guided RL-based fuzzing model that enhances grey-box fuzzing, in which we leverage deep Q-learning to predict and select input variations to maximize code coverage and use code coverage as a reward signal. This model is complemented by simple input selection and scheduling algorithms that promote a more balanced approach to exploiting and exploring software. Furthermore, we introduce a multi-level input mutation model combined with RL to create a sequence of actions for comprehensive input variation. The proposed model is compared to other fuzzing tools in testing various real-world programs, where the results indicate a notable enhancement in terms of code coverage, discovered paths, and execution speed of our solution.
Keywords:
Fuzzing
Codes
Software
Q-learning
Fault diagnosis
Source coding
Reinforcement learning
fuzzing
vulnerability detection
coverage fuzzing

Journal

IEEE Access cover
IEEE Access
IF:
3.6
Papers:
9.8W
Citations:
29.4W

Organization

Cited Papers

Cited Papers

Fuzzing: A Survey for Roadmap
err2022-09-09
err105
PREAI
errZhu, Xiaogang; Wen, Sheng; Camtepe, Seyit; Xiang, Yang
errShare
errSave
Exploration in Deep Reinforcement Learning: From Single-Agent to Multiagent Domain
err2024-07-01
err41
errOAAI
errHao, Jianye; Yang, Tianpei; Tang, Hongyao; Bai, Chenjia; Liu, Jinyi; Meng, Zhaopeng; Liu, Peng; Wang, Zhen
errShare
errSave
The Art, Science, and Engineering of Fuzzing: A Survey
err2021-11-01
err306
errOAAI
errManes, Valentin J. M.; Han, HyungSeok; Han, Choongwoo; Cha, Sang Kil; Egele, Manuel; Schwartz, Edward J.; Woo, Maverick
errShare
errSave
Design and Control of Lightweight Supernumerary Robotic Limbs for Sitting/Standing Assistance
err2017-03-21
err0
PREAI
errLaura Treers; Roger Lo; Michael Cheung; Aymeric Guy; Jacob Guggenheim; Federico Parietti; Harry Asada
errShare
errSave
Molecular Characterization and Phylogenetic Relationship of Wild Type 1 Poliovirus Strains Circulating across Pakistan and Afghanistan Bordering Areas during 2010–2012
err2014-09-17
err0
errOAAI
errShahzad Shaukat; Mehar Angez; Muhammad Masroor Alam; Salmaan Sharif; Adnan Khurshid; Farzana Malik; Lubna Rehman; Syed Sohail Zahoor Zaidi
errShare
errSave
The gibberellins
err1961-01-01
err0
PREAI
errJohn Frederick Grove
errShare
errSave
Coverage-Based Greybox Fuzzing as Markov Chain
err2019-05-01
err473
PREAI
errBohme, Marcel; Van-Thuan Pham; Roychoudhury, Abhik
errShare
errSave
Fuzzing vulnerability discovery techniques: Survey, challenges and future directions
err2022-09-01
err19
PREAI
errBeaman, Craig; Redbourne, Michael; Mummery, J. Darren; Hakak, Saqib
errShare
errSave
researcher View more