A Feature-Oriented Corpus for Understanding, Evaluating and Improving Fuzz Testing

05/04/2019
by   Xiaogang Zhu, et al.
0

Fuzzing is a promising technique for detecting security vulnerabilities. Newly developed fuzzers are typically evaluated in terms of the number of bugs found on vulnerable programs/binaries. However,existing corpora usually do not capture the features that prevent fuzzers from finding bugs, leading to ambiguous conclusions on the pros and cons of the fuzzers evaluated. A typical example is that Driller detects more bugs than AFL, but its evaluation cannot establish if the advancement of Driller stems from the concolic execution or not, since, for example, its ability in resolving a dataset`s magic values is unclear. In this paper, we propose to address the above problem by generating corpora based on search-hampering features. As a proof-of-concept, we have designed FEData, a prototype corpus that currently focuses on four search-hampering features to generate vulnerable programs for fuzz testing. Unlike existing corpora that can only answer "how", FEData can also further answer "why" by exposing (or understanding) the reasons for the identified weaknesses in a fuzzer. The "why" information serves as the key to the improvement of fuzzers.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/05/2020

EvilCoder: Automated Bug Insertion

The art of finding software vulnerabilities has been covered extensively...
research
06/10/2021

Security testing using JUnit and Perl scripts

In this paper, I describe a recent practical experience where JUnit was ...
research
08/23/2022

Evaluating Synthetic Bugs

Fuzz testing has been used to find bugs in programs since the 1990s, but...
research
06/27/2023

Automated Fuzzing Harness Generation for Library APIs and Binary Protocol Parsers

Fuzzing is a widely used software security testing technique that is des...
research
06/07/2023

HornFuzz: Fuzzing CHC solvers

Many advanced program analysis and verification methods are based on sol...
research
04/14/2023

Fuzzing the Latest NTFS in Linux with Papora: An Empirical Study

Recently, the first feature-rich NTFS implementation, NTFS3, has been up...
research
05/25/2020

Towards Smart Hybrid Fuzzing for Smart Contracts

Smart contracts are Turing-complete programs that are executed across a ...

Please sign up or login with your details

Forgot password? Click here to reset