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 20 Jan 21
LEC 1: Intro & Preliminary Rev. Engineering #1
Preparation: Read intel_asm at&t_asm Read gdb1 gdb2
Resource: The Missing Semester of Your CS Education
Assigned: Unit 1
First day of class
Jan 22 Jan 23
LEC 2: Preliminary Reverse Engineering #2
Preparation: intelCodeTable
Preparation: How debugger works (part1) (part2) (part3)
Resource: x86 instruction set reference
Resource: RC files .vimrc .gdbinit .pythonrc.py .tmux.conf
Jan 24
Jan 27 Jan 28
LEC 3: Preliminary Reverse Engineering #3
Preparation: UTF8-history.txt
Resource: unicode and character sets
Resource: unicode and character sets in 2023
Resource: Signed Binary
Resource: Mark Watney's ASCII
Jan 29 Jan 30
LEC 4: Buffer overflow #1
Preparation: Read Phrack #49-14
Preparation: Read Where the top of the stack is on x86
Preparation: Read Stack frame layout on x86-64
Preparation: READ Pwntools
DUE: Unit 1
Assigned: Unit 2
Jan 31
Feb 3 Feb 4
LEC 5: Buffer overflow #2
Resource: pwntools template ex.py
Feb 5 Feb 6
LEC 6: Frame-pointer attack
Preparation: Read Core dump
Feb 7
Feb 10 Feb 11
LEC 7: Writing Shellcode #1
DUE: Unit 2
Assigned: Unit3-Part1
Feb 12 Feb 13
LEC 8: Writing Shellcode #2
Feb 14
Feb 17 Feb 18
LEC 9: Writing Shellcode #3
Feb 19 Feb 20
LEC 10: Writing Shellcode #4
DUE: Unit3-Part1
Assigned: Unit3-Part2
Feb 21
Feb 24 Feb 25
LEC 11: Intro to system defenses; Stack Cookie, DEP, and ASLR
Feb 26 Feb 27
LEC 12: ASLR and bypasses + Some tips for ASLR, Stack Cookie, and DEP
DUE: Unit3-Part2
Assigned: Unit4
Feb 28
Mar 3 Mar 4
LEC 13: Some tips for ASLR, Stack Cookie, and DEP
Mar 5 Mar 6
LEC 14: Return-oriented Programming 1
DUE: Unit 4
Assigned: Unit 5
Mar 7
Mar 10 Mar 11
LEC 15: Return-oriented Programming 2 / Advanced Return-oriented Programming
Mar 12 Mar 13
LEC 16: Advanced Return-oriented Programming
Mar 14
Mar 17
Spring break
Mar 18
Spring break
Mar 19
Spring break
Mar 20
Spring break
Mar 21
Spring break
Mar 24 Mar 25
LEC 17: Mid-term make up (I)
DUE: Unit 5
Assigned: Unit 6
Mar 26 Mar 27
LEC 18: Mid-term make up (II)
Mar 28
Mar 31 Apr 1
LEC 19: Arbitrary read/write and Format Strings 1
Apr 2 Apr 3
LEC 20: Arbitrary read/write and Format Strings 2
DUE: Unit 6
Assigned: Unit 7
Apr 4
Apr 7 Apr 8
LEC 21: Defenses Against AR and AW
Apr 9 Apr 10
LEC 22: Advanced Topic I
Apr 11
Apr 14 Apr 15
LEC 23: Advanced Topic II
DUE: Unit 7
Assigned: Unit 8
Apr 16 Apr 17
LEC 24: Advanced Topic III
Apr 18
Apr 21 Apr 22
LEC 25: Heap Overflow Intro
Apr 23 Apr 24
LEC 26: More on Heap Overflow
Apr 25
Apr 28 Apr 29
LEC 27: Past problems review I, advanced System Security Defenses -- ShadowStack, CFI, and other defenses
DUE: Unit 8
Apr 30 May 1
LEC 28: Last class, In-class CTF intro
Assigned: In-class CTF
May 2
May 5 May 6 May 7 May 8 May 9
The last day of class