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 22
First day of class (No class)
Aug 23 Aug 24 Aug 25 Aug 26
LEC 1: Warm-up: x86, Tools
TUT 1: GDB/x86
Preparation: Read asm
Assigned: Lab 01: Bomb Lab1
ADD/DROP DATE
Aug 29 Aug 30 Aug 31
REC 1: Lab 01
Sep 1
DUE: Lab 01
Sep 2
LEC 2: Warm-up: x86_64, Shellcode, Tools
TUT 2: PEDA, Shellcode (video/slides)
Preparation: Read x86_64
Assigned: Lab 02: Bomb Lab2 / Shellcode
Sep 5
Labor day
Sep 6 Sep 7
REC 2: Lab 02
Sep 8
DUE: Lab 02
Sep 9
LEC 3: Writing exploits
TUT 3: IDA, Your first control hijacking
Preparation: Read Phrack #49-14
Assigned: Lab 03: Stack Overflow
Sep 12 Sep 13 Sep 14
REC 3: Lab 03: Last Year's Challenges
Sep 15 Sep 16
LEC 4: Exploiting stack overflows
TUT 4: Your first exploit!
Preparation: Read NSA Codebreaker Challenge
Assigned: Lab 04: NSA Codebreaker Challenge
Sep 19 Sep 20 Sep 21
REC 4: Lab 04
Sep 22
DUE: Lab 03
Sep 23
LEC 5: Stack Protections
TUT 5: Bypassing stack canaries
Preparation: Read Bypassing StackShield
Assigned: Lab 05: Bypassing Stack Protection
Sep 26 Sep 27 Sep 28
REC 5: Lab 05
Sep 29
DUE: Lab 05
Sep 30
LEC 6: DEP and ASLR
TUT 6: Format string vulnerability
Preparation: Read ASLR Smack & Laugh Reference
Assigned: Lab 06: Bypassing DEP/ASLR
Oct 3 Oct 4 Oct 5
REC 6: Lab 06
Oct 6
DUE: Lab 06
Oct 7
LEC 7: Return-oriented Programming (ROP)
TUT 7: Your first ROP
Preparation: Read ROP
Assigned: Lab 07: Return-oriented Programming
Oct 10
Fall Student Recess
Oct 11
Fall Student Recess
Oct 12 Oct 13 Oct 14
Guest Lecture: Web Pentesting (Speaker: Christopher Grayson)
Oct 17 Oct 18 Oct 19
REC 7: Lab 07
Oct 20
DUE: Lab 07
Oct 21
LEC 8: Remote Exploitation
TUT 8: Socket Programming in Python!
Assigned: Lab 08: Remote Attacks
Oct 24 Oct 25 Oct 26
EKOPARTY CTF 2016
Oct 27
EKOPARTY CTF 2016
Oct 28
EKOPARTY CTF 2016
Hacking Day (CCS)
Oct 31 Nov 1 Nov 2
REC 8: Lab 08
Nov 3
DUE: Lab 08
Nov 4
LEC 9: Miscellaneous I
TUT 9: Make Reliable Exploit
Assigned: Lab 09: Exploiting Misc1 (int-ovfl, race, tictou &c)
Nov 7 Nov 8 Nov 9
REC 9: Lab 09
Nov 10
DUE: Lab 09
Nov 11
LEC 10: Heap Memory Allocation
TUT 10: Your first heap exploit
Assigned: Lab 10: Exploiting Heap Bugs
Nov 14 Nov 15 Nov 16
REC 10: Lab 10
Nov 17
DUE: Lab 10
Nov 18
LEC 11: Miscellaneous 2
TUT 11: Fuzzing
Assigned: Lab 11: Exploiting Misc2 (bypassing sandbox, kernel exploits &c) (Alternative: Web Exploitation)
Nov 21 Nov 22 Nov 23
Thanksgiving
Nov 24
Thanksgiving
Nov 25
Thanksgiving
Nov 28 Nov 29 Nov 30 Dec 1
DUE: Lab 04/11
Dec 2
Guest Lecture: Real-world Exploit, Jailbreaking iPhone (Speaker: Yeongjin Jang) + NSA Recruiting Q&A
Dec 5
Last day of classes
Dec 6 Dec 7 Dec 8
Final exam week
(No final!)
Dec 9
Final exam week
(No final!)
Dec 12
Final exam week
(No final!)
Dec 13
Final exam week
(No final!)
Dec 14
Final exam week
(No final!)
Dec 15
Final exam week
(No final!)
Dec 16