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