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.

MondayTuesday WednesdayThursday Friday
Jan 16
MLK Day
Jan 17
LEC 1: Intro & Preliminary Rev. Engineering #1 PPTX
Preparation: Read intel_asm at&t_asm Read gdb1 gdb2
Resource: how debugger works (part1)
Resource: how debugger works (part2)
Resource: how debugger works (part3)
Assigned: Unit 1
First day of class
Jan 18 Jan 19
LEC 2: Preliminary Reverse Engineering #2 PPTX
Preparation: intelCodeTable
Jan 20
Jan 23 Jan 24
LEC 3: Preliminary Reverse Engineering #3 PPTX
Jan 25 Jan 26
LEC 4: Buffer overflow #1 PPTX
TUT 1: tutorial pwntools.md or link
TUT 2: tutorial #2-0 bof-level0
Preparation: Read Where the top of the stack is on x86
Preparation: Read Stack frame layout on x86-64
Preparation: Read Phrack #49-14
DUE: Unit 1
Assigned: Unit 2
Jan 27
Jan 30 Jan 31
School closing
Feb 1 Feb 2
LEC 5: Buffer overflow #2 PPTX
Preparation: READ Pwntools
Preparation: READ About ELF Auxiliary Vectors
Feb 3
Feb 6 Feb 7
LEC 6: Frame-pointer attack PPTX
TUT 3: pwntools MD
TUT 4: bof-level5 PY
TUT 5: tutorial #2-5 level5-tutorial
TUT 6: bof-level8 level8
Preparation: Read ELF
Preparation: Read Core dump
Feb 8 Feb 9
LEC 7: Writing Shellcode #1 PPTX
TUT 7: tutorial #3-1 inclass3_lab.md
TUT 8: shellcode template shellcode-template
TUT 9: sys_write() hello.S
Preparation: Read ELF
DUE: Unit 2
Resource: Shellcodes database
Resource: Online assembler/disassembler
Assigned: inclass1
Assigned: Unit3
Feb 10
Feb 13 Feb 14
LEC 8: Writing Shellcode #2 PPTX
Preparation: READ ASCII ASCII-2
Preparation: READ Alpha-numeric Alpha-numeric-2
Assigned: inclass2
Resource: one byte or short instructions
Feb 15 Feb 16
LEC 9: Writing Shellcode #3 PPTX
Preparation: READ How programs get run: ELF binaries
Preparation: READ Linux x86 Program Start Up
DUE: inclass1
Resource: ASCII Table
Feb 17
Feb 20 Feb 21
LEC 10: Writing Shellcode #4
Resource: AT&T vs. Intel Syntax 1
Resource: AT&T vs. Intel Syntax 2
Feb 22 Feb 23
Class Cancelled
Feb 24
Feb 27 Feb 28
LEC 11: Intro to system defenses; Stack Cookie, DEP, and ASLR PPTX
TUT 10: cookie-1
Preparation: READ SoftBound
Preparation: READ StackGuard
DUE: inclass2
DUE: Unit3
Assigned: Unit 4
Mar 1 Mar 2
LEC 12: ASLR and bypasses + Some tips for ASLR, Stack Cookie, and DEP PPTX
TUT 11: DEP-2
TUT 12: aslr-2
Preparation: READ Address Space Randomization (ASLR)
Preparation: READ ASLR Next Generation
Mar 3
Mar 6 Mar 7
LEC 13: Some tips for ASLR, Stack Cookie, and DEP
TUT 13: cookie-3
TUT 14: aslr-3
Preparation: READ PIC in shared libraries
Mar 8 Mar 9
LEC 14: Return-oriented Programming 1 U5L1.pptx U5L2.pptx U5L2-2.pptx
TUT 15: tutorial tut-rop64
TUT 16: tutorials PY PY
Preparation: Read ROP
DUE: Unit 4
Assigned: Unit 5
Mar 10
Mar 13 Mar 14
LEC 15: Return-oriented Programming 2 / Advanced Return-oriented Programming
TUT 17: tutorial rop-1-32
TUT 18: tutorial rop-1-64
TUT 19: tutorial rop-5-32
Preparation: READ ROP
Preparation: Read How does the Linux kernel run a program
Mar 15
Spring break
Mar 16
Spring break
Mar 17
Spring break
Mar 20
Midterm exam week
Mar 21
Midterm exam week
Mar 22
Midterm exam week
Mar 23
LEC 16: Advanced Return-oriented Programming
Preparation: READ How programs get run: ELF binaries
Preparation: READ Linux x86 Program Start Up
Preparation: Read got/plt and PIC
Mar 24
Mar 27 Mar 28
LEC 17: Arbitrary read/write and Format Strings 1 U6L1.pptx
DUE: Unit 5
Resource: Linus vs. Tanenbaum
Assigned: Unit 6
Mar 29 Mar 30
LEC 18: Arbitrary read/write and Format Strings 2 U6L2.pptx
TUT 20: tutorial AR-1-PY
TUT 21: tutorial AW-1-PY
TUT 22: tutorial SR-1-PY
Mar 31
Apr 3 Apr 4
LEC 19: Defenses Against AR and AW U6L3.pptx
TUT 23: tutorial exploit-b-fs-write.py
TUT 24: tutorial exploit-c-fs-code.py
Apr 5 Apr 6
LEC 20: Defenses against CFH, FSV. Heap Overflow Intro
Assigned: Unit 7
Apr 7
Apr 10 Apr 11
LEC 21: Heap Overflow Intro (Cont'd) U7L1.pptx
DUE: Unit 6
Apr 12 Apr 13
LEC 22: Heap Overflow II
TUT 25: lvl0
TUT 26: lvl4
TUT 27: lvl5
TUT 28: lvl6
Apr 14
Apr 17 Apr 18
LEC 23: Heap Overflow III
Apr 19 Apr 20
LEC 24: Heap Overflow IV
DUE: Unit 7
Assigned: Unit 8
Apr 21
Apr 24 Apr 25
LEC 25: Past problems review I, advanced System Security Defenses -- ShadowStack, CFI, and other defenses
Resource: CET by Intel
Apr 26 Apr 27
LEC 26: Last class, In-class CTF intro
TUT 29: unit08-lvl0
TUT 30: unit08-lvl2
TUT 31: unit08-lvl4
Assigned: In-class CTF: Apr 28 Midnight ~ Apr 29 11:59 PM (48 hours)
Apr 28
May 1 May 2
LEC 27: No class
DUE: Unit 8
May 3 May 4 May 5
The last day of class