The following schedule is a rough estimate and is subject to change.
Week Dates Topics Readings Slides
1 1/8 Intro Slides
1/10 Security fundamentals Slides
2 1/15, 1/17 Memory corruption vulnerabilities Smashing the stack for fun and profit Slides
3 1/22, 1/24 Memory corruption vulnerabilities Exploiting Format String Vulnerabilities Slides
4 1/29 Memory corruption defense and advanced attacks Return-Oriented Programming Slides
1/31 Class canceled due to cold weather
5 2/5, 2/7 Defensive programming Slides
6 2/12 Class canceled due to snow
2/14 Defensive programming Slides
7 2/19, 2/21 Testing and fuzzing AFL technical details Slides
8 2/26 Side channels Guest lecture by Robert Brotzman-Smith Slides
2/28 Class canceled due to instructor academic travel
9 3/5, 3/7 Spring break Give me a break!
10 3/12, 3/14 Symbolic execution Slides
11 3/19 Symbolic execution Slides
3/21 Automatic program repairs Guest Lecture by Zhen Huang Slides
12 3/26,3/28 Reference monitors Enforceable Security Policies Slides
13 4/2, 4/4 Software-based fault isolation SFI Survey
14 4/9 Software-based fault isolation SFI Survey
4/11 Execution integrity Slides
15 4/16 Execution integrity Slides
4/18 Privilege separation Guest Lecture by Shen Liu Slides
16 4/23 Information flow Slides
4/25 Final exam review
17 Final exam