Computer hardware is critical for system security, since it is the trusted computing base for the whole computing stack. Unfortunately, recent attacks, especially the high-profile Spectre and Meltdown attacks, have shown the existence of fundamental vulnerabilities in modern computer hardware. Even worse, hardware exploits can break the assumptions underpinning numerous software security mechanisms.
6.888 is designed as a research-oriented course on secure hardware design. 6.888 will help you understand the critical security problems in modern hardware and the common limitations of existing solutions. Through a mix of lectures and paper discussions, we will learn the principal of various attacks and how to design effective hardware mitigations and hardware/software co-design solutions.
We will cover the following topics. Please find the reading list and a tentative schedule here.
- Micro-architectural side-channel attacks
- Transient/Speculative execution attacks
- SGX encalve design
- Open-source hardware for security
- Hardware security verification
- Power side-channel attacks
- Rowhammer attacks
- Hardware support for memory safety
6.888 features an open-ended, research-oriented project. Working in groups of 1-2 students, tackle one of the offered projects or propose your own. We will give you access to cutting-edge infrastructure, including simulators, parallel runtimes, and hardware. Great opportunity for UROP and MEng projects, and to explore or continue PhD-level research in security.