Sandboxing via OS Component Extraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing sandboxing solutions using virtual machines are resource-intensive due to the overhead of emulating low-level hardware interfaces and maintaining a complete operating system, making them impractical for most applications except the largest ones, as they consume excessive computer resources and memory.

Innovation Solution

The architecture refactors core operating system components to run within the application process, utilizing existing host operating system services like virtual memory and threads, and introduces a remote user I/O server to isolate and provide necessary abstractions, reducing overhead by separating basic computation services from rich application APIs and moving rich APIs into the application isolation environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual machines are used to isolate applications, then security isolation is achieved, but computer resource overhead becomes too high

Engineering Contradiction:
Improvesecurity isolationVSAvoidcomputer resource overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the operating system functionality by separating the Win32 subsystem and relevant system registry portions into a distinct sandboxed environment. This allows only the necessary components for application isolation to be copied into the sandbox, rather than emulating an entire virtual machine with complete OS functionality. The segmentation enables security isolation while reducing resource overhead by including only essential subsystems.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the Win32 subsystem and system registry from the host operating system and places them into the sandboxed application environment. By taking out only these specific components needed for application execution and isolation, rather than copying the entire OS, the solution achieves security boundaries while minimizing the resource overhead associated with maintaining a complete virtual machine.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If a complete operating system is included in the virtual machine, then application isolation is achieved, but storage resource overhead becomes too high

Engineering Contradiction:
Improveapplication isolationVSAvoidstorage resource overhead
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the operating system into essential components (Win32 subsystem, system registry) that are copied into the sandbox, separating them from the full OS remaining on the host. This segmentation allows application isolation to be achieved with only the necessary subsystems, dramatically reducing storage overhead compared to including a complete operating system in the virtual machine.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If virtual machines emulate low-level hardware interfaces, then hardware abstraction is provided, but memory overhead increases significantly

Engineering Contradiction:
Improvehardware abstractionVSAvoidmemory overhead
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent extracts only the necessary hardware abstraction components (Win32 subsystem) from the full operating system and places them in the sandboxed environment. By taking out only these essential abstraction layers needed for application execution rather than emulating complete hardware interfaces, the solution maintains adaptability while significantly reducing memory overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The sandboxed Win32 subsystem acts as an intermediary layer between the application and the host operating system. This intermediary provides the necessary hardware abstraction and system services that applications expect, while allowing the full power of the host OS to remain outside the sandbox, thus maintaining versatility without the memory overhead of complete VM emulation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9323921B2Ultra-low cost sandboxing for application appliances
Publication Date: 2016.04.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9323921B2 patent drawing
  • US9323921B2 patent drawing
  • US9323921B2 patent drawing

AI summary

The disclosed architecture facilitates the sandboxing of applications by taking core operating system components that normally run in the operating system kernel or otherwise outside the application process and on which a sandboxed application depends on to run, and converting these core operating components to run within the application process. The architecture takes the abstractions already provided by the host operating system and converts these abstractions for use by the sandbox environment. More specifically, new operating system APIs (application program interfaces) are created that include only the basic computation services, thus, separating the basic services from rich application APIs. The code providing the rich application APIs is copied out of the operating system and into the application environment—the application process.