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 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 |