Hardware API Memory Protection in Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computer systems, critical programs and physical memory associated with them are vulnerable to targeted attacks, and existing protection mechanisms often rely on the host OS kernel, which can be exploited, leading to security breaches and corruption of memory by malicious software.

Innovation Solution

A hardware-level API is introduced that allows programs to directly define memory access characteristics and specify responses to access violations, enabling enhanced memory protection without intermediation by the operating system, and allowing programs to securely define memory properties and track accesses within virtual machines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing protection mechanisms relying on the host OS kernel are used, then memory protection is provided, but security breaches and corruption by malicious software can occur due to kernel exploitation

Engineering Contradiction:
Improvememory protection reliabilityVSAvoidsecurity breaches and corruption
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a virtualization layer (hypervisor) as an intermediary between the host OS kernel and the programs executing in virtual machines. This intermediary provides memory protection mechanisms that do not rely on the host OS kernel, thereby preventing security breaches that could occur through kernel exploitation. The hypervisor directly manages memory access and enforces isolation between virtual machines and the host system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the system into distinct virtual machines running on the hypervisor, with each virtual machine having isolated memory spaces. This segmentation prevents malicious software in one virtual machine from affecting other virtual machines or the host system, as each segment operates independently with controlled access to physical memory resources.

Inventive Principle:
Principle #1Segmentation

2Reliability

If virtual addressing mechanisms are implemented, then isolation between software modules is provided, but malicious software can still circumvent protection and access memory it should not access

Engineering Contradiction:
Improveisolation between software modulesVSAvoidmalicious software circumvention
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The hypervisor acts as an intermediary that enforces memory access control between virtual machines and physical memory. Even when virtual addressing mechanisms are present, the hypervisor intercepts and validates memory access requests, preventing malicious software from circumventing protection by exploiting vulnerabilities in the virtual addressing system or guest OS.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds another dimension of protection by implementing memory management at the hypervisor level, above the virtual machine's virtual address space. This creates a hierarchical memory protection structure where the hypervisor's memory management unit (MMU) provides an additional layer of isolation that is independent of the guest OS's virtual addressing mechanisms.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS8745308B2System and method to enhance memory protection for programs in a virtual machine environment
Publication Date: 2014.06.03 VMWARE INC
  • US8745308B2 patent drawing
  • US8745308B2 patent drawing
  • US8745308B2 patent drawing

AI summary

In a computer system supporting execution of virtualization software and at least one instance of virtual system hardware, an interface is provided into the virtualization software to allow a program to directly define the access characteristics of its program data stored in physical memory. The technique includes providing data identifying memory pages and their access characteristics to the virtualization software which then derives the memory access characteristics from the specified data. Optionally, the program may also specify a pre-defined function to be performed upon the occurrence of a fault associated with access to an identified memory page. In this manner, programs operating both internal and external to the virtualization software can protect his memory pages, without intermediation by the operating system software.