This topic is primarily aimed at people interested in software security, reverse engineering and low-level software. In this course, we will explore the foundations of software security. We will consider important software vulnerabilities and attacks that exploit them -- such as buffer overflows, heap overflows, kernel overflows -- and we will consider defenses that prevent or mitigate these attacks, including advanced testing and program analysis techniques.
# | Date | Topic | Slides | Supporting Materials |
---|---|---|---|---|
Class 1 | Aug 26, 2024 | Introduction | ch01.pdf |
|
Class 2 | Aug 28 and Aug 30, 2024 | IA-32 Register, Byte Ordering | ch02.pdf |
|
Class 3 | Sep 04, 2024 | x86 ASM | ch03.pdf |
|
Class 4 | Sep 09, 2024 | Stack & Stack Frame (1) | ch04.pdf |
|
Class 5 | Sep 11 & 13 & 16, 2024 | Stack & Stack Frame (2) | ch04.pdf |
|
Lab 1 (5 points) |
Sep 11, 2024 | Lab: Stack and Stack Frame
Due on: 09/27/2024 23:59:59
|
lab1.pdf |
|
Class 6 | Sep 18 & 23, 2024 | System Call & Shellcode | ch06.pdf |
|
Class 7 | Sep 25, 2024 | Stack Overflow (1) | ch07.pdf |
|
Class 8 | Sep 27, 2024 | Stack Overflow (2) | ch08.pdf |
|
Lab 2 (10 points) |
Sep 27 & 30, 2024 | Lab: Stack Overflow
Due on: 10/11/2024 23:59:59
|
lab2.pdf |
|
Class 9 | Oct 02, 2024 | Return-oriented Programming (ROP) (1) | ch09.pdf |
|
Class 10 | Oct 04, 2024 | Return-oriented Programming (ROP) (2) | ch10.pdf |
|
Class 11 | Oct 7, 9, 11, 2024 | Web Security Online Asynchronous |
ch11.pdf |
|
Class 12 | Oct 16, 2024 | ROP (3) & Dynamic Linking | ch12.pdf |
|
Lab 3 (10 points) |
Oct 16, 2024 | Lab: Return-oriented Programming (ROP)
Due on: 10/25/2024 23:59:59
|
lab3.pdf |
|
Class 13 | Oct 18, 2024 | Return-to-libc Attack & ASLR | ch13.pdf |
|
Class 14 | Oct 21, 23, 2024 | PLT, GOT & Return-to-plt Attack (Bypassing ASLR/NX) | ch14.pdf |
|
Class 15 | Oct 25, 2024 | GOT Overwrite Attack | ch15.pdf |
|
Class 16 | Oct 30, 2024 | Multi-Stage Exploits | ch16.pdf |
|
Lab 4 (10 points) |
Oct 31, 2024 | Lab: Multi-Stage Exploits
Due on: 11/22/2024 23:59:59
Your submission should include: A detailed project report in PDF format to describe what you have done, including screenshots and code snippets and content inside flag.txt. |
159.203.157.119 Target Port: 6666 Vulnerable program: lab4 (lab4.c) Target File (flag): flag.txt ASLR/NX is on, StackGuard and PIE is off Hint Libc version: libc6-i386_2.33-0ubuntu5_amd64 [Link] |
|
Class 17 | Nov 04, 06 2024 | Stack Guard & Format String Bug | ch17.pdf |
|
Class 18 | Nov 09 & 11, 2024 | Heap Exploitation (1) | ch18.pdf |
|
Class 19 | Nov 13 & 15, 2024 | Heap Exploitation (2): Unlink Attack | ch19.pdf |
|
Class 20 | Nov 18, 2024 | Heap Exploitation (3): glibc, House of force | ch20.pdf |
|
Class 21 | Nov 20 & 24, 2024 | Kernel Exploitation | ch21.pdf |
|
Lab 5 (10 points) |
Nov 24, 2024 | Lab: Kernel Exploitation
Due on: 12/14/2024 23:59:59
|
lab5.pdf |
|
Class 22 | Dec 02, 2024 | Use After Free (UAF), Double Free, Hacking Gaming Consoles | ch22.pdf |
|
Final Project (15 + 5 (Quiz) points) ![]() |
Nov 19, 2024 |
"The Final"
Due on: 12/14/2024 23:59:59 Your submission should include: A detailed project report in PDF format to describe what you have done, including screenshots and code snippets and content inside flag. |
Target IP: 143.244.149.32 Target Port: 9999 Vulnerable program: final(final.c) Target File (flag): flag.txt Hint ASLR/NX and StackGuard are on, PIE is off |
|