Light-weight Virtualization Contexts via Realm Switch Control Structures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current CPU virtualization methods require expensive and computationally costly full VM context switches to reduce the attack surface of an operating system, which hampers high-performance computing due to frequent context switches needed to maintain security.
Innovation Solution
Implementing light-weight component context switches using realm switch control structures (RSCSs) that allow guest OS components to operate at the same privilege level without exiting the VM, enabling flexible protection models with minimal performance overhead by switching between component contexts within the same VM.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full VM context switches are used to reduce the attack surface, then security is improved, but system performance deteriorates due to expensive overheads
Solution Approach 1:
The patent segments the VM context into multiple hierarchical levels: full VM context (for security boundaries) and light-weight component contexts (for frequent switches). This segmentation allows security-critical VM context switches to occur less frequently while enabling high-frequency component switches within the same VM, thus resolving the contradiction between security and performance.
Solution Approach 2:
The patent implements partial context switching by introducing component contexts that switch only specific processor state elements (like CR3, EFER, STAR, etc.) without performing complete VM context switches. This partial action provides sufficient security for most operations while avoiding the full overhead of VM exits, thereby improving system performance while maintaining adequate security.
2Reliability
If frequent VM context switches are performed to maintain security boundaries, then attack surface reduction is improved, but computing bottleneck increases
Solution Approach 1:
The patent divides context switching into two segments: secure VM context switches that establish security boundaries but occur infrequently, and fast component context switches that occur frequently but maintain boundaries through lighter mechanisms. This segmentation reduces the time loss associated with frequent full VM context switches while preserving security boundaries.
Solution Approach 2:
The patent performs preliminary setup by establishing VM context boundaries once, then enables subsequent fast component switches within that established boundary. The realm switch control structures (RSCSs) are pre-configured with necessary context information, allowing rapid switching without repeated full VM exit overhead, thus reducing time loss while maintaining security.
Data Source
AI summary
A processor comprises a register to store a first pointer to a context data structure specifying a virtual machine context, the context data structure comprising a first field to store a second pointer to a plurality of realm switch control structures (RSCSs), and an execution unit comprising a logic circuit to execute a virtual machine (VM) according to the virtual machine context, wherein the VM comprises a guest operating system (OS) comprising a plurality of kernel components, and wherein each RSCS of the plurality of RSCSs specifies a respective component context associated with a respective kernel component of the plurality of kernel components, and execute a first kernel component of the plurality of kernel components using a first component context specified by a first RSCS of the plurality of RSCSs.


