Security for Software and Hardware Systems

Course Number: 15-799

Department: Computer Science Department

Location: Pittsburgh

Units: 12

Semester Offered: Spring

This course is broadly focused on full-stack system security and will cover the foundations of building secure systems and cryptography. During the course we will cover hardware, system software, and cryptographic primitives for building secure systems, both within the datacenter environment and in the decentralized setting. This course will focus on the cross-cutting security requirements of systems and how to bolster their security guarantees using a combination of systems and cryptographic techniques. The lectures will cover fundamental security concepts (e.g., threat models, trusted computing base), and do a deep dive into state-of-the-art attacks and defenses (e.g., speculative execution attacks). The course will span a set of hardware security topics including trusted execution environments, side-channels, hardware attacks (e.g., Meltdown, Spectre, Rowhammer), software systems such as blockchains, anonymous messaging, and secure machine learning.

Syllabus

https://www.cs.cmu.edu/~15799/syllabus.html

Class format

The main focus will be on reading papers, discussing these papers in a conference-style setting, and executing a final project.

Home department

CSD

Target audience

Graduate students in all areas and for advanced undergraduates.

Faculty and instructors who have taught this course in the past

Dimitrios Skarlatos, Wenting Zheng