Lectures
Date | Topic | Discussions (do readings before class) |
01/10 | Introduction (slides-intro) | |
01/12 | Introduction (slides-whysec) | |
01/17 | Shellcode (slides) | x86 Assembly Guide Guide to x86-64 Linux VM Setup Linux System Calls |
01/19 | Shellcode | Hands-on lecture where we build together shellcode, bring your laptop to class |
01/24 | Linux Security 1/2 (slides) | Ubuntu Security |
01/26 | Linux Security 2/2 | continued |
01/31 | Reverse Engineering 1/2 (slides) | Ghidra quickstart & tutorial: Solving a simple crackme |
02/02 | Reverse Engineering 2/2 | continued |
02/07 | Reverse Engineering | Hands-on lecture on reversing |
02/09 | Control-flow hijack attacks 1/2 (slides) | Smashing The Stack For Fun And Profit (link) |
02/14 | Control-flow hijack attacks 2/2 | |
02/16 | Wellness day | no class |
02/21 | Stack Canaries & ASLR (slides) | NOEXEC and StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks (link) [USENIX Sec’98] |
02/23 | video workshop | watch and follow along the video tutorial |
02/28 | Return-into-libc & ROP 1/2 (slides) | Advanced return-into-lib(c) exploits (PaX case study) (link) |
03/02 | Return-into-libc & ROP 2/2 | |
03/07 | Control-flow integrity 1/2 (slides) | Control-flow integrity (link) [CCS’05] |
03/09 | Control-flow integrity 2/2 | |
03/14 | Spring Break | no class |
03/16 | Spring Break | no class |
04/14 | HackPack CTF | Capture the Flag event for the class that is open to the public, join here |