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 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 Preparation: READ Pwntools Preparation: READ About ELF Auxiliary Vectors |
Feb 3 |
Feb 6 | Feb 7 LEC 6: Frame-pointer attack, core dump analysis Preparation: Read ELF Preparation: Read Core dump |
Feb 8 | Feb 9 LEC 7: Writing Shellcode #1 Preparation: Read ELF DUE: Unit 2 Resource: Shellcodes database Resource: Online assembler/disassembler Assigned: inclass3 |
Feb 10 |
Feb 13 | Feb 14 LEC 8: Writing Shellcode #2 PPTX Preparation: READ ASCII ASCII-2 Preparation: READ Alpha-numeric Alpha-numeric-2 DUE: shellcode-{32,64} Resource: one byte or short instructions Assigned: Unit3 |
Feb 15 | Feb 16 LEC 9: Writing Shellcode #3 Preparation: READ How programs get run: ELF binaries Preparation: READ Linux x86 Program Start Up Resource: ASCII Table |
Feb 17 |
Feb 20 | Feb 21 LEC 10: Writing Shellcode #4, Intro to Stack Cookie and DEP Resource: AT&T vs. Intel Syntax 1 Resource: AT&T vs. Intel Syntax 2 |
Feb 22 | Feb 23 LEC 11: Stack Cookie and DEP Preparation: READ SoftBound Preparation: READ StackGuard DUE: Unit 3 + inclass{3,4} (rest) Assigned: Unit 4 |
Feb 24 |
Feb 27 | Feb 28 LEC 12: ASLR and bypasses + Some tips for ASLR, Stack Cookie, and DEP Preparation: READ Address Space Randomization (ASLR) Preparation: READ ASLR Next Generation |
Mar 1 | Mar 2 LEC 13: Some tips for ASLR, Stack Cookie, and DEP Preparation: READ PIC in shared libraries |
Mar 3 |
Mar 6 | Mar 7 LEC 14: Return-oriented Programming 1 Preparation: Read ROP DUE: Unit 4 Assigned: Unit 5 |
Mar 8 | Mar 9 LEC 15: Return-oriented Programming 2 / Advanced Return-oriented Programming Preparation: READ ROP Preparation: Read got/plt and PIC Preparation: Read How does the Linux kernel run a program |
Mar 10 |
Mar 13 Spring break |
Mar 14 Spring break |
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 Midterm exam week |
Mar 24 Midterm exam week |
Mar 27 | Mar 28 LEC 16: Arbitrary read/write and Format Strings 1 DUE: Unit 5 Resource: Linus vs. Tanenbaum Assigned: Unit 6 |
Mar 29 | Mar 30 LEC 17: Arbitrary read/write and Format Strings 2 |
Mar 31 |
Apr 3 | Apr 4 LEC 18: Defenses Against AR and AW |
Apr 5 | Apr 6 LEC 19: Defenses against CFH, FSV. Heap Overflow Intro Assigned: Unit 7 |
Apr 7 |
Apr 10 | Apr 11 LEC 20: Heap Overflow Intro (Cont'd) DUE: Unit 6 |
Apr 12 | Apr 13 LEC 21: Heap Overflow II |
Apr 14 |
Apr 17 | Apr 18 LEC 22: Heap Overflow III |
Apr 19 | Apr 20 LEC 23: Heap Overflow IV DUE: Unit 7 Assigned: Unit 8 |
Apr 21 |
Apr 24 | Apr 25 LEC 24: Past problems review I, advanced System Security Defenses -- ShadowStack, CFI, and other defenses Resource: CET by Intel |
Apr 26 | Apr 27 LEC 25: Past problems review II |
Apr 28 |
May 1 | May 2 LEC 26: Last class, In-class CTF intro |
May 3 | May 4 | May 5 The last day of class |