Shared Virtual Memory for Secure VM-Process Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud computing systems face challenges in securely communicating between virtual machines and external processes, particularly due to the risk of malicious software applications accessing memory and resources outside the virtual machine, which can compromise security.

Innovation Solution

A system utilizing a secure execution domain with a hardware virtualization component that implements a virtual machine with a shared virtual memory device, allowing trusted processes to communicate securely with guest software applications through this shared memory, while isolating the virtual machine from external resources and using a semaphore to control access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a virtual machine is isolated from external resources to maintain security, then security is improved, but communication capability with external processes deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidcommunication capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

A shared virtual memory device is introduced as an intermediary between the isolated virtual machine and external trusted processes. This mediator enables controlled data exchange without breaking the isolation boundary, allowing communication while maintaining security through centralized access management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory access control is segmented into different regions: shared virtual memory accessible by both VM and external processes, and private memory regions isolated to the VM. This segmentation allows selective communication through specific memory segments while maintaining overall isolation for security-critical areas.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If a virtual machine allows access to external memory for communication, then communication capability is improved, but security deteriorates due to potential malicious access

Engineering Contradiction:
Improvecommunication capabilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The shared virtual memory device acts as a trusted intermediary that mediates all access requests between the virtual machine and external processes. The hardware virtualization component enforces access control policies, allowing only authorized trusted processes to access the shared memory, thereby preventing malicious access while enabling legitimate communication.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Access control parameters for the shared virtual memory are dynamically configured based on trust levels. The system changes memory access permissions (read-only, read-write, executable) depending on the process's trust status, allowing flexible security management that adapts to different communication scenarios without compromising overall security.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If multiple processes access shared virtual memory simultaneously, then communication efficiency is improved, but access control complexity increases

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidaccess control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The shared virtual memory device incorporates built-in access control logic that automatically manages concurrent access without requiring complex external coordination. The hardware virtualization component provides self-service access control by automatically verifying process credentials and enforcing permission policies, reducing the burden on software processes to manually manage access control complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9672052B1Secure inter-process communication
Publication Date: 2017.06.06 GOOGLE LLC
  • US9672052B1 patent drawing
  • US9672052B1 patent drawing
  • US9672052B1 patent drawing

AI summary

Among other disclosed subject matter, a system includes a secure execution domain configured to execute trusted processes. The system also includes a hardware virtualization component in the secure execution domain and configured to implement a virtual machine. The virtual machine is a hardware virtualization of a data processing apparatus and includes a shared virtual memory device and a guest software application coupled to the shared virtual memory device. The system also includes a trusted process in the secure execution domain, separate from the virtual machine and coupled to the shared virtual memory device. The trusted process is configured to communicate with the guest software application through the shared virtual memory device. Communication with the guest software application includes secure communication.