FuzzingLabs Academy/Rust Fuzzing and Crash Analysis

Rust Fuzzing and Crash Analysis

Learn how to use Rust fuzzers, develop harnesses and apply different fuzzing techniques to find bugs.
🎞️ 42 videos / ⏱️ 4.5 hours / 📖 120 slides

What you'll learn

In this course, you will learn everything you need to know to automatically detect Rust vulnerabilities using different fuzzing techniques. You will first learn how to use famous coverage-guided fuzzing framework and create harnesses for a given target. Then, you will evaluate your fuzzing results, debug and analyze crashes. Finally, you will discover other more advanced testing techniques to find in-depth bugs on popular Rust libraries.

  • Fuzzing Introduction and Workflow
  • Coverage-guided Fuzzing in Rust
    • cargo-fuzz, afl-rs, honggfuzz-rs
  • Improve your Fuzzing Process
    • Code coverage, Corpus selection, Corpus minimization
    • Crashes Triaging and Debugging
  • Structure-aware & Grammar-based Fuzzing
  • Other Advanced Testing techniques
    • Symbolic Execution, Formal verification
    • Differential Fuzzing
    • Writing Custom Rust Fuzzers

Assignments

Assignment #1 - Fuzzing Rust library in less than 5 minutes
  • Learn the different steps in the fuzzing workflow.
  • Discover which Rust coverage-guided fuzzers are the best.
  • Write fuzzing harnesses for real-world public libraries.
Assignment #2 - Improve and analyze your fuzzing session
  • Generate code coverage to evaluate fuzzing results.
  • Minimize both corpora and crashes to optimized fuzzing speed.
  • Triage and analyze bugs found during fuzzing.
Assignment #3 - Applied advanced fuzzing techniques
  • Learn how to fuzz Rust structure using structure-aware based fuzzing.
  • Improve fuzzers input generation using grammar-based fuzzing.
  • Implement differential fuzzing to find logic bugs.
Assignment #4 - Real-World: Fuzzing popular Rust packages
  • Choose targets to fuzz from previously audited libraries on day 1.
  • Create different fuzzing hardnesses for popular file and text format parsers.
  • Analyze and triage their crashes to find 0-days.

  • $2,400

Rust Security Audit and Fuzzing

  • 3 Products

This course is available inside the Rust Security Audit and Fuzzing bundle.

Learn which kind of security vulnerabilities/bugs can be found inside Rust code, how to detect them statically and automatically using fuzzing techniques.
🎞️ 84 videos / ⏱️ 9.5 hours / 👨‍💻 25+ exercises

What's included?

Welcome & Summary

Welcome & Overview
Preview
Summary
Preview

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 correction
2.3 - AFL / afl.rs
2.4 - Honggfuzz / honggfuzz-rs
2.5 - Honggfuzz / honggfuzz-rs - Labs correction
2.6 - Exercises
Preview
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
Preview
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

  • $2,400

Rust Security Audit and Fuzzing

  • Bundle
  • 3 Products

Learn which kind of security vulnerabilities/bugs can be found inside Rust code, how to detect them statically and automatically using fuzzing techniques. 🎞️ 84 videos / ⏱️ 9.5 hours / 👨‍💻 25+ exercises

Meet Your Instructor

Hey! 👋 My name is Patrick and I'm the founder of FuzzingLabs, a research-oriented security company specializing in fuzzing, vulnerability research, and reverse engineering.

Over time, we found hundreds of bugs and presented our work at various security conferences around the globe, including BlackHat USA, OffensiveCon, REcon, Devcon, EthCC, RingZer0, ToorCon, hack.lu, NorthSec, Microsoft DCC, etc.

You can read more about me by clicking here.

FREE Resources & Trainings

Enter your email to receive special deals and a bundle of awesome resources. 100% free - 100% awesome. 👇

You're signing up to receive emails from FuzzingLabs Academy