Reverse Patching API Calls in Sandbox Broker

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Applications executing in a sandbox environment face challenges in accessing external resources due to the need for broker processes, which can lead to incorrect API calls and security breaches, necessitating an improved method for executing API calls within the sandbox.

Innovation Solution

The method involves trapping API function calls intended for the sandbox process and routing them through a broker process, allowing the sandbox process to execute them and return results as if the broker process had executed them, thereby ensuring proper API call execution and security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If applications execute in a sandbox environment with reduced privileges, then security risk is reduced, but access to external resources and system API function calls becomes restricted

Engineering Contradiction:
ImprovesecurityVSAvoidaccess to external resources
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a broker process as an intermediary that operates outside the sandbox with higher privileges. The broker process intercepts API function calls from the sandboxed application, executes them with appropriate privileges, and returns results to the application. This mediator resolves the contradiction by enabling resource access while maintaining sandbox isolation, as the application never directly accesses external resources but does so through the controlled broker interface

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a broker process is introduced to facilitate access to external resources, then resource accessibility improves, but complexity of the system increases

Engineering Contradiction:
Improveaccess to external resourcesVSAvoidsystem structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The broker process is designed as a universal component that handles multiple types of API function calls and resource access requests through a standardized interface. Rather than creating separate mechanisms for different resource types, the single broker process provides multi-functional support for various system APIs, reducing overall system complexity while maintaining comprehensive resource accessibility

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

3Reliability

If the broker process executes API function calls on behalf of the sandbox process, then correct execution is achieved, but difficulty in tracing and debugging increases

Engineering Contradiction:
Improvecorrect executionVSAvoidtracing and debugging
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent implements feedback mechanisms where the broker process logs and reports API function call execution results back to the sandboxed application and system monitors. This feedback loop provides traceability by recording which calls were made, their parameters, and outcomes, enabling debugging and monitoring despite the indirect execution path through the broker process

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8438640B1Method and apparatus for reverse patching of application programming interface calls in a sandbox environment
Publication Date: 2013.05.07 ADOBE INC
  • US8438640B1 patent drawing
  • US8438640B1 patent drawing
  • US8438640B1 patent drawing

AI summary

A computer implemented method comprising: identifying an API function call directed to a broker process, wherein a plurality of information requested by an originator is directly relevant to a sandbox process; trapping an API function call directed to a broker process using a computer, wherein the API function call references the broker process, wherein the broker process is a process that executes one or more operations on the behalf of a sandbox process, and wherein the sandbox process has an insufficient permission level to execute the one or more operations; passing the trapped API function call to the sandbox process using the computer; executing the trapped API function call within the sandbox process to generate a result in reference to the sandbox process using the computer; passing the result from the sandbox process to the broker process using the computer; and passing the result from the broker process to an originator using the computer.