Micro-Virtualization for Secure Untrusted Code Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cybersecurity infrastructure is insecure due to a mismatch in user interaction models and lack of appropriate isolation of code and data from trusted and untrusted sources, leading to vulnerabilities that can be exploited by malicious code, especially in modern computer systems that run a variety of software from different sources.

Innovation Solution

Implementing fine-grained operating system (OS) virtualization with dynamic micro-virtualization techniques to create independent virtual machines that execute full operating systems, ensuring that untrusted code and data are isolated and managed according to specific policies, with a trusted virtual machine (VM0) serving as the root of trust and other VMs being created and destroyed on-demand for different activities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If fine-grained OS virtualization with dynamic micro-virtualization is implemented to isolate untrusted code and data, then security reliability is improved, but device complexity increases

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

Solution Approach 1:

The system segments the computing environment into multiple isolated virtual machines, each with its own virtualized OS instance. Untrusted code executes in isolated VMs separated from the trusted host system by a hypervisor, preventing lateral movement of malware and containing security breaches to specific virtualized containers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hypervisor acts as an intermediary layer between untrusted guest OS instances and the trusted host system. The hypervisor mediates all interactions, providing controlled access to hardware resources and preventing direct communication between isolated VMs, thereby maintaining security boundaries while enabling resource sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If multiple independent virtual machines with full operating systems are created to execute untrusted code, then isolation effectiveness is improved, but productivity decreases due to overhead

Engineering Contradiction:
Improveisolation effectivenessVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The hypervisor provides universal resource management capabilities that serve all virtualized OS instances simultaneously. Hardware resources such as CPU, memory, and I/O devices are virtualized and shared across multiple guest OSs, eliminating the need for dedicated physical hardware per VM and improving resource utilization efficiency.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

Instead of requiring separate physical hardware for each isolated environment, the system creates virtualized copies of hardware resources through the hypervisor. Multiple guest OS instances operate on virtualized representations of the same physical hardware, providing isolation without the overhead of duplicate physical infrastructure.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If dynamic creation and destruction of virtual machines is implemented for different activities, then adaptability is improved, but loss of time increases due to VM provisioning

Engineering Contradiction:
ImproveadaptabilityVSAvoidloss of time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The hypervisor pre-configures virtualized hardware resources and establishes isolation boundaries before executing guest OS instances. Security policies, resource allocations, and communication channels are set up in advance, enabling rapid deployment of isolated environments without time-consuming configuration during runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically creates, modifies, and destroys virtual machine instances based on real-time activity requirements. The hypervisor manages the lifecycle of guest OSs, allocating resources when needed and deallocating them when no longer required, providing adaptive resource management that responds to changing workload demands.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8972980B2Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
Publication Date: 2015.03.03 HEWLETT PACKARD DEVELOPMENT COMPANY LP
  • US8972980B2 patent drawing
  • US8972980B2 patent drawing
  • US8972980B2 patent drawing

AI summary

Approaches for executing untrusted software on a client without compromising the client using micro-virtualization to execute untrusted software in isolated contexts. A template for instantiating a virtual machine on a client is identified in response to receiving a request to execute an application. After the template is identified, without human intervention, a virtual machine is instantiated, using the template, in which the application is to be executed. The template may be selected from a plurality of templates based on the nature of the request, as each template describe characteristics of a virtual machine suitable for a different type of activity. Selected resources such as files are displayed to the virtual machines according to user and organization policies and controls. When the client determines that the application has ceased to execute, the client ceases execution of the virtual machine without human intervention.