UMass Cybersecurity Club

COMPSCI CS 390R: Reverse Engineering and Vulnerability Analysis

Brian Levine, Steven Rossi, and Gilbert Hoermann

Course Description:
Software is everywhere and many developers aren't aware of how to properly write secure code. We will cover practical skills in reverse engineering and binary exploitation, and delve into the techniques used by hackers for some of the largest security incidents of the century. With a strong understanding of attack patterns, students will be able to implement more secure coding practices into their own code.

This course will start by covering Intel-based assembly, reverse engineering, vulnerability analysis and various forms of Linux-focused binary exploitation. Throughout this course we will cover stack, heap and linux kernel based exploitation, and dive into common defensive mitigations such as ASLR, NX and Stack Cookies alongside techniques to bypass each of them. This course will be focused on low level software written in C, which is why an understanding of the topics covered in CS230 is required.

Course Goals:

  • Gain a deeper understanding of operating systems and memory management
  • Learn how to reverse engineer closed source programs
  • Analyze programs for potential security vulnerabilities and learn more secure coding practices

Course Syllabus:

A more descriptive syllabus of the course can be found linked immediately below

Discord / Email