Marco Guarnieri is an assistant research professor at the IMDEA Software Institute. He completed his Ph.D. in Computer Science at ETH Zurich. His research focuses on the design, analysis, and implementation of practical systems for securely storing and processing sensitive data. He applies his research to the analysis of microarchitectural side-channel attacks (and countermeasures) and to database security.
Caches are fast, small memories that store recently accessed data. They are used to speed up computation by reducing interaction with main memory. Caches, however, introduce subtle timing differences in a program’s execution time that leak information about a program's memory accesses. Attackers can exploit these leaks to compromise a program security. In this talk, I will present an overview of how caches work and how they can be exploited by attackers through side-channel attacks. Concretely, I will introduce the main classes of cache side-channel attacks such as Prime+Probe and Flush+Reload. I will also illustrate how cache side channels play an important part in recent microarchitectural attacks like Spectre. I will conclude by presenting an overview of software and hardware countermeasures against these attacks.