Useful Links
Computer Science
Cybersecurity
Fuzzing
1. Introduction to Fuzzing
2. Core Concepts and Architecture
3. Types of Fuzzers
4. Input Generation and Mutation Strategies
5. Target Monitoring and Instrumentation
6. The Fuzzing Process
7. Crash Triage and Analysis
8. Advanced Fuzzing Techniques
9. Fuzzing in the Software Development Lifecycle
10. Common Vulnerabilities Discovered by Fuzzing
11. Common Fuzzing Tools and Frameworks
12. Fuzzing Best Practices
13. Challenges and Limitations
14. Future Directions and Research
Target Monitoring and Instrumentation
Code Instrumentation
Compiler-Based Instrumentation
LLVM Sanitizers
AddressSanitizer
Detecting Buffer Overflows
Memory Error Detection
MemorySanitizer
Uninitialized Memory Reads
UndefinedBehaviorSanitizer
Detecting Undefined Behavior
ThreadSanitizer
Data Race Detection
GNU GCC Plugins
Custom Instrumentation
Integration with Fuzzers
Binary-Only Instrumentation
Dynamic Binary Instrumentation
Runtime Instrumentation
Tools and Frameworks
Static Binary Rewriting
Modifying Binary Code
Instrumentation Challenges
Hardware-Assisted Instrumentation
Intel PT
ARM CoreSight
Crash Detection Mechanisms
Signal Handlers
SIGSEGV
SIGILL
SIGABRT
Processor Exceptions
Hardware Exception Handling
Platform-Specific Mechanisms
Custom Assertions and Checks
Application-Level Checks
Assertion Failures
Code Coverage Analysis
Edge Coverage
Tracking Control Flow Edges
Block Coverage
Basic Block Execution Tracking
Path Coverage
Unique Execution Paths
Function Coverage
Function Entry Points
Role of Coverage in Grey-Box Fuzzing
Feedback-Driven Input Selection
Maximizing Unexplored Paths
Previous
4. Input Generation and Mutation Strategies
Go to top
Next
6. The Fuzzing Process