Computer Science 590AF - Reverse Engin & Exploit Dev
Fall
2025
02
3.00
Lurene Grenier
TU TH 2:30PM 3:45PM
UMass Amherst
69362
Computer Science Bldg rm 142
lagrenier@umass.edu
69361,69481
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 adversaries 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 and defend against these attacks. 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 assumed (and required for undergraduates). This course counts as a CS Elective for the CS Major.
MS-CMPSCI students only MEETS WITH COMPSCI 367 (PREVIOUSLY 390R). LEC 01 FOR UNDERGRADS; LEC 02 FOR GRADS. ALTHOUGH OPEN TO INFORM MAJORS, THIS COURSE IS NOT ON THE LIST OF PRE-APPROVED INFORM ELECTIVES. SEATS HELD FOR INCOMING GRADUATE STUDENT REGISTRATION. STUDENTS NEEDING SPECIAL PERMISSION MUST REQUEST OVERRIDES VIA THE ON-LINE FORM: https://www.cics.umass.edu/academics/course-overrides