Core Concepts
The WESEE attack abuses the VMM Communication Exception (#VC) in AMD SEV-SNP to compromise the confidentiality and integrity of guest VMs by injecting malicious #VCs that induce arbitrary register and memory read/write operations.
Abstract
The paper presents the WESEE attack that exploits the VMM Communication Exception (#VC) introduced in AMD SEV-SNP to break the confidentiality and integrity guarantees of guest VMs.
Key highlights:
- AMD SEV-SNP provides hardware-based trusted execution environments for VMs, but requires a new #VC exception to facilitate communication between the untrusted hypervisor and the trusted VM.
- The WESEE attack observes that the hypervisor can inject malicious #VC exceptions at any time, and the #VC handler in the VM does not properly validate the authenticity of the exception.
- By injecting carefully crafted #VC exceptions, the WESEE attack can induce arbitrary register read/write and memory read/write operations in the victim VM.
- The paper demonstrates three end-to-end attacks using WESEE: leaking kTLS keys for NGINX, bypassing firewall rules, and obtaining a root shell.
- The authors discuss potential software and hardware-based defenses to mitigate the WESEE attack.
Stats
AMD SEV-SNP provides hardware-based trusted execution environments for VMs.
The #VC exception is introduced to facilitate communication between the untrusted hypervisor and the trusted VM.
The hypervisor can inject malicious #VC exceptions at any time.
The #VC handler in the VM does not properly validate the authenticity of the #VC exception.
Quotes
"WESEE abuses the #VC exceptions to break AMD SEV-SNP."
"WESEE injects multiple well-crafted #VC exceptions into the victim VM to induce arbitrary reads, writes, and code injection."
"We demonstrate three case studies for WESEE: leaking kTLS keys for NGINX, bypassing the firewall, and obtaining a root shell."