Dynamic Content Marking for Context-Aware XSS Sanitization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web applications face challenges in securing against Cross-Site Scripting (XSS) attacks due to the complexity of output escaping, especially when dynamic content is included in multiple contexts, as existing solutions like input filtering and client-side protection are inadequate and difficult to implement and maintain.

Innovation Solution

Implementing runtime output sanitization filtering by dynamically marking dynamically-generated content with indicators that do not collide with legitimate content, allowing a sanitization filter to identify and apply context-specific escaping after document generation, ensuring full preparation for escaping before output.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If output escaping is performed during dynamic content inclusion, then context-specific sanitization can be applied, but it is difficult to identify the outer context and appropriate escaping method

Engineering Contradiction:
Improvesanitization accuracyVSAvoidcontext identification complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by marking dynamic content with unique identifiers at the time of inclusion, before the outer context is known. This allows the sanitization filter to later identify and sanitize the marked content with the correct context-specific escaping method, resolving the contradiction between early sanitization accuracy and context identification difficulty.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If escaping is delayed until complete document construction, then outer context can be identified, but the application cannot distinguish legitimate content from XSS injected content

Engineering Contradiction:
Improvecontext identification easeVSAvoidcontent authenticity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent uses preliminary marking of dynamic content with unique identifiers before document construction is complete. This allows the sanitization filter to reliably identify legitimate dynamic content among potentially malicious injections, while still having access to the outer context information needed for proper escaping.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces marked dynamic content indicators as an intermediary mechanism between content generation and sanitization. These markers serve as trusted identifiers that bridge the gap between early content creation and later context-aware sanitization, enabling both reliability and context identification.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If different escaping methods are used for different contexts, then XSS protection is improved, but implementation and maintenance difficulty increases

Engineering Contradiction:
ImproveXSS protection effectivenessVSAvoidimplementation ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a sanitization filter as an intermediary component that automatically selects and applies the appropriate context-specific escaping method based on the marked dynamic content indicators. This eliminates the need for developers to manually implement and maintain multiple escaping methods, improving ease of operation while maintaining XSS protection effectiveness.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If input filtering is used to prevent XSS, then malicious data can be rejected, but it cannot guarantee full protection and may be overly aggressive

Engineering Contradiction:
Improveattack preventionVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent inverts the traditional input filtering approach by applying output escaping instead. Rather than trying to filter and reject malicious input data (which causes overly aggressive filtering and productivity loss), the system escapes all dynamic content at output, ensuring XSS protection while maintaining data processing efficiency.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10375107B2Method and apparatus for dynamic content marking to facilitate context-aware output escaping
Publication Date: 2019.08.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10375107B2 patent drawing
  • US10375107B2 patent drawing
  • US10375107B2 patent drawing

AI summary

A technique to provide runtime output sanitization filtering of web application content that contains multiple contexts in which dynamic output is included. To facilitate this operation, dynamically-generated content is prepared for sanitization in advance, preferably by being “marked” by the web application itself (or by middleware). Preferably, given dynamically-generated content is marked by enclosing it between dynamic content indicators. After the document generation is completed but before it is output, the application-generated content is processed by a content sanitization filter. The filter uses the dynamic content identifiers to identify and locate the content that needs output escaping. The filter detects the appropriate context within which the dynamically-generated content has been placed and applies escaping. The output content is prepared for escaping in advance even if assembled from multiple sources that do not operate in the same runtime environment.