VIA: Analyzing Device Interfaces of Protected Virtual Machines
Both AMD and Intel have presented technologies for confidential computing in cloud environments. The proposed solutions - AMD SEV (-ES, -SNP) and Intel TDX - protect Virtual Machines (VMs) against attacks from higher privileged layers through memory encryption and integrity protection. This model of...
Gespeichert in:
Hauptverfasser: | , , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Both AMD and Intel have presented technologies for confidential computing in
cloud environments. The proposed solutions - AMD SEV (-ES, -SNP) and Intel TDX
- protect Virtual Machines (VMs) against attacks from higher privileged layers
through memory encryption and integrity protection. This model of computation
draws a new trust boundary between virtual devices and the VM, which in so far
lacks thorough examination. In this paper, we therefore present an analysis of
the virtual device interface and discuss several attack vectors against a
protected VM. Further, we develop and evaluate VIA, an automated analysis tool
to detect cases of improper sanitization of input recieved via the virtual
device interface. VIA improves upon existing approaches for the automated
analysis of device interfaces in the following aspects: (i) support for
virtualization relevant buses, (ii) efficient Direct Memory Access (DMA)
support and (iii) performance. VIA builds upon the Linux Kernel Library and
clang's libfuzzer to fuzz the communication between the driver and the device
via MMIO, PIO, and DMA. An evaluation of VIA shows that it performs 570
executions per second on average and improves performance compared to existing
approaches by an average factor of 2706. Using VIA, we analyzed 22 drivers in
Linux 5.10.0-rc6, thereby uncovering 50 bugs and initiating multiple patches to
the virtual device driver interface of Linux. To prove our findings criticality
under the threat model of AMD SEV and Intel TDX, we showcase three exemplary
attacks based on the bugs found. The attacks enable a malicious hypervisor to
corrupt the memory and gain code execution in protected VMs with SEV-ES and are
theoretically applicable to SEV-SNP and TDX. |
---|---|
DOI: | 10.48550/arxiv.2109.10660 |