Code Monkey home page Code Monkey logo

deepfuzz's Introduction

DeepFuzzer

Summary

DeepFuzzer is a fuzzer which combines qualified seed generation, balanced seed selection, hybrid seed mutation and automatic fuzzing environment configuration.

DeepFuzzer is an extension of AFL which is written and maintained by Michal Zalewski <[email protected]>, so its basic usage is like AFL, which can be found in http://lcamtuf.coredump.cx/afl/.

To generate high-quality seeds, please use the tool in seed_generation directory. Besides that, if you want to open the balanced seed selection, please add the -F option. And you can also use โ€“D option to open the hybrid seed mutation. We also supply the โ€“P option to open power schedule, this is another optimization for AFL to calculate the mutation times of a seed. These functions are closed in default, and you can combine them as you like. We believe that in most cases, opening all of them is the best option.

Some intermediate results

Number of seeds generated over time and the corresponding number of paths executed for fuzzing pcre2.

1575944719701

Let xi be the hit count of the rarest branch for the seed si, n be the number of branches. gamma is a constant, which diminishes the skip probability equally to increase efficiency. The optimized fair skip probability for seed si is:

1575946689963

The number of paths and branches for fuzzing pcre2 when gamma is assigned different values.

1575944923285

Let s denote the selected seed that needs to be mutated next, p(s) denote the energy of s , and p AFL (s) denote the original energy calculated by AFL. Given the number of times c(s) which s has previously been chosen from the queue S and the hit number h(s) of the rarest branch covered by s , DeepFuzzer computes p(s) as

1575946735925

The number of paths and branches for fuzzing pcre2 when beta is assigned different values.

1575945038726

Influence of each component

1575946935987

Evaluation on ten programs of Google fuzzer-test-suite for 24 hours with one core

1575944393258

1575944420346

1575944447180

Performance for different fuzzers on fuzzing pcre2 24 hours with one core

1575944566536

deepfuzz's People

Contributors

ljiee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.