KVM Address Space Isolation
summary
KVM Address Space Isolation claims to block speculative microarchitectural leaks (L1TF/MDS) by keeping sensitive kernel/guest pages unmapped and only mapping non-sensitive pages on demand, triggering a page-fault-triggered mapping that logs the fault and can auto-map safe allocations. Implementation uses PCID to avoid full TLB flushes and a sibling-CPU core synchronization (reschedule/idle loop) before VM entry. Prototype shows 20–50 ASI exits per 10,000 VM exits in a 2‑VM, 8‑vCPU YCSB run, with work ongoing to push that to low single-digit percent; Oracle and Google implementations converge.
AI-written summary · about
chapters (23)
- 0:00Introducción
- 2:30Mitigations
- 4:11ASI Intuition - Can't Speculate Through a Page Fault
- 5:47ASI Overview
- 8:37ASI Applications
- 13:12ASI Lifecycle
- 14:40KVM ASI Usage
- 17:23ASI Page-Table Filling
- 18:41ASI Page Table Filling - Statically Allocated Buffers
- 19:45ASI Page Table Filling - Dynamically Allocated Buffers
- 21:20ASI Page Table Switching
- 23:11ASI and Interrupts/Exceptions
- 27:11ASI and Page Fault
- 29:39ASI and Context Switch
- 30:26ASI Synchronization Across CPU Threads
- 31:37KVM ASI Synchronization with Siblings Running ASI
- 32:43KVM ASI Synchronization with Siblings not Running ASI
- 34:08ASI Synchronization and Interrupt/Exception
- 35:36The KPTI Model - Control & Data Privilege
- 36:19The ASI Model - Data Privilege
- 38:16Partitioning Global/Local Data
- 40:23Initial Results - Aeropspike YCSB
- 47:12Status and Future
related talks
27mMitigating speculative execution attacks with ASI - follow up
48mAddress Space Isolation is ready
28mNow You See Me, Now You Don't: Splitting pKVM Into Discrete, Mutually Exclusive Addr...
43mAddress Space Isolation for Enhanced Safety of the Linux Kernel
38mUnmapped Private Memory for Confidential Guests
50mBreaking Kernel Address Space Layout Randomization (KASLR) With Intel TSX
25mHigh Performance VM Introspection
50mProtected KVM on Arm64: A Technical Deep Dive
