4.1 - Bucketing

4.1 - Bucketing

Preview unavailable

You must log in or sign up to view this lesson.

LoginSign up

Rust Fuzzing and Crash Analysis

Buy nowLearn more

Welcome & Summary

  • Welcome & Overview
  • Summary

Materials

  • Day2_Rust_Security_Finding_bugs_automatically_with_fuzzing_v1_3.pdf
  • Day2_Rust_Security_Fuzzing_And_Crash_Analysis_v1_7.pdf
  • rust_training_day_2.zip

1. Introduction to Fuzzing

  • 1.0 - Introduction to Fuzzing

2. Coverage-guided Fuzzing

  • 2.0 - Coverage-guided Fuzzing
  • 2.1 - Libfuzzer / cargo-fuzz
  • 2.2 - Libfuzzer / cargo-fuzz - Labs correction2
  • 2.3 - AFL / afl.rs
  • 2.4 - Honggfuzz / honggfuzz-rs
  • 2.5 - Honggfuzz / honggfuzz-rs - Labs correction
  • 2.6 - Exercises
  • 2.7 - Exercises - Solution

3. Fuzzing workflow

  • 3.0 - Corpus / Input collection
  • 3.1 - Code coverage
  • 3.2 - Corpus minimization

4. Crashes Triaging

  • 4.0 - Crashes Triaging
  • 4.1 - Bucketing
  • 4.2 - Crashes minimization
  • 4.3 - Root cause analysis
  • 4.4 - Debugging
  • 4.5 - Debugging - labs

5. Generation-based Fuzzing

  • 5.0 - Structure-aware Fuzzing
  • 5.1 - Grammar-based Fuzzing
  • 5.2 - Exercise #1
  • 5.3 - Exercise #2
  • 5.4 - Exercise #2 - Solution

6. Other testing techniques

  • 6.0 - Property-based testing
  • 6.1 - Symbolic Execution
  • 6.2 - Formal verification

7. Advanced Fuzzing techniques

  • 7.0 - Differential Fuzzing
  • 7.1 - Exercises
  • 7.2 - Exercises - Solution
  • 7.3 - Writing custom fuzzers

8. Exercises

  • 8.0 - Interesting targets
  • 8.1 - Exercise #1
  • 8.2 - Exercise #1 - Solution
  • 8.3 - Exercise #2
  • 8.4 - Exercise #2 - Solution
  • 8.5 - Exercise #3
  • 8.6 - Exercise #4
  • 8.7 - Exercise #4 - Solution
  • 8.8 - Exercise #5
  • 8.9 - Exercise #5 - Solution

Conclusion / Thank You

  • Closing remarks
  • Provide Feedback Here