AMD Hypervisor with Rust - Matthias Heiden - Rust Linz, October 2022

AMD Hypervisor built with Rust, featuring static assertions, custom allocators, and MSR bitmap for secure multi-level virtualization and virtualization-based security.

Key takeaways
  • AMD Hypervisor with Rust
  • Static assertions
  • Timed attacks can reveal running inside a virtual machine
  • Custom allocators and virtual memory management
  • MSR bitmap for intercepting hardware requests
  • Nested page tables for multi-level virtualization
  • Hypervisor debugging is painful
  • Use of static assertions and error handling
  • Importance of carefully crafting structures and data types
  • Use of bit fields and flags for flexible data representation
  • Implementing a virtual memory allocator
  • Virtualization-based security
  • Importance of good documentation, e.g., Intel or MD manual
  • Rust is a suitable language for hypervisor development