Guest Process Same-Page Merging Prevention via Nonce Insertion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualized computing environments face challenges in preventing timing side-channel attacks, where malicious applications exploit shared memory pages to monitor target processes by flushing cache lines and measuring access times, and existing solutions like disabling page de-duplication are impractical or costly.

Innovation Solution

Implementing performance monitors to detect cache line flush instructions and modify program instructions or page mappings to make memory accesses predictable, or inserting NONCE values into critical pages to prevent same-page merging, allowing the system to mitigate or curtail timing side-channel attacks without relying on hypervisor controls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If page de-duplication is disabled to prevent timing side-channel attacks, then security is improved, but memory resource efficiency deteriorates and application startup time increases

Engineering Contradiction:
ImprovesecurityVSAvoidmemory resource efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by making only critical memory pages unique through NONCE insertion while allowing non-critical pages to be de-duplicated. This selective approach protects against timing attacks on sensitive pages while maintaining memory efficiency for other pages, thus resolving the contradiction between security and resource efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of memory page content by inserting NONCE values into critical pages, transforming them from identical copies to unique pages. This parameter change prevents same-page merging for critical pages while allowing it for non-critical pages, balancing security requirements with resource efficiency.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If page de-duplication is disabled to prevent timing side-channel attacks, then security is improved, but application startup time increases

Engineering Contradiction:
ImprovesecurityVSAvoidapplication startup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by making only critical memory pages unique through NONCE insertion while allowing non-critical pages to be de-duplicated. This selective approach protects against timing attacks on sensitive pages while maintaining memory efficiency for other pages, thus resolving the contradiction between security and resource efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of memory page content by inserting NONCE values into critical pages, transforming them from identical copies to unique pages. This parameter change prevents same-page merging for critical pages while allowing it for non-critical pages, balancing security requirements with resource efficiency.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If hypervisor controls are used to disable page de-duplication, then security is improved, but system complexity and control requirements increase

Engineering Contradiction:
ImprovesecurityVSAvoidsystem control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling guest processes to autonomously protect their own critical memory pages through NONCE insertion without requiring hypervisor intervention or system-wide configuration changes. This reduces system complexity while maintaining security, as each process independently manages its own security requirements.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the parameter of memory page content by inserting NONCE values into critical pages, transforming them from identical copies to unique pages. This parameter change prevents same-page merging for critical pages while allowing it for non-critical pages, balancing security requirements with resource efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9405708B1Preventing attacks that rely on same-page merging by virtualization environment guests
Publication Date: 2016.08.02 AMAZON TECH INC
  • US9405708B1 patent drawing
  • US9405708B1 patent drawing
  • US9405708B1 patent drawing

AI summary

In a virtualization environment, a guest process may protect itself from potential timing side-channel attacks by other guest processes on the same host machine by taking steps to avoid same-page merging for memory pages that it accesses. Pages that include critical code (e.g., cryptographic functions) or sensitive data (e.g., cryptography keys) may be designated as important pages to protect from such attacks. A placeholder location of a specified size for storing a non-deterministic value (e.g., a random or pseudorandom number) may be inserted into these pages when instantiated, making them unlikely to match pages accessed by other guests. Therefore, the host machine may be unlikely to identify them as pages for which there is a same-page merging opportunity. The values in the placeholder locations may be updated periodically or in response to certain events (e.g., context switches between guests or the detection of same-page merging).