The schedule is tentative and subject to change (e.g., if we want to dig deeper into a specific topic).

Updates:
Date Topic Readings Notes
08/24 Introduction
08/26 Introduction
Security Threats
2, 8, 28, 29 2, 28, and 29 are suggested
(May refer to them over time)
08/31 Security Threats 10, 26
09/02 Principles 1
09/07 Operating Systems 5 (Due) Project Team
09/09 Operating Systems 3, 4
09/14 Virtual Machines 19, 30
09/16 Trusted Hardware - Introduction 6 Sections 3 and 4
09/21 Trusted Hardware - TPMs 7, 11
09/23 Project Pre-Proposal Presentations
Trusted Hardware - TEEs (Intel SGX)
6 Sections [5, 5.4) and [5.6, 5.8]
09/28 Trusted Hardware - TEEs (Intel SGX) 6 Sections [5, 5.4) and [5.6, 5.8]
09/30 Trusted Hardware - HW vs SW 12, 13 (Due) Project Proposal
10/05 No Class
10/07 Trusted Hardware - TEE Abstractions 14
10/12 Trusted Hardware - Unmodified Apps 15, 16
10/14 Trusted Hardware - Untrusted Compute 17 (Due) Midterm Exam
10/19 Trusted Hardware - Applications 18, 20
10/21 Trusted Hardware - Applications 25
10/26 Sandboxing
10/28 Memory Protections 27 (Due) Project Status Report
11/02 Runtime Protections 9, 24
11/02 Software Analysis
11/04 Languages 23
11/09 Languages - Verification 21
11/11 Languages - Verification 22
11/16 Languages - Verification 5, 12 Revisiting papers
11/18 Project Presentations
11/23 Project Presentations (Due) Project Writeup