Sandboxed Active Content in Collaborative Documents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional collaborative document editing approaches lack a secure method to handle evolving types of active content, such as JavaScript, which can lead to security risks like script-based attacks in shared documents like wiki pages.

Innovation Solution

The solution involves creating a sandbox environment where untrusted content can be stored and presented without filtering, using separate domains and tokens to ensure secure execution of active content, preventing it from compromising the client device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional security measures strip malicious scripts from wiki pages, then security risks are reduced, but the ability to place genuine scripts for multimedia content presentation is lost

Engineering Contradiction:
ImprovesecurityVSAvoidability to place scripts for multimedia content
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent divides the document into two separate components: a trusted container document and a separate sandbox document that stores untrusted content. This segmentation allows the system to distinguish between safe content and potentially malicious content, enabling selective rendering and execution while maintaining security. The sandbox document is loaded only when needed and isolated from the main document structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a sandbox mechanism as an intermediary layer between the user-submitted content and the final rendered document. This sandbox acts as a mediator that safely isolates untrusted scripts and content, allowing them to be displayed and executed in a controlled environment without compromising the security of the main document or the user's system.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If untrusted content is stored without filtering in a sandbox document, then the ability to execute active content is maintained, but security protection against malicious scripts is compromised

Engineering Contradiction:
Improveability to execute active contentVSAvoidsecurity risks from malicious scripts
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent extracts untrusted content into a separate sandbox document that is spatially and executionally isolated from the main document. By taking out the potentially harmful content into a dedicated container, the system preserves the ability to execute active content while preventing it from affecting the broader system. The sandboxed content is rendered in a contained environment that limits its impact.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies different security properties to different parts of the system: the main document and user environment maintain full security protections, while the sandbox document allows relaxed security settings that enable active content execution. This local quality differentiation allows the sandbox to function as a permissive environment for untrusted content without compromising the security of the trusted environment.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9098719B2Securing unrusted content for collaborative documents
Publication Date: 2015.08.04 APPLE INC
  • US9098719B2 patent drawing
  • US9098719B2 patent drawing
  • US9098719B2 patent drawing

AI summary

A method and an apparatus that configure a sandbox document for secure presentation of a block of data stored in the sandbox document in response to an editing request from a client are described. A presentable content corresponding to a document may be sent to the client for editing. The document and the sandbox document may be separately addressable by separate paths of separate domains. The editing request may include the block of data to update the presentable content of the document. The updated presentable content may include a hyperlink to the sandbox document. The edited document and the sandbox document may allow secure presentation of the block of data within the updated presentable content of the edited document without a need to filter the block of data.