VM Cache Line Isolation via Host Memory Page Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource utilizationVSAvoidsecurity
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cryptographic algorithms are rewritten to mask memory accesses, then security is improved, but algorithm complexity and performance are worsened

Engineering Contradiction:
ImprovesecurityVSAvoidalgorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #26Copying

3Reliability

If memory is isolated in an operating system to protect cryptographic processes, then security is improved, but virtual machine flexibility is worsened

Engineering Contradiction:
ImprovesecurityVSAvoidvirtual machine flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7549022B2Avoiding cache line sharing in virtual machines
Publication Date: 2009.06.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7549022B2 patent drawing
  • US7549022B2 patent drawing
  • US7549022B2 patent drawing

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.