Securing a Multiprocessor KVM Hypervisor with Rust
Part Of
SoCC 2024 - Proceedings of the 2024 ACM Symposium on Cloud Computing
Start Page
650
End Page
667
ISBN (of the container)
979-840071286-9
DOI (of the container)
10.1145/3698038.3698562
ISBN
979-840071286-9
Date Issued
2024-11-20
Author(s)
DOI
10.1145/3698038.3698562
Abstract
As computations have increasingly shifted to virtual machines (VMs) running on a hypervisor, the security of the hypervisor is of critical concern. Rust has gained significant traction among developers due to its software safety guarantees and performance efficiency. This work explores building on Rust's safety features to construct a secure KVM hypervisor. We retrofit KVM to incorporate a Rust-based core to protect virtual machines. We build on Rust's type and lifetime system in a novel way to secure the core's memory accesses in a concurrent environment. Our resulting KVM implementation, KrustVM, incorporates a data race and deadlock-free core to protect VM confidentiality and integrity against privileged attackers who control the host Linux kernel while preserving KVM's commodity features and performance.
Event(s)
15th Annual ACM Symposium on Cloud Computing, SoCC 2024
SDGs
Publisher
ACM
Type
conference paper
