ScheduleΒΆ

The schedule will change as the course progresses, in part based on student interests. If you are particularly interested in some topic not covered here, send mail to the course staff (mailto:staff). Please visit our scoreboard at the submission web site and importantly, ask any questions (and things to discuss) with colleagues and staffs via Piazza.

MondayTuesday WednesdayThursday Friday
Aug 20
First day of class (No class)
Aug 21 Aug 22 Aug 23 Aug 24
LEC 1: Warm-up: x86, Tools
TUT 1: GDB/x86
Preparation: Read asm
Assigned: Lab 01: Bomb Lab1
Aug 27 Aug 28 Aug 29
REC 1: Lab 01
Aug 30
DUE: Lab 01
Aug 31
LEC 2: Warm-up: x86_64, Shellcode, Tools
TUT 2: pwndbg, Shellcode (link)
Preparation: Read x86_64
Assigned: Lab 02: Bomb Lab2 / Shellcode
Sep 3
Labor day
Sep 4 Sep 5
REC 2: Lab 02
Sep 6
DUE: Lab 02
Sep 7
LEC 3: Writing exploits
TUT 3: IDA, Your first control hijacking
Preparation: Read Phrack #49-14
Assigned: Lab 03: Stack Overflow
Sep 10 Sep 11 Sep 12
REC 3: Lab 03
Sep 13 Sep 14
LEC 4: Exploiting stack overflows
TUT 4: Pwntool, Your first exploit!
Preparation: Read pwntools
Sep 17 Sep 18 Sep 19
REC 4: Lab 03
Sep 20
DUE: Lab 03
Sep 21
LEC 5: Stack Protections
TUT 5: Bypassing Stack Canaries
Preparation: Read Bypassing StackShield
Assigned: Lab 04: Bypassing Stack Protection
Sep 24 Sep 25 Sep 26
REC 5: Lab 04
Sep 27
DUE: Lab 04
Sep 28
LEC 6: DEP and ASLR
TUT 6: Format string vulnerability
Preparation: Read ASLR Smack & Laugh Reference
Assigned: Lab10: NSA Codebreaking Challenge
Assigned: Lab 05: Bypassing DEP/ASLR
Oct 1 Oct 2 Oct 3
REC 6: Lab 05
Oct 4
DUE: Lab 05
Oct 5
LEC 7: Return-oriented Programming (ROP)
TUT 7: Your first ROP
Preparation: Read ROP
Assigned: Lab 06: Return-oriented Programming
Oct 8
Fall Student Recess
Oct 9
Fall Student Recess
Oct 10
REC 7: Lab 06
Oct 11 Oct 12
Oct 15 Oct 16 Oct 17
REC 8: Lab 06
Oct 18
DUE: Lab 06
Oct 19
LEC 8: Remote Exploitation
TUT 8: Socket Programming in Python!
Assigned: Lab 07: Remote Attacks
Oct 22 Oct 23 Oct 24
REC 9: Lab 07
Oct 25 Oct 26
LEC 9: Fuzzing and symbolic execution
TUT 9: AFL
Assigned: CTF Challenge (Guideline)
Oct 29
REC 10: Lab 07
Oct 30 Oct 31
REC 11: Lab 07
Nov 1
DUE: Lab 07
Nov 2
LEC 10: Miscellaneous I
TUT 10: Make Reliable Exploit
Assigned: Lab 08: Exploiting Misc1 (int-ovfl, race, tictou &c)
Nov 5
REC 12: Lab 08
Nov 6 Nov 7
REC 13: Lab 08
Nov 8
DUE: Lab 08
Nov 9
LEC 11: Heap Memory Allocation
TUT 11: Your first heap exploit
Assigned: Lab 09: Exploiting Heap Bugs
Nov 12
REC 14: Lab 09
Nov 13
DUE: CTF Challenge
Nov 14
REC 15: Lab 09
Nov 15 Nov 16
LEC 12: In-class CTF (for a day)
Nov 19 Nov 20 Nov 21
Thanksgiving
Nov 22
Thanksgiving
Nov 23
Thanksgiving
Nov 26
REC 16: Lab 09
Nov 27 Nov 28
REC 17: Lab 09
Nov 29
DUE: Lab 09
DUE: Lab10: NSA Codebreaking Challenge
Nov 30
LEC 13: Insu Yun, API Sanitizer: How to find bugs?
LEC 14: Wen Xu, Exploit Linux UAF
Award ceremony
Dec 3
Last day of classes
Dec 4 Dec 5 Dec 6
Final exam week
(No final!)
Dec 7
Final exam week
(No final!)
Dec 10
Final exam week
(No final!)
Dec 11
Final exam week
(No final!)
Dec 12
Final exam week
(No final!)
Dec 13
Final exam week
(No final!)
Dec 14