Link Search Menu Expand Document

Final Project

Students can choose to do an optional final project in place of labs 3, 4, and 5. The final project will replace the grades for those three labs.

Below are some good examples of projects from Fall 2020 you can use as inspiration for your project.


Jack Cook

Side channels attacks are an elementary type of attack that can be exploited on basically any modern computer system. They rely on the fact that computers are required to share resources in order to be practical and economically viable. This shared resource can be anything from cache contention, to power usage, to network latency.

For this project, I originally took advantage of the cache contention side channel. I collected traces in the form of cache contention over time, known as a “memorygram,” and opened new tabs in my browser while these traces were being collected. After training a model on a large collection of memorygrams, I was able to predict new tabs that people opened in their browsers. When distinguishing between 10 websites, we were able to reach 97% accuracy, and when distinguishing between 100 websites, we reached 75% accuracy. This work demonstrates why side channel attacks are practical to exploit from JavaScript, and how we can defend against them.

Read the paper

Read the keynote

FPGA Power Side Channels

Brandon John

FPGAs have started appearing in datacenters such as AWS, allowing users to rent time on FPGAs to help with their heavy compute tasks. These FPGAs vary, with one variant being built as an SoC (System on Chip) with a processor and FPGA fabric in one package. There can also be scenarios where users can rent a portion of an FPGA, and another user uses another portion of said FPGA. In this scenario presumably the two users would have all signals isolated from each other, but would share voltage supply rails and other ambient conditions. Both of these scenarios share one key detail: the FPGA logic is supplied by a voltage rail that can be dependent on the activity of its neighbors. This shared rail allows for a power side-channel attack to covertly extract data.

Read the paper

Watch the keynote