In-Process Sandboxing for Untrusted Application Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in securely and efficiently executing third-party applications while managing resources and ensuring isolation, as existing technologies lack effective mechanisms for fine-grained resource allocation and secure execution environments for untrusted code.

Innovation Solution

The implementation of in-process sandbox environments that dynamically allocate resources, provide a virtual file system, and enforce strict access controls, allowing for secure execution of untrusted code while optimizing resource usage and tracking usage metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional execution environments are used for third-party applications, then resource sharing and multitasking are enabled, but security isolation and protection from untrusted code are lost

Engineering Contradiction:
Improvesecurity isolationVSAvoidexecution environment complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the execution environment by creating sandbox environments that isolate third-party applications from the core server system. Each sandbox is a separate execution context with its own memory space, file system view, and resource allocations, enabling security isolation while maintaining manageable complexity through modular design

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces sandbox environments as intermediary layers between untrusted third-party applications and the trusted server system. These sandboxes act as mediators that allow applications to execute with necessary resource access while preventing direct interaction with protected system components, thus achieving security isolation without requiring complete system redesign

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If static resource allocation is used for applications, then resource management is simplified, but fine-grained resource control and dynamic allocation are lost

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements dynamic resource allocation within sandbox environments, where resources such as memory, CPU time, and file access permissions are allocated and adjusted based on actual application needs and system conditions. This dynamic approach enables fine-grained control over resource distribution, improving overall resource utilization efficiency while managing complexity through automated allocation mechanisms

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback mechanisms that monitor resource usage within sandbox environments and adjust allocations accordingly. The system tracks application behavior, resource consumption patterns, and performance metrics to dynamically modify resource分配, enabling fine-grained control while reducing manual management complexity through automated feedback-driven adjustments

Inventive Principle:
Principle #23Feedback

3Reliability

If virtual file systems are implemented for sandbox environments, then file access security is improved, but file system operation complexity increases

Engineering Contradiction:
Improvefile access securityVSAvoidfile system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements virtual file systems that create controlled copies or views of the actual file system hierarchy for each sandbox environment. These virtual file systems present a simplified, security-filtered interface to applications while maintaining the underlying complex file system structure intact, thus improving file access security without exposing the full complexity to applications

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual file system acts as an intermediary layer between sandboxed applications and the real file system. It provides security policies, access control, and path translation services that protect the underlying file system while enabling applications to perform file operations through a simplified, secure interface, balancing security improvements with operational simplicity

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9626507B2Hosted application sandboxing
Publication Date: 2017.04.18 GOOGLE LLC
  • US9626507B2 patent drawing
  • US9626507B2 patent drawing
  • US9626507B2 patent drawing

AI summary

This specification describes technologies relating to software execution. A sandboxing computer system accesses at least one application file and instantiates a sandbox environment. The sandbox environment does not having allocated, when instantiated, a memory buffer for use by a running application. The application file is run in the sandbox environment to produce an application output. A memory buffer is for use by the running application after the application has begun running, and a client computer system is provided with the application output.