VMCS Mask Mechanism for Securing Virtual Machine Control Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtual machine (VM) servers are vulnerable to unauthorized modifications by compromised or hacked virtual machine monitors (VMMs, which can alter the execution of guest software by modifying the virtual machine control structure (VMCS), leading to improper VM operation.

Innovation Solution

Implementing a VMCS mask mechanism that allows guest and host security managers to negotiate and enforce access restrictions on the VMCS, using instructions like VMCS_SETMASK and VMCS_CERTIFYMASK to ensure only authorized access, and utilizing a secure translation cache to prevent malicious modifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the VMM is given full access to modify the VMCS for managing VM execution, then the ease of operation and control of VMs is improved, but the security and reliability of the system deteriorates because the VMM can be compromised and make unauthorized modifications

Engineering Contradiction:
ImproveVMM control over VM executionVSAvoidSystem security against VMM compromise
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent segments the VMCS access rights by introducing a VMCS mask that divides access control into multiple granular permission bits. Each bit corresponds to specific VMCS fields or operations, allowing the system to grant or revoke access rights in fine-grained segments rather than all-or-nothing access. This enables the VMM to have operational access while restricting unauthorized modifications to critical fields.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary access control mechanism (the VMCS mask and associated control structures) that mediates between the VMM's operational needs and security requirements. This intermediary layer allows the VMM to access and modify VMCS fields according to granted permissions while blocking access to fields that require higher security clearance, thus preventing compromised VMM instances from making unauthorized changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If access restrictions are enforced on the VMCS to prevent unauthorized modifications, then the security of the system is improved, but the device complexity increases due to additional control mechanisms

Engineering Contradiction:
ImproveSystem security against unauthorized VMCS modificationVSAvoidAccess control mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the access control logic from the core VMCS management flow by implementing it as a separate, dedicated mask mechanism. The VMCS mask is stored in a distinct data structure and processed through specific instructions (e.g., VMCS_SETMASK, VMCS_CERTIFYMASK) that are separate from general VMCS read/write operations. This extraction isolates the complexity into a manageable, specialized subsystem rather than dispersing it throughout the entire VM management codebase.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements preliminary action by establishing the VMCS mask and access restrictions before the VMM begins managing VM execution. The mask is configured in advance to define permitted access patterns, and the system validates compliance with these restrictions proactively rather than reactively. This preliminary setup prevents the need for complex runtime decision-making and reduces the operational complexity during VM management.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If the VMM can read and modify the processor state of the VM to control execution, then the adaptability of VM management is improved, but the object-generated harmful factors increase as the VMM may alter execution without permission

Engineering Contradiction:
ImproveVMM ability to control VM execution pathVSAvoidUnauthorized execution alterations by VMM
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The patent applies preliminary anti-action by pre-configuring the VMCS mask to anticipate and prevent harmful VMM actions before they occur. The mask is designed with specific permission bits that proactively block access to VMCS fields that, if modified, would allow unauthorized execution control or state alteration. This preventive approach counteracts potential harmful actions before the VMM can execute them, while still permitting legitimate execution control operations.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The patent applies local quality by granting the VMM different levels of access rights to different VMCS fields based on their security sensitivity and operational necessity. Critical fields that control execution path or processor state are protected with restricted access permissions, while less sensitive fields remain accessible for normal VM management. This localized differentiation allows the VMM to adaptively control VM execution where permitted while being blocked from harmful modifications where restricted.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10545783B2Technologies for securing data structures for controlling virtual machines
Publication Date: 2020.01.28 INTEL CORP
  • US10545783B2 patent drawing
  • US10545783B2 patent drawing
  • US10545783B2 patent drawing

AI summary

A data processing system with technology to secure a virtual machine control data structure (VMCDS) comprises random access memory (RAM) and a processor in communication with the RAM. The processor comprises virtualization technology that enables the processor to run a virtual machine monitor (VMM) in the data processing system and to run guest software in a virtual machine (VM) that is managed by the VMM. The VM is based at least in part on a VMCDS for the VM. An instruction decoder in the processor recognizes and dispatches a set-mask instruction. The set-mask instruction specifies access restrictions to be imposed on the VMM with respect to the VMCDS of the VM. The processor also comprises a mask enforcer to automatically enforce the access restrictions specified by the set-mask instruction, in response to an attempt by the VMM to access the VMCDS of the VM. Other embodiments are described and claimed.