WEIZZ: Automatic Grey-box Fuzzing for Structured Binary Formats

11/02/2019
by   Andrea Fioraldi, et al.
0

Fuzzing technologies have evolved at a fast pace in recent years, revealing bugs in programs with ever increasing depth and speed. Applications working with complex formats are however more difficult to take on, as inputs need to meet certain format-specific characteristics to get through the initial parsing stage and reach deeper behaviors of the program. Unlike prior proposals based on manually written format specifications, in this paper we present a technique to automatically generate and mutate inputs for unknown chunk-based binary formats. We propose a technique to identify dependencies between input bytes and comparison instructions, and later use them to assign tags that characterize the processing logic of the program. Tags become the building block for structure-aware mutations involving chunks and fields of the input. We show that our techniques performs comparably to structure-aware fuzzing proposals that require human assistance. Our prototype implementation WEIZZ revealed 11 unknown bugs in widely used programs.

READ FULL TEXT
research
09/23/2021

FormatFuzzer: Effective Fuzzing of Binary File Formats

Effective fuzzing of programs that process structured binary inputs, suc...
research
01/20/2023

Blind Spots: Automatically detecting ignored program inputs

A blind spot is any input to a program that can be arbitrarily mutated w...
research
04/04/2023

Token-Level Fuzzing

Fuzzing has become a commonly used approach to identifying bugs in compl...
research
12/25/2020

Fuzzing with Fast Failure Feedback

Fuzzing – testing programs with random inputs – has become the prime tec...
research
04/29/2020

TOFU: Target-Oriented FUzzer

Program fuzzing—providing randomly constructed inputs to a computer prog...
research
12/12/2019

Inferring Input Grammars from Dynamic Control Flow

A program is characterized by its input model, and a formal input model ...
research
08/29/2017

Active Learning of Input Grammars

Knowing the precise format of a program's input is a necessary prerequis...

Please sign up or login with your details

Forgot password? Click here to reset