CSE 127: Computer Security

Tentative Schedule

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