Lectures
| Lecture | Date | Topic | Slides |
|---|---|---|---|
| 1 | Thursday, 9/9 | Course intro |
lecture_2021-09-09.pdf |
| 2 | Monday, 9/13 | C review |
code: pointer.c code: stack.c code: heap.c additional reading on C: cs334-s20-barowy.pdf (see "A Brief Overview of C", "Manual Memory Management", and "Passing Pointers by Value") grading spreadsheet lecture_2021-09-13.pdf |
| 3 | Thursday, 9/16 | More C review |
code: uninitialized.c code: uninitialized2.c code: sum.c lecture_2021-09-16.pdf |
| 4 | Monday, 9/20 | End of C review |
pointer quiz: code: pointer_manipulation.c makefiles: code: Makefile code: a.c code: a.h code: b.c code: b.h code: c.c lecture_2021-09-20.pdf |
| 5 | Thursday, 9/23 | CIAA/Passwords |
lecture_2021-09-23.pdf |
| 6 | Monday, 9/27 | Password cracking, part 1 |
lecture_2021-09-27.pdf |
| 7 | Thursday, 9/30 | Password cracking, part 2 |
lecture_2021-09-30.pdf code: Makefile that shows how to use Address Sanitizer. Use it with sum.c. |
| 8 | Monday, 10/4 | C bugs |
lecture_2021-10-04.pdf code: buggy.c from the quiz. code: fix1.c, which uses malloc/free. code: fix2.c, which uses value semantics. |
| 9 | Thursday, 10/7 | Password cracking, part 3 |
lecture_2021-10-07.pdf |
| n/a | Monday, 10/11 | (reading period---no class) | |
| 10 | Thursday, 10/14 | Anatomy of a bug, part 1 |
lecture_2021-10-14.pdf Makefile globalthermonuclearwar.c |
| 11 | Monday, 10/18 | Midterm exam review |
lecture_2021-10-18.pdf practice_midterm_solutions.pdf quiz2_solution.pdf quiz3_solution.pdf |
| n/a | Thursday, 10/21 | Midterm exam | |
| 12 | Monday, 10/25 | How C functions work |
lecture_2021-10-25.pdf |
| 13 | Thursday, 10/28 | How C passes arguments |
lecture_2021-10-28.pdf |
| 14 | Monday, 11/1 | Stack smashing |
lecture_2021-11-01.pdf |
| 15 | Thursday, 11/4 | Shellcode |
lecture_2021-11-04.pdf |
| 16 | Monday, 11/8 | Removing NULL bytes |
lecture_2021-11-08.pdf |
| 17 | Thursday, 11/11 | Undefined behavior / social engineering |
lecture_2021-11-11.pdf |
| 18 | Monday, 11/15 | Social engineering / physical security basics |
lecture_2021-11-15.pdf Video demonstrating exploit of hinge vulnerability. |
| 19 | Thursday, 11/18 | Physical security basics / locks |
lecture_2021-11-18.pdf Brute force: Master lock vs hammer. Brute force: Master lock vs wrenches. Extreme brute force: U-lock vs thermite. |
| 20 | Monday, 11/22 | Cyber-physical audits |
lecture_2021-11-22.pdf Exploit: door latch. Happy Thanksgiving! |
| 21 | Monday, 11/29 | Information flow |
lecture_2021-11-29.pdf |
| 22 | Thursday, 12/2 | Privilege separation |
lecture_2021-12-02.pdf |
| 23 | Monday, 12/6 | IP networking basics | lecture_2021-12-06.pdf |