Host Controller Firmware for VM Memory Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional virtualization software poses a security risk as it can be compromised to arbitrarily access virtual machine (VM) memory, allowing malicious actors to read unauthorized data.

Innovation Solution

Implementing trusted firmware in the host controller to validate read commands and data from VM memory, ensuring that only valid access is granted, thereby preventing improper access and protecting against malicious activities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If virtualization software is used to facilitate connections between VMs, then ease of operation is improved, but security reliability deteriorates due to potential compromise of the virtualization software

Engineering Contradiction:
Improveease of operationVSAvoidsecurity reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a host controller firmware as an intermediary layer between the virtualization software and VM memory. This firmware validates read commands and data independently, preventing compromised virtualization software from accessing VM memory arbitrarily. The intermediary maintains security functionality even when the upper-layer virtualization software is compromised.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If virtualization software directly accesses VM memory to facilitate connections, then productivity is improved, but security against malicious actors deteriorates

Engineering Contradiction:
ImproveproductivityVSAvoidsecurity vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The host controller firmware performs preliminary validation of read commands and data before allowing access to VM memory. By validating commands and data in advance, the system ensures that only legitimate access requests are processed, preventing malicious actors from exploiting the virtualization software to access unauthorized memory regions.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If trusted firmware validation is implemented, then security reliability is improved, but device complexity increases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the security validation functionality from the virtualization software and places it in the host controller firmware. This separation allows the complex validation logic to be isolated in a dedicated component, maintaining overall system security while allowing the virtualization software to remain relatively simple and focused on its primary function of facilitating VM connections.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20220413892A1Secure access of virtual machine memory suitable for ai assisted automotive applications
Publication Date: 2022.12.29 NVIDIA CORP
  • US20220413892A1 patent drawing
  • US20220413892A1 patent drawing
  • US20220413892A1 patent drawing

AI summary

In various examples, access to VM memory by virtualization software is secured using a trusted firmware of a host controller to validate one or more of a command to read a VM's memory and/or the data read from VM memory in order to protect against improper access to data in VM memory. If validation fails, the firmware may refrain from reading the data and/or from providing the virtualization software with access to the data. The data may include a request command from a VM regarding establishing or modifying a connection using the host controller to another entity, such as another device within or outside of the virtualization environment. The virtualization software may use the request command to facilitate the connection. The host controller may provide an eXtensible Host Controller Interface (xHCI) or a different type of interface for the connection.