AlphaFuzz: Evolutionary Mutation-based Fuzzing as Monte Carlo Tree Search

01/03/2021
by   Yiru Zhao, et al.
0

Fuzzing is becoming more and more popular in the field of vulnerability detection. In the process of fuzzing, seed selection strategy plays an important role in guiding the evolution direction of fuzzing. However, the SOTA fuzzers only focus on individual uncertainty, neglecting the multi-factor uncertainty caused by both randomization and evolution. In this paper, we consider seed selection in fuzzing as a large-scale online planning problem under uncertainty. We propose which is a new intelligent seed selection strategy. In Alpha-Fuzz, we leverage the MCTS algorithm to deal with the effects of the uncertainty of randomization and evolution of fuzzing. Especially, we analyze the role of the evolutionary relationship between seeds in the process of fuzzing, and propose a new tree policy and a new default policy to make the MCTS algorithm better adapt to the fuzzing. We compared with four state-of-the-art fuzzers in 12 real-world applications and LAVA-M data set. The experimental results show that could find more bugs on lava-M and outperforms other tools in terms of code coverage and number of bugs discovered in the real-world applications. In addition, we tested the compatibility of , and the results showed that could improve the performance of existing tools such as MOPT and QSYM.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/08/2023

Improving Performance Insensitivity of Large-scale Multiobjective Optimization via Monte Carlo Tree Search

The large-scale multiobjective optimization problem (LSMOP) is character...
research
10/21/2022

DARWIN: Survival of the Fittest Fuzzing Mutators

Fuzzing is an automated software testing technique broadly adopted by th...
research
10/07/2020

Fuzzing Based on Function Importance by Attributed Call Graph

Fuzzing has become one of the important methods for vulnerability detect...
research
05/25/2020

MTFuzz: Fuzzing with a Multi-Task Neural Network

Fuzzing is a widely used technique for detecting software bugs and vulne...
research
07/07/2018

SmartSeed: Smart Seed Generation for Efficient Fuzzing

Fuzzing is an automated application vulnerability detection method. For ...
research
12/24/2020

Seed Phenotyping on Neural Networks using Domain Randomization and Transfer Learning

Seed phenotyping is the idea of analyzing the morphometric characteristi...
research
05/30/2019

MoonLight: Effective Fuzzing with Near-Optimal Corpus Distillation

Mutation-based fuzzing typically uses an initial set of valid seed input...

Please sign up or login with your details

Forgot password? Click here to reset