May 04, 2026  
2024-2025 Undergraduate Catalog 
    
2024-2025 Undergraduate Catalog [ARCHIVED CATALOG]

CSE 418LEC - Software Security


This course is designed to provide students with good understanding of the theories, principles, techniques and tools used for software and system hacking and hardening. Students will study, in-depth, binary reverse engineering, vulnerability classes, vulnerability analysis, exploit and shellcode development, defensive solutions, etc. to understand how to crack and protect native software. In particular, this class covers offensive techniques including stack-based buffer overflow, heap security, format string vulnerability, return-oriented programming, etc. This class also covers defensive techniques including canaries, shadow stack, address space layout randomization, control-flow integrity, seccomp, etc. A key part of studying security is putting skills to the test in practice. In this class the progress of students are evaluated by hacking binary challenges.

Credits: 3

Grading
Graded (GRD)

Typically Offered:
Fall, Spring

Requisites:
CSE 220