Course Overview

This course will focus on architectural approaches to designing and building secure and trustworthy software systems, motivated by a discussion of threat models and vulnerabilities exploited in practice. We will analyze various enabling mechanisms (e.g., virtualization, trusted hardware) in terms of their abstractions, implementations, security guarantees, and hardware-software decompositions. We will survey systems that have leveraged such approaches across a wide range of application scenarios. Towards the end of the course, we will also consider other approaches to improving the security of software systems (e.g., program verification). This course will be primarily driven by reading research papers, with in-class presentations and discussions, and will include a research project component.

For more information, please see the course syllabus.

Course Information

Instructors: Matthew Lentz
Location: Allen 326
Time: Tue/Thur 5:15pm - 6:30pm
Office Hours: Tue 4:00pm - 5:00pm (or by appointment)
Resources: Syllabus, Sakai, HotCRP


45% Project
A semester-long research project, with writeup and presentation
20% Responses
Writing thoughtful responses to the weekly readings
19% Exam
A take-home midterm exam
15% Participation
Actively engaging with in-class and online discussions
1% Meet Your Prof
Meet with me to discuss research, future plans, or anything else