Here are some final project ideas you can use. Feel free to adapt them, or to propose your own project idea instead.
Construct a program that, when run, obfuscates a number of the side-channels that exist on a multicore system. A security-sensitive victim process can run concurrently with this side-channel destroyer, making it much harder to learn information about the victim’s execution.
Some questions to consider: what performance impact does the side-channel destroyer have on the victim? How can we measure the efficacy of the side-channel destroyer?
Many of the cache attacks we’ve seen are built around two hyper-threaded processes sharing a core and an L1 cache. This is a somewhat limited attack scenario in that it requires the victim and attacker processes to execute in very close (spatial and temporal) proximity.
If we have an L3 cache that is inclusive of all private caches, however, we can potentially extend this attack to work in non-hyperthreaded environments, with an attacker running on a distant core that still shares an L3.
Some questions to consider: how well does an L1-based attack (with victim and attacker sharing a core) translate to an L3-based attack across cores? Are there ways to filter out non-victim accesses to the L3?
Note: the biglab machines are mostly (all?) Intel Core i5 650 Nehalem processors, which do have an inclusive L3. You can find more information on the inclusion properties of various Intel processors via the Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 3A: System Programming Guide, part 1. The first part of Chapter 11 contains information on cache structure and inclusion properties.
Amazon Web Services provides a real-world platform for measuring performance interference in a variety of contexts such as virtual machines, shared Hadoop infrastructure, etc. Taking a set of workloads and measuring their performance variance on AWS and on local machines allows us to measure how good of a job Amazon is doing of providing performance isolation.
Since AWS costs real money, any group wanting to pursue this project should talk with me to get some free AWS credits to play with.
Some questions to consider: are there specific kinds of workloads that are particularly hurt by or immune to performance interference? Are there defensive measures an AWS user can take to give themselves better QoS?
As a generic project option, you can reproduce the results from one of the papers we’ve read in class (or another related paper). Since the scope of a research paper is generally quite large, I can work with you to define an appropriate subset of the results to tackle for the class project.