Theory meets practice in this course brought to you by Margin Research and Vector 35. This four-day course examines cutting-edge program analysis techniques and how they can be used to find bugs!
Uncover and improve on the logic behind compiler checks that have been finding errors in code for decades and implement them on binaries using Binary Ninja. Students will prototype binary analysis passes to find type confusion, buffer overflows, data-flow edge cases, and automate analysis at scale across hundreds of real world targets.
This thorough approach to binary analysis will leave students with a collection of scripts that can be applied across architectures to find real bugs, identify interesting code paths, and the ability to encode bug primitives both old and new! Plus, students will learn how to build a pipeline to discover those bugs automatically and integrate automated analysis into existing workflows. Maximize every advantage reverse engineering has to pioneer truly modern Program Analysis for Vulnerability Research.
Each day will run from 9AM to 6PM . There are two lectures each day, each lecture will be applied to two main lab exercises, an easy and hard exercise, with homework that will be reviewed the following day.
Jordan Wiens used to play a lot of CTF, even winning some like DEF CON a handful of times but then they got hard and now he mostly likes to talk about them and make challenges. Professionally, he's been a network security engineer, vulnerability researcher, engineering manager, and for the last five years small business founder with two co-founders of Vector 35, makers of Binary Ninja.
He's given trainings over two decades across the academic, government, and commercial sectors on reverse engineering and vulnerability research and has presented at conferences like DEF CON, BlueHat, ShmooCon, Insomni'hack, SAS, and many others.
Ian Palleiko is a senior security researcher at Margin Research. With over 10 years of experience in reverse engineering, malware analysis, vulnerability research, and program analysis tooling development, he currently specializes in binary analysis tooling development and high performance emulation tooling development.