Sandboxed Plugin Execution Architecture for System Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In online environments, custom software plug-ins pose risks due to potential errors or malicious code, which can damage corporate systems or networks, and existing solutions lack effective isolation and management mechanisms.

Innovation Solution

A sandbox architecture that isolates and identifies misbehaving plug-ins, using multiple levels of isolation such as machine, process, and application domain isolation, and a penalty point system to automatically disable and block harmful plug-ins, while allowing scalable and low-administration execution of plug-ins.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom software plug-ins are allowed to run in online environments, then functionality and value-added services are improved, but system security and stability deteriorate due to potential errors or malicious code

Engineering Contradiction:
ImprovefunctionalityVSAvoidsystem security
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system divides the execution environment into isolated segments using sandbox technology. Each plug-in runs in its own sandboxed process space, separated from the host application and other plug-ins. This segmentation allows functional diversity while containing security risks within isolated boundaries, preventing harmful code from affecting the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a sandbox manager as an intermediary layer between the host application and plug-ins. This mediator allocates sandboxed process spaces, manages resource access, and enforces security policies. The intermediary controls all interactions, allowing plug-ins to execute custom code while preventing direct access to sensitive system resources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple plug-ins are executed simultaneously, then system versatility is improved, but system complexity and difficulty of managing misbehaving plug-ins increase

Engineering Contradiction:
Improvesystem versatilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Each plug-in is assigned to its own sandboxed process space, creating independent execution environments. This segmentation simplifies management by isolating plug-in interactions - misbehaving plug-ins cannot interfere with others, and the sandbox manager can control each instance independently without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sandbox manager implements monitoring and control mechanisms that provide feedback on plug-in behavior. It tracks resource usage, detects misbehavior, and can terminate problematic plug-ins automatically. This feedback loop simplifies management by providing visibility and control over multiple concurrent plug-ins without requiring complex manual intervention.

Inventive Principle:
Principle #23Feedback

3Object-affected harmful factors

If plug-ins are isolated using multiple levels of isolation, then system security is improved, but device complexity increases

Engineering Contradiction:
Improvesystem securityVSAvoidisolation mechanism complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent implements nested isolation levels where sandboxed process spaces are contained within the host application, which itself runs on the operating system. Each level provides additional security boundaries - the sandbox isolates from other plug-ins, the host application isolates from the OS, creating layered protection without requiring each layer to be independently complex.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The sandbox manager provides multiple isolation functions through a single unified mechanism. It simultaneously handles process isolation, memory protection, resource allocation, and security policy enforcement. This multi-functionality achieves high security through multiple isolation levels while minimizing the complexity increase by consolidating these functions into one management system.

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

4Reliability

If sandboxed execution environment is implemented, then system reliability is improved by preventing systematic interruptions, but productivity decreases due to additional isolation overhead

Engineering Contradiction:
Improvesystem reliabilityVSAvoidexecution efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-allocating sandboxed process spaces and establishing security boundaries before plug-in execution. This upfront preparation prevents systematic interruptions during runtime, as the isolation infrastructure is already in place. The initial overhead is paid once during setup, not continuously during execution, maintaining productivity while ensuring reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The sandbox manager efficiently manages resources by discarding sandboxed process spaces of terminated plug-ins and recovering those resources for reuse. This resource management minimizes overhead by ensuring that isolation structures are only maintained when needed, rather than permanently allocating resources for all possible plug-ins. The system recovers and reuses sandbox infrastructure, improving execution efficiency while maintaining reliability.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS10542022B2Sandboxed execution of plug-ins
Publication Date: 2020.01.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10542022B2 patent drawing
  • US10542022B2 patent drawing
  • US10542022B2 patent drawing

AI summary

A sandbox architecture that isolates and identifies misbehaving plug-ins (intentional or unintentional) to prevent system interruptions and failure. Based on plug-in errors, the architecture automatically disables and blocks registration of the bad plug-in via a penalty point system. Publishers of bad plug-ins are controlled by disabling the bad plug-ins and registering the publisher in an unsafe list. Isolation can be provided in multiple levels, such as machine isolation, process isolation, secure accounts with limited access rights, and application domain isolation within processes using local security mechanisms. A combination of the multiple levels of isolation achieves a high level of security. Isolation provides separation from other plug-in executions and restriction to system resources such as file system and network IP. Moreover, the architecture is highly scalable, stateless, and low administration architecture for the execution of the plug-ins, which can be scaled by adding/removing additional sandbox servers on-the-fly without prior configuration.