VM Cache Line Isolation via Host Memory Page Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines are vulnerable to cache-line sharing attacks, where a malicious guest can infer the memory access behavior of other guests or the host, potentially compromising security, and existing solutions like rewriting cryptographic algorithms or isolating memory are costly or ineffective.
Innovation Solution
The host oversees memory access and strategically assigns memory pages to guest operating systems such that each guest is restricted to a specific subset of cache lines, preventing cache-line sharing and ensuring secure and efficient memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple guest operating systems share a single or multiple processors which in turn share a memory bus, then resource utilization is improved, but security is worsened due to cache timing attacks
Solution Approach 1:
The patent segments the cache memory into separate cache partitions for each virtual machine guest. The host operating system creates isolated cache spaces so that each guest has its own dedicated cache lines, preventing cross-guest cache timing attacks while maintaining the ability to run multiple guests on shared processors.
Solution Approach 2:
The host operating system acts as an intermediary that manages cache allocation between guests. It intercepts memory access requests from guests and redirects them to appropriate cache partitions, thereby controlling and isolating cache usage without requiring changes to the guest operating systems or cryptographic algorithms.
2Reliability
If cryptographic algorithms are rewritten to mask memory accesses, then security is improved, but algorithm complexity and performance are worsened
Solution Approach 1:
Instead of modifying cryptographic algorithms, the patent introduces the host operating system as an intermediary that provides cache isolation. This external mechanism protects cryptographic operations without requiring any changes to the algorithms themselves, avoiding increased complexity and potential performance degradation.
Solution Approach 2:
The patent creates a virtualized copy of the cache memory space for each guest, rather than modifying the actual cryptographic algorithms. This copying approach provides security through isolation while keeping the original algorithms unchanged and optimized.
3Reliability
If memory is isolated in an operating system to protect cryptographic processes, then security is improved, but virtual machine flexibility is worsened
Solution Approach 1:
The host operating system provides a universal cache isolation mechanism that works for all virtual machine guests regardless of their specific workloads or cryptographic operations. This multi-functional approach maintains security while allowing guests to run diverse applications and maintain their own memory management characteristics.
Solution Approach 2:
The host OS serves as a flexible intermediary that can dynamically allocate and manage cache resources for different virtual machine guests. This mediation layer provides security isolation while maintaining the adaptability and flexibility of the virtual machine environment through programmable cache management.
Data Source
AI summary
Avoiding cache-line sharing in virtual machines can be implemented in a system running a host and multiple guest operating systems. The host facilitates hardware access by a guest operating system and oversees memory access by the guest. Because cache lines are associated with memory pages that are spaced at regular intervals, the host can direct guest memory access to only select memory pages, and thereby restrict guest cache use to one or more cache lines. Other guests can be restricted to different cache lines by directing memory access to a separate set of memory pages.


