Smart Greybox Fuzzing

11/23/2018
by   Van-Thuan Pham, et al.
0

Coverage-based greybox fuzzing (CGF) is one of the most successful methods for automated vulnerability detection. Given a seed file (as a sequence of bits), CGF randomly flips, deletes or bits to generate new files. CGF iteratively constructs (and fuzzes) a seed corpus by retaining those generated files which enhance coverage. However, random bitflips are unlikely to produce valid files (or valid chunks in files), for applications processing complex file formats. In this work, we introduce smart greybox fuzzing (SGF) which leverages a high-level structural representation of the seed file to generate new files. We define innovative mutation operators that work on the virtual file structure rather than on the bit level which allows SGF to explore completely new input domains while maintaining file validity. We introduce a novel validity-based power schedule that enables SGF to spend more time generating files that are more likely to pass the parsing stage of the program, which can expose vulnerabilities much deeper in the processing logic. Our evaluation demonstrates the effectiveness of SGF. On several libraries that parse structurally complex files, our tool AFLSmart explores substantially more paths (up to 200 tool AFLSmart has discovered 42 zero-day vulnerabilities in widely-used, well-tested tools and libraries; so far 17 CVEs were assigned.

READ FULL TEXT

page 8

page 13

research
02/07/2019

Optimizing seed inputs in fuzzing with machine learning

The success of a fuzzing campaign is heavily depending on the quality of...
research
07/07/2018

SmartSeed: Smart Seed Generation for Efficient Fuzzing

Fuzzing is an automated application vulnerability detection method. For ...
research
08/18/2021

Generation of TypeScript Declaration Files from JavaScript Code

Developers are starting to write large and complex applications in TypeS...
research
11/10/2017

Not all bytes are equal: Neural byte sieve for fuzzing

Fuzzing is a popular dynamic program analysis technique used to find vul...
research
05/30/2019

MoonLight: Effective Fuzzing with Near-Optimal Corpus Distillation

Mutation-based fuzzing typically uses an initial set of valid seed input...
research
11/08/2017

Faster Fuzzing: Reinitialization with Deep Neural Models

We improve the performance of the American Fuzzy Lop (AFL) fuzz testing ...
research
03/30/2022

Enhanced Grey Box Fuzzing For Intel Media Driver

Grey box fuzzing is one of the most successful methods for automatic vul...

Please sign up or login with your details

Forgot password? Click here to reset