Hypervisor Hash-Based Memory Page Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization systems, existing technologies lack effective methods to detect and prevent unauthorized access and execution of memory pages by guest operating systems, which can lead to malicious activities such as code tampering and reverse engineering, compromising system security.

Innovation Solution

A method where a hypervisor collects and stores hashes of all memory pages accessible by a guest OS and those previously accessed, generating exceptions to monitor and control access rights, and optionally encrypting memory pages to prevent unauthorized execution and copying of code, ensuring only authorized access and execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the hypervisor monitors and controls access rights to memory pages, then system security is improved, but device complexity increases

Engineering Contradiction:
Improvesystem securityVSAvoidaccess control mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary mechanism (the hash-based access control system) between the guest OS and memory pages. The hypervisor acts as a mediator that intercepts memory access requests, computes hashes of accessed pages, and compares them against authorized hash sets. This intermediary layer enables security monitoring without requiring complex direct control mechanisms between the guest OS and memory management units.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces traditional mechanical access control mechanisms (direct permission checks and memory management unit controls) with a hash-based computational system. Instead of relying on complex hardware-enforced access rights, the system uses cryptographic hash functions to represent and verify memory page identities, substituting mechanical control with mathematical verification.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If the hypervisor encrypts memory pages to prevent unauthorized execution, then system security is improved, but use of energy increases

Engineering Contradiction:
Improvesystem securityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing hash values of authorized memory pages before execution. The hash sets are prepared in advance during system initialization or code loading phases. This allows the runtime security checking to be performed efficiently by simple hash comparison rather than complex encryption/decryption operations, reducing energy consumption during critical execution paths.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses computationally inexpensive hash values as temporary representations of memory page identities during security verification. These hash-based identifiers are lightweight, easy to compute, and can be rapidly compared and discarded after verification, replacing more energy-intensive encryption operations for the purpose of access control verification.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Reliability

If the hypervisor generates exceptions to monitor access rights, then system security is improved, but productivity decreases

Engineering Contradiction:
Improvesystem securityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic action by generating exceptions only at specific intervals or under specific conditions (e.g., when access rights need to be verified, or when transitioning between memory access modes). Rather than continuously monitoring every memory access, the system periodically checks access rights through exception-based mechanisms, reducing the performance overhead while maintaining security.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent allows the system to skip detailed security verification for trusted or previously validated memory pages. By using hash-based pre-verification, the system can rapidly bypass extensive checking for known-good pages, rushing through security validation for routine operations while maintaining thorough monitoring for suspicious or unauthorized access patterns.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS11720384B2Program code protection in a data processing system
Publication Date: 2023.08.08 NXP BV
  • US11720384B2 patent drawing
  • US11720384B2 patent drawing
  • US11720384B2 patent drawing

AI summary

A method is provided in a data processing system having second level address translation (SLAT) controlled by a hypervisor. In the method, hashes of all memory pages accessible by a guest OS are stored (set S). Also, hashes of all memory pages previously accessed by the guest OS are stored (set T). When the guest OS attempts an access to a memory page having executable code for which it does not have permission, an exception is generated. A hash of the memory page is compared with the hashes of set T and set S. If there is not a match within set T, then the guest OS has never attempted the requested operation before and suspicious behavior is reported. If there is not a match within set S, the requested operation is reported as illegal. In another embodiment, the memory page may be encrypted to prevent the guest OS from reading the memory page.