SoK: The Progress, Challenges, and Perspectives of Directed Greybox Fuzzing

05/25/2020
by   Pengfei Wang, et al.
0

Greybox fuzzing has been the most scalable and practical approach to software testing. Most greybox fuzzing tools are coverage guided as code coverage is strongly correlated with bug coverage. However, since most covered codes may not contain bugs, blindly extending code coverage is less efficient, especially for corner cases. Unlike coverage-based fuzzers who extend the code coverage in an undirected manner, a directed fuzzer spends most of its time budget on reaching specific target locations (e.g., the bug-prone zone) without wasting resources stressing unrelated parts. Thus, directed greybox fuzzing is particularly suitable for scenarios such as patch testing, bug reproduction, and special bug hunting. In this paper, we conduct the first in-depth study of directed greybox fuzzing. We investigate 26 state-of-the-art fuzzers (80 published after 2019) closely related to DGF, which have various directed types and optimization techniques. Based on the feature of DGF, we extract 15 metrics to conduct a thorough assessment of the collected tools and systemize the knowledge of this field. Finally, we summarize the challenges and provide perspectives of this field, aiming to facilitate and boost future research on this topic.

READ FULL TEXT

page 5

page 8

page 9

page 10

page 11

page 12

page 13

page 14

research
02/25/2020

Binary-level Directed Fuzzing for Use-After-Free Vulnerabilities

Directed fuzzing focuses on automatically testing specific parts of the ...
research
06/14/2022

Using Defect Prediction to Improve the Bug Detection Capability of Search-Based Software Testing

Automated test generators, such as search based software testing (SBST) ...
research
09/18/2023

TOPr: Enhanced Static Code Pruning for Fast and Precise Directed Fuzzing

Directed fuzzing is a dynamic testing technique that focuses exploration...
research
09/26/2021

Defect Prediction Guided Search-Based Software Testing

Today, most automated test generators, such as search-based software tes...
research
09/16/2020

Improving Linux-Kernel Tests for LockDoc with Feedback-driven Fuzzing

LockDoc is an approach to extract locking rules for kernel data structur...
research
11/04/2021

Nyx-Net: Network Fuzzing with Incremental Snapshots

Coverage-guided fuzz testing ("fuzzing") has become mainstream and we ha...
research
11/21/2022

Sydr-Fuzz: Continuous Hybrid Fuzzing and Dynamic Analysis for Security Development Lifecycle

Nowadays automated dynamic analysis frameworks for continuous testing ar...

Please sign up or login with your details

Forgot password? Click here to reset