Self-adaptive fuzzing optimization method based on distribution divergence

To improve the performance of coverage-guided fuzzing, a method for self-adaptive optimization of fuzzing using distribution divergence and a deep reinforcement learning model was proposed. An interprocedural comparison flow graph was first constructed based on the interprocedural control flow graph to characterize the spatial random field corresponding to the branch condition variables of the program under test, and the distribution features of the random field generated by a fuzzing mutation strategy were extracted using the Monte Carlo method. Then, a deep graph convolutional neural network was constructed to extract the feature embeddings of the interprocedural comparison flow graph, and this neural network was used as the deep Q-network for deep reinforcement learning. Finally, an online deep reinforcement learning model was established based on the dual deep Q-network model, and an intelligent agent was trained to optimize the fuzzing mutation strategy. This deep reinforcement learning model defined its state using the random field distribution features corresponding to the seed file and the associated blocks. The selection for the focused mutation block of a seed file was defined as an action, and the distribution divergence of the approximate distributions of the random fields before and after the action was defined as the reward. A prototype was implemented for this fuzzing optimization method, and multiple rounds of up to 24 hours of evaluation were carried out on this prototype. The experimental results show that on the benchmark FuzzBench, the code coverage speed and overall coverage achieved by the prototype are significantly better than those of the baseline fuzzer AFL++ and HavocMAB, and better results are achieved on most benchmarks compared to CmpLog. On the benchmark Magma, stronger vulnerability triggering capability is demonstrated by the prototype on the benchmarks openssl, libxml, and sqlite3.

Publication Details

Journal
SHILAP Revista de lepidopterología
Published
2024-12-01
Primary Topic
Software Testing and Debugging Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Self-adaptive fuzzing optimization method based on distribution divergence

SHILAP Revista de lepidopterología
Software Testing and Debugging Techniques
article

Self-adaptive fuzzing optimization method based on distribution divergence

article en

Abstract

To improve the performance of coverage-guided fuzzing, a method for self-adaptive optimization of fuzzing using distribution divergence and a deep reinforcement learning model was proposed. An interprocedural comparison flow graph was first constructed based on the interprocedural control flow graph to characterize the spatial random field corresponding to the branch condition variables of the program under test, and the distribution features of the random field generated by a fuzzing mutation strategy were extracted using the Monte Carlo method. Then, a deep graph convolutional neural network was constructed to extract the feature embeddings of the interprocedural comparison flow graph, and this neural network was used as the deep Q-network for deep reinforcement learning. Finally, an online deep reinforcement learning model was established based on the dual deep Q-network model, and an intelligent agent was trained to optimize the fuzzing mutation strategy. This deep reinforcement learning model defined its state using the random field distribution features corresponding to the seed file and the associated blocks. The selection for the focused mutation block of a seed file was defined as an action, and the distribution divergence of the approximate distributions of the random fields before and after the action was defined as the reward. A prototype was implemented for this fuzzing optimization method, and multiple rounds of up to 24 hours of evaluation were carried out on this prototype. The experimental results show that on the benchmark FuzzBench, the code coverage speed and overall coverage achieved by the prototype are significantly better than those of the baseline fuzzer AFL++ and HavocMAB, and better results are achieved on most benchmarks compared to CmpLog. On the benchmark Magma, stronger vulnerability triggering capability is demonstrated by the prototype on the benchmarks openssl, libxml, and sqlite3.

SHILAP Revista de lepidopterología
Openalex Percentile: Top 48%
Software Testing and Debugging Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

Self-adaptive fuzzing optimization method based on distribution divergence · SHILAP Revista de lepidopterología (2024) | TGRS Research Map | TGRS