Rust is a strongly typed and safe systems programming language developed by Mozilla. Recently, it has become the language of choice to build memory-safe programs while maintaining high performance at scale. Mostly, Rust is used for files format and protocols parsers but also on other critical projects like in the new high-performance browser engine, Servo.
However, coding using memory-safe language doesn’t mean the code will be free of bugs. Different kinds of vulnerabilities like integer overflows, OOM, DoS, UaF, OOB, etc. can still be found and sometimes exploited to achieve remote code execution (RCE).
This course teaches you all the prerequisites to understand which kind of vulnerability can be found inside Rust code. You will learn how to find low hanging fruits bugs manually and automatically using different Rust auditing tools. You will discover how to use existing Rust fuzzing frameworks, triage/debug crashes and improve your code coverage using different techniques. Finally, you will discover how to build custom Rust fuzzers and implement advanced fuzzing techniques.
This training offers you multiple hands-on exercises allowing you to internalize concepts and techniques taught in class.