CSCI1650
Software Security and Exploitation
Fall 2025
CSCI 1650 covers software exploitation techniques and state-of-the-art mechanisms for hardening software. The course begins with a summary of prevalent software defects, typically found in applications written in memory unsafe languages, like C/C++, and proceeds with studying traditional and modern exploitation techniques, ranging from classical code injection and code reuse up to the latest goodies (e.g., JIT-ROP). For the most part, it focuses on defenses against certain vulnerability classes and the way(s) to bypass them. Students will be introduced to advanced software exploitation techniques and countermeasures, and study (in depth) the boundaries and effectiveness of standard hardening mechanisms, such as address space randomization and stack and heap protections.
Instructor(s): | |
Meets: | MW 3pm-4:20pm Location TBD |
Exam: | If an exam is scheduled for the final exam period, it will be held: |
Max Seats: | 90 Full |
CRN: | 18583 |