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...

Full description

Saved in:
Bibliographic Details
Main Authors: XU Hang, JI Jiangan, MA Zheyu, ZHANG Chao
Format: Article
Language:English
Published: POSTS&TELECOM PRESS Co., LTD 2024-12-01
Series:网络与信息安全学报
Subjects:
Online Access:http://www.cjnis.com.cn/thesisDetails#10.11959/j.issn.2096-109x.2024079
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1823864889779683328
author XU Hang
JI Jiangan
MA Zheyu
ZHANG Chao
author_facet XU Hang
JI Jiangan
MA Zheyu
ZHANG Chao
author_sort XU Hang
collection DOAJ
description 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.
format Article
id doaj-art-90211c3331d4477a97704f38ee0cd21c
institution Kabale University
issn 2096-109X
language English
publishDate 2024-12-01
publisher POSTS&TELECOM PRESS Co., LTD
record_format Article
series 网络与信息安全学报
spelling doaj-art-90211c3331d4477a97704f38ee0cd21c2025-02-08T19:00:12ZengPOSTS&TELECOM PRESS Co., LTD网络与信息安全学报2096-109X2024-12-0110375880361870Self-adaptive fuzzing optimization method based on distribution divergenceXU HangJI JianganMA ZheyuZHANG ChaoTo 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.http://www.cjnis.com.cn/thesisDetails#10.11959/j.issn.2096-109x.2024079fuzzingdeep reinforcement learningdistribution divergencebranch condition variables
spellingShingle XU Hang
JI Jiangan
MA Zheyu
ZHANG Chao
Self-adaptive fuzzing optimization method based on distribution divergence
网络与信息安全学报
fuzzing
deep reinforcement learning
distribution divergence
branch condition variables
title Self-adaptive fuzzing optimization method based on distribution divergence
title_full Self-adaptive fuzzing optimization method based on distribution divergence
title_fullStr Self-adaptive fuzzing optimization method based on distribution divergence
title_full_unstemmed Self-adaptive fuzzing optimization method based on distribution divergence
title_short Self-adaptive fuzzing optimization method based on distribution divergence
title_sort self adaptive fuzzing optimization method based on distribution divergence
topic fuzzing
deep reinforcement learning
distribution divergence
branch condition variables
url http://www.cjnis.com.cn/thesisDetails#10.11959/j.issn.2096-109x.2024079
work_keys_str_mv AT xuhang selfadaptivefuzzingoptimizationmethodbasedondistributiondivergence
AT jijiangan selfadaptivefuzzingoptimizationmethodbasedondistributiondivergence
AT mazheyu selfadaptivefuzzingoptimizationmethodbasedondistributiondivergence
AT zhangchao selfadaptivefuzzingoptimizationmethodbasedondistributiondivergence