| Date |
Topic |
Readings |
Assignments |
| 1/9 |
Introduction and threat modeling
Lecture slides
Session slides
|
Scribe Notes
This World of Ours by
James Mickens
Usenix
Security '18 Keynote by James Mickens
Optional further reading:
The Security
Mindset by Bruce Schneier
The
Security Mindset and "Harmless Failures" by Ed Felten
How
to think like a security professional by Yoshi Kohno
|
Assignment 1 available
|
|
| 1/11 |
Threat modeling continued
Lecture slides
|
|
|
| 1/16 |
Buffer overflow attacks
Lecture slides
Session slides
|
Scribe Notes
Smashing the stack for fun and profit
by Aleph One
Optional further reading:
0x200-0x270, 0x300-0x320 from Hacking
Buffer Overflows:
Attacks and Defenses for the Vulnerability of the Decade by Crispin Cowan, Perry Wagle,
Calton Pu, Steve Beattie, and Jonathan Walpole
|
| 1/18 |
Buffer overflow defenses
Lecture slides
Updated slides
|
Scribe Notes
Optional further reading:
Buffer Overflows:
Attacks and Defenses for the Vulnerability of the Decade by Crispin Cowan, Perry Wagle,
Calton Pu, Steve Beattie, and Jonathan Walpole
ASLR
NOEXEC
|
Assignment 1 due
Assignment 2 available
|
| 1/23 |
Memory safety
Lecture slides
Session slides
|
Scribe Notes
Low-level
Software Security by Example by Ulfar Erlingsson, Yves Younan, and Frank Piessen
Understanding
glibc malloc
Optional further reading:
Return-Oriented Programming: Systems,
Languages, and Applications by Ryan Roemer, Erik Buchanan, Hovav Shacham, and Stefan
Savage
Hacking
Blind by Andrea Bittau, Adam Belay, Ali Mashtizadeh, David Mazieres, Dan Boneh
Control-Flow
Integrity by Martin Abadi, Mihai Budiu, Ulfar Erlingsson, and Jay Ligatti
|
|
| 1/25 |
Isolation
Lecture slides
Session slides
|
Scribe notes
The Road to Less Trusted Code:
Lowering the Barrier to In-process Sandboxing by Tal Garfinkel, Shravan Narayan, Craig
Disselkoen, Hovav Shacham, and Deian Stefan
Optional further reading:
Operating
System Security by Trent Jaeger
Android System and kernel
security
iOS Security Guide
|
| 1/30 |
Side channels
Lecture slides
Session slides |
Scribe notes
|
|
| 2/1 |
Web intro
Lecture slides
Session slides |
Scribe notes
CSRF, XSS, SQLi
notes
SQL
Injection
Optional further reading:
Web technology for developers
Browser Security Handbook: Basic
concepts behind web browsers
|
Assignment 2 due 2/3/24
Assignment 3 available
|
| 2/6 |
Web attacks and defenses
Lecture slides
Class slides
|
Scribe notes
Robust defenses for
cross-site request forgery by Adam Barth, Collin Jackson, and John C. Mitchell
|
|
| 2/8 |
Midterm Exam |
|
|
| 2/13 |
Network intro
Lecture slides
Class slides
|
Scribe notes
Optional further reading:
Wikipedia: Autonomous
System
Wikipedia: OSPF routing
Wikipedia: Border Gateway
Protocol
Wikipedia: User Datagram
Protocol
Wikipedia: Transmission
Control Protocol
Wikipedia: Domain Name System
|
|
| 2/15 |
Network attacks
Lecture slides
Class slides
|
Scribe notes
Security problems in the TCP/IP
protocol suite by Steven Bellovin
A Look Back at "Security
Problems in the TCP/IP Protocol Suite" by Steven Bellovin
SAD DNS Explained by Marek Vavrusa
and Nick Sullivan
Optional further reading:
|
|
| 2/20 |
Network defenses
Lecture slides
Class slides
|
Scribe notes
NAT Slipstreaming by Samy Kamkar
|
|
| 2/22 Async |
Symmetric cryptography
Lecture slides
Class slides
|
Scribe notes
Ch. 5 of Security Engineering
by Ross Anderson
Optional further reading:
Communication Theory of
Secrecy Systems by Shannon
|
Assignment 3 due 2/23
Assignment 4 Available 2/23
|
| 2/27 |
Public-key cryptography
Lecture slides
Class slides
|
Scribe notes
Ch. 5 of Security Engineering
by Ross Anderson
Optional further reading:
Modular arithmetic
lecture notes from Berkeley CS 70
Basic number
theory lecture notes from Boaz Barak
New
Directions in Cryptography by Whitfield Diffie and Martin E. Hellman
|
|
| 2/29 |
Flipped Classroom
Lecture slides
Class slides
|
The Illustrated TLS 1.2 Connection
The Illustrated TLS 1.3 Connection
|
Assignment 5 available |
| 3/5 |
TLS and secure channels
Lecture slides
Class slides
|
The Illustrated TLS 1.2 Connection
The Illustrated TLS 1.3 Connection
|
Assignment 4 due 3/4
|
| 3/7 |
Authentication and passwords
Lecture slides
Class slides
|
|
|
| 3/12 |
Privacy and anonymity
Lecture slides
Class slides
|
Ch. 25 of Security
Engineering by Ross Anderson
Optional further reading:
Why
Johnny Can't Encrypt: A Usability Evaluation of PGP 5.0 by Alma Whitten and Doug
Tygar
Tor: The
Second-Generation Onion Router by Roger Dingledine, Nick Mathewson, and Paul
Syverson
Bernstein v. United States
Off-the-Record Communication, or, Why Not To
Use PGP by Nikita Borisov, Ian Goldberg, and Eric Brewer
Forward Secrecy for
Asynchronous Messages by Moxie Marlinspike
Robust De-anonymization of
Large Sparse Datasets by Arvind Narayanan and Vitaly Shmatikov
|
|
| 3/14 |
Conclusion and special topics
Class slides
|
|
Assignment 5 due 3/15 |
|
|
|
|
| 3/21 |
Final Exam |
Location: CENTR 115 , Two cheat sheets allowed.
Time: 11:30a-2:29p
|
|