SETSS 2025

Tutorial

Hardware-Software Leakage Contracts for Side-Channel Security

Jan Reineke

on  Mon, 9:00in  Room 402for  90min on  Mon, 11:00in  Room 402for  90min on  Tue, 9:00in  Room 402for  90min on  Tue, 11:00in  Room 402for  90min

Abstract

Microarchitectural attacks such as Spectre and Meltdown compromise security by exploiting software-visible artifacts of microarchitectural optimizations like caches and speculative execution. To use modern hardware securely, programmers must be aware of the security implications of these optimizations. Unfortunately, instruction set architectures (ISAs), the traditional abstraction layer between hardware and software, are an inadequate basis for secure programming: they fully abstract away microarchitectural details and thus fail to capture their security implications.

To enable the principled construction of secure software systems on top of modern hardware, we propose a new security abstraction at the ISA level: hardware-software leakage contracts. Leakage contracts capture side-channel leakage at the ISA level. Thereby they enable compilers to generate code that is provably immune to side-channel attacks without having to reason about microarchitectural details.

In my lecture, I will address challenges around leakage contracts at the hardware and the software level:

Key papers

 Overview  Program