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