Heckler: Breaking Confidential VMs with Malicious Interrupts
Benedict Schlüter, Supraja Sridhara, Mark Kuhne, Andrin Bertschi, Shweta Shinde
TL;DR
Heckler identifies a novel class of attacks against confidential VMs by abusing hypervisor-controlled interrupt delivery to trigger explicit-effect handlers inside the CVM. By carefully injecting non-genuine interrupts (notably int 0x80) at precise execution points, the hypervisor can alter registers and control flow, bypassing authentication in OpenSSH and sudo and degrading the integrity of workloads in SEV-SNP and TDX. The work combines formal trace-based reasoning with end-to-end proofs in multiple workloads (OpenSSH, sudo, MLP, JSAT, TextAnalysis.jl) and provides detailed implementation guidance, defense analyses, and CVE disclosures. Its findings highlight that current software and hardware defenses are insufficient to neutralize such malicious interrupts, motivating hardware-level filtering and stricter interrupt-control policies for CVMs to preserve confidentiality and integrity in cloud confidential computing. The paper also contributes open-source tooling and a thorough discussion of mitigations and future directions for secure interrupt handling in TEEs.
Abstract
Hardware-based Trusted execution environments (TEEs) offer an isolation granularity of virtual machine abstraction. They provide confidential VMs (CVMs) that host security-sensitive code and data. AMD SEV-SNP and Intel TDX enable CVMs and are now available on popular cloud platforms. The untrusted hypervisor in these settings is in control of several resource management and configuration tasks, including interrupts. We present Heckler, a new attack wherein the hypervisor injects malicious non-timer interrupts to break the confidentiality and integrity of CVMs. Our insight is to use the interrupt handlers that have global effects, such that we can manipulate a CVM's register states to change the data and control flow. With AMD SEV-SNP and Intel TDX, we demonstrate Heckler on OpenSSH and sudo to bypass authentication. On AMD SEV-SNP we break execution integrity of C, Java, and Julia applications that perform statistical and text analysis. We explain the gaps in current defenses and outline guidelines for future defenses.
