|Jan 7||Overview and introduction
Optional reading: Chapter 0x200 of Hacking
|Jan 9||Security foundations
Reading: Thompson's Reflections on Trusting Trust, Ch 1, and Ch 4.1-4.2
|Jan 14||Security foundations (in-class discussion) Kirill's slides|
|Jan 16||Stack buffer-overflows
Reading: Aleph One's Smashing the Stack for Fun and Profit
Optional reading: 0x300-0x320 from Hacking. 0x200-0x270 if you don't have a strong C background.
|Jan 21||MLK - no class|
|Jan 23||ASLR and W^X
Reading: Eternal War in Memory by Szekeres et al., ASLR, and NOEXEC
|Jan 28||Return-oriented programming
Reading: On the Effectiveness of Address-Space Randomization by Shacham et al., The Geometry of Innocent Flesh on the Bone: Return-into-libc without Function Calls (on the x86) by Shacham, and Hacking BLind by Bittau et al.
|Jan 30||Control flow integrity
Reading: Control-Flow Integrity by Abadi et al., Control-Flow Bending: On the Effectiveness of Control-Flow Integrity by Carlini et al. and Control-Flow Integrity: Precision, Security, and Performance by Burow et al.
|Feb 4||Memory safety
Reading: SoftBound: Highly Compatible and CompleteSpatial Memory Safety for C by Nagarakatte et al., Oscar: A Practical Page-Permissions-Based Scheme for Thwarting Dangling Pointers by Dang et al., and Bringing Memory Safety to WebAssembly by Disselkoen et al.
|Feb 6||Least privilege and privilege separation
Reading: Operating Systems Security by Jaeger
|Feb 11||Isolation and short review
Reading: Efficient Software-Based Fault Isolation by Wahbe et al.
|Feb 12||Midterm review|
|Feb 13||Midterm exam (in-class)|
|Feb 18||President's day - no class|
|Feb 20||Page tables, VMs, and side channels
Reading: Remote Timing Attacks are Practical by Brumley and Boneh
|Feb 25||Web security model and CSRF
Reading: CSRF and Same Origin Policy
Lecture code: CSRF simple app
|Feb 27||CSRF, XSS, SQLi
Reading: XSS Game and SQL Injection
|Mar 4||Modern client-side security mechanisms
Reading CSP, iframe sandbox, CORS, SRI, Mixed content, Busting Frame Busting:a Study of Clickjacking Vulnerabilities on Popular Site by Rydstedt et al.
|Mar 6||Intro to cryptography
Reading: Security Engineering, Ch 5, BREACH
|Mar 11||PKI, HTTPS, and CT
Reading: Ten Risks of PKI by Ellison and Schneier, Towards Short-Lived Certificates by Topalovic et al., The New Illustrated TLS Connection, CT log searches, and CRLite: a Scalable System for Pushing all TLS Revocations to All Browsers by Larisch et al.
|Mar 13||Network security
Reading: A Look Back at Security Problems in the TCP/IP Protocol Suite by Bellovin, An Illustrated Guide to the Kaminsky DNS Vulnerability by Friedl
|Mar 20||Final exam in Solis 104 @ 7-10PM|