Reverse Engineering and Vulnerability Analysis

To develop critical thinking skills required to analyze and protect against vulnerabilities in both source code and executable binaries. To analyze and detect malicious code running on systems. To better prepare students for the ever-evolving threat of vulnerabilities, exploits and malicious software in a real-world environment.
Throughout the course, students will use industry standard tools and develop customized solutions to help further binary/code analysis. Using real-world vulnerability classes, students will examine how attackers identify flaws in modern software and exploit these flaws bypassing state-of-the-art protection mechanisms found in modern operating systems. Students will also identify how to patch these issues and develop extensions of protection mechanisms to thwart attacks, raising the bar for the attacker and improving the security posture of a system. Using a combination of static analysis, dynamic analysis, fault injection and fuzzing, this course will provide students with the modern skills needed to help stop attackers!