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

被引:0
|
作者
Pham, Van-Hau [1 ]
Hien, Do Thi Thu [2 ]
Chuong, Nguyen Phuc
Thai, Pham Thanh
Duy, Phan The
机构
[1] Univ Informat Technol, Informat Secur Lab, Ho Chi Minh City 700000, Vietnam
[2] Vietnam Natl Univ Ho Chi Minh City, Ho Chi Minh City 700000, Vietnam
来源
IEEE ACCESS | 2024年 / 12卷
关键词
Fuzzing; Codes; Software; Q-learning; Fault diagnosis; Source coding; Reinforcement learning; fuzzing; vulnerability detection; coverage fuzzing;
D O I
10.1109/ACCESS.2024.3421989
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
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.
引用
下载
收藏
页码:129064 / 129080
页数:17
相关论文
共 1 条
  • [1] Fuzzing JavaScript Interpreters with Coverage-Guided Reinforcement Learning for LLM-Based Mutation
    Eom, Jueon
    Jeong, Seyeon
    Kwon, Taekyoung
    ISSTA 2024 - Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis, : 1656 - 1668