Instructor: Aastha Mehta ( <firstname>k<lastinitial> [AT] cs.ubc.ca )
Teaching Assistant: TBD
A large number of software applications store and process valuable data. These applications are the target of a variety of attacks. One type of attacks are side-channel attacks. Side channels arise in system resources that are shared among mutually untrusting principals. Side-channel attacks are becoming increasingly sophisticated, while building efficient defenses is challenging. This course will give an overview of software-based side-channel attacks. We will study papers that describe side channels in resources, such as caches, memory, CPUs, GPUs, and network, and how attacks are designed to exploit the side channels. We will also study state-of-the-art solutions to mitigate various side channels.
The course is structured as a seminar. Every class, one student will present a paper on a single topic, which will then be discussed in the class. Before each class, all students are expected to read the paper, prepare a list of discussion questions, and write a short critical review of the paper. There will be one or two assignments (first half of the term), and an exploratory project component.
Grading (tentative, subject to change until the beginning of the course)
When you present, no review is required for that week's paper.
Any background in security is welcome but not required. The course is intended for Masters and Ph.D. students in Computer Science, but enterprising Bachelors students who fulfill above pre-requisites are welcome to participate.