Sandbox Policy for XSS Protection in Nested Web Documents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cross-Site Scripting (XSS) vulnerabilities persist in web applications despite protective measures, allowing malicious code to access sensitive data, particularly affecting administrators or superusers.

Innovation Solution

Implementing a sandbox policy within a containing document that forwards untrusted content to an embedded document, preventing malicious code from accessing sensitive data by isolating resources and using a content processor to render content without rendering untrusted content in the containing document.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If untrusted content is rendered directly in the containing document, then the document functionality is complete, but the system becomes vulnerable to XSS attacks and sensitive data compromise

Engineering Contradiction:
ImprovesecurityVSAvoiddocument structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the document rendering system into two separate contexts: a containing document and an embedded document. The embedded document acts as an isolated environment for rendering untrusted content, while the containing document maintains security for sensitive data. This segmentation prevents XSS attacks from the embedded content from compromising the containing document, as they operate in separate rendering contexts with restricted access to each other's resources.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a sandbox policy is enforced to prevent XSS attacks, then sensitive data is protected, but the embedded document's access to resources is restricted

Engineering Contradiction:
Improvedata protectionVSAvoidresource access
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent applies different quality levels of resource access to different parts of the system. The embedded document is granted local access to its own resources and the untrusted content it renders, while its access to the containing document's resources is deliberately restricted by the sandbox policy. This local quality approach allows the embedded document to function independently for its intended purpose while preventing it from compromising the containing document's sensitive data.

Inventive Principle:
Principle #3Local quality

3Object-affected harmful factors

If untrusted content is isolated in an embedded document, then XSS vulnerability is reduced, but the system complexity increases due to additional document layers

Engineering Contradiction:
ImproveXSS attack preventionVSAvoiddocument architecture
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent implements a nested document structure where an embedded document is placed within the containing document. This nesting allows the untrusted content to be isolated in the embedded document while still being part of the overall document hierarchy. The nested structure provides security through isolation while maintaining a manageable architecture, as the embedded document can be created and managed through standard web technologies like iframes.

Inventive Principle:
Principle #7Nested doll (Nesting)

Data Source

PatentUS11063956B2Protecting documents from cross-site scripting attacks
Publication Date: 2021.07.13 ADOBE INC
  • US11063956B2 patent drawing
  • US11063956B2 patent drawing
  • US11063956B2 patent drawing

AI summary

In various implementations, an embedded document receives untrusted content from a containing document, where the embedded document is in the containing document. In some cases, the untrusted content is received by the containing document from a server and is forwarded to the embedded document without rendering the untrusted content in the containing document. Instead, the untrusted content is rendered in the embedded document. A sandbox policy is enforced on the embedded document such that the rendered untrusted content is restricted from accessing data associated with the containing document. The untrusted content may comprise malicious code that when rendered executes an XXS attack that attempts to access the data associated with the containing document. However, because the untrusted content is rendered in the embedded document, the malicious code may be denied access to the data, thereby preventing the XSS attack from succeeding.