MooFuzz: Many-Objective Optimization Seed Schedule for Fuzzer

Coverage-based Greybox Fuzzing (CGF) is a practical and effective solution for finding bugs and vulnerabilities in software. A key challenge of CGF is how to select conducive seeds and allocate accurate energy. To address this problem, we propose a novel many-objective optimization solution, MooFuzz...

Full description

Bibliographic Details
Main Authors: Xiaoqi Zhao, Haipeng Qu, Wenjie Lv, Shuo Li, Jianliang Xu
Format: Article
Language:English
Published: MDPI AG 2021-01-01
Series:Mathematics
Subjects:
Online Access:https://www.mdpi.com/2227-7390/9/3/205
_version_ 1797409288676704256
author Xiaoqi Zhao
Haipeng Qu
Wenjie Lv
Shuo Li
Jianliang Xu
author_facet Xiaoqi Zhao
Haipeng Qu
Wenjie Lv
Shuo Li
Jianliang Xu
author_sort Xiaoqi Zhao
collection DOAJ
description Coverage-based Greybox Fuzzing (CGF) is a practical and effective solution for finding bugs and vulnerabilities in software. A key challenge of CGF is how to select conducive seeds and allocate accurate energy. To address this problem, we propose a novel many-objective optimization solution, MooFuzz, which can identify different states of the seed pool and continuously gather different information about seeds to guide seed schedule and energy allocation. First, MooFuzz conducts risk marking in dangerous positions of the source code. Second, it can automatically update the collected information, including the path risk, the path frequency, and the mutation information. Next, MooFuzz classifies seed pool into three states and adopts different objectives to select seeds. Finally, we design an energy recovery mechanism to monitor energy usage in the fuzzing process and reduce energy consumption. We implement our fuzzing framework and evaluate it on seven real-world programs. The experimental results show that MooFuzz outperforms other state-of-the-art fuzzers, including AFL, AFLFast, FairFuzz, and PerfFuzz, in terms of path discovery and bug detection.
first_indexed 2024-03-09T04:12:02Z
format Article
id doaj.art-d57b37dc846840caaca28cacd855f217
institution Directory Open Access Journal
issn 2227-7390
language English
last_indexed 2024-03-09T04:12:02Z
publishDate 2021-01-01
publisher MDPI AG
record_format Article
series Mathematics
spelling doaj.art-d57b37dc846840caaca28cacd855f2172023-12-03T13:59:29ZengMDPI AGMathematics2227-73902021-01-019320510.3390/math9030205MooFuzz: Many-Objective Optimization Seed Schedule for FuzzerXiaoqi Zhao0Haipeng Qu1Wenjie Lv2Shuo Li3Jianliang Xu4College of Information Science and Engineering, Ocean University of China, Qingdao 266100, ChinaCollege of Information Science and Engineering, Ocean University of China, Qingdao 266100, ChinaCollege of Information Science and Engineering, Ocean University of China, Qingdao 266100, ChinaCollege of Information Science and Engineering, Ocean University of China, Qingdao 266100, ChinaCollege of Information Science and Engineering, Ocean University of China, Qingdao 266100, ChinaCoverage-based Greybox Fuzzing (CGF) is a practical and effective solution for finding bugs and vulnerabilities in software. A key challenge of CGF is how to select conducive seeds and allocate accurate energy. To address this problem, we propose a novel many-objective optimization solution, MooFuzz, which can identify different states of the seed pool and continuously gather different information about seeds to guide seed schedule and energy allocation. First, MooFuzz conducts risk marking in dangerous positions of the source code. Second, it can automatically update the collected information, including the path risk, the path frequency, and the mutation information. Next, MooFuzz classifies seed pool into three states and adopts different objectives to select seeds. Finally, we design an energy recovery mechanism to monitor energy usage in the fuzzing process and reduce energy consumption. We implement our fuzzing framework and evaluate it on seven real-world programs. The experimental results show that MooFuzz outperforms other state-of-the-art fuzzers, including AFL, AFLFast, FairFuzz, and PerfFuzz, in terms of path discovery and bug detection.https://www.mdpi.com/2227-7390/9/3/205seed schedulemany-objective optimizationfuzzingbug detectionpath discovery
spellingShingle Xiaoqi Zhao
Haipeng Qu
Wenjie Lv
Shuo Li
Jianliang Xu
MooFuzz: Many-Objective Optimization Seed Schedule for Fuzzer
Mathematics
seed schedule
many-objective optimization
fuzzing
bug detection
path discovery
title MooFuzz: Many-Objective Optimization Seed Schedule for Fuzzer
title_full MooFuzz: Many-Objective Optimization Seed Schedule for Fuzzer
title_fullStr MooFuzz: Many-Objective Optimization Seed Schedule for Fuzzer
title_full_unstemmed MooFuzz: Many-Objective Optimization Seed Schedule for Fuzzer
title_short MooFuzz: Many-Objective Optimization Seed Schedule for Fuzzer
title_sort moofuzz many objective optimization seed schedule for fuzzer
topic seed schedule
many-objective optimization
fuzzing
bug detection
path discovery
url https://www.mdpi.com/2227-7390/9/3/205
work_keys_str_mv AT xiaoqizhao moofuzzmanyobjectiveoptimizationseedscheduleforfuzzer
AT haipengqu moofuzzmanyobjectiveoptimizationseedscheduleforfuzzer
AT wenjielv moofuzzmanyobjectiveoptimizationseedscheduleforfuzzer
AT shuoli moofuzzmanyobjectiveoptimizationseedscheduleforfuzzer
AT jianliangxu moofuzzmanyobjectiveoptimizationseedscheduleforfuzzer