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.
Monday | Tuesday | Wednesday | Thursday | 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 |