Hypervisor Hash-Based Memory Page Access Control
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Reliability
If the hypervisor monitors and controls access rights to memory pages, then system security is improved, but device complexity increases
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.
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.
2Reliability
If the hypervisor encrypts memory pages to prevent unauthorized execution, then system security is improved, but use of energy increases
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.
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.
3Reliability
If the hypervisor generates exceptions to monitor access rights, then system security is improved, but productivity decreases
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.
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.
Data Source
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.


