Dynamic Program Validation Engine for XSS Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dynamic executable code, such as JavaScript, poses security risks through cross-site scripting (XSS) vulnerabilities, which are difficult to detect and can result in significant resource expenditure to resolve, especially in web applications, due to limitations in static analysis and the asynchronous nature of JavaScript, leading to false positives and challenges in modeling code execution.

Innovation Solution

A system with a dynamic program validation engine that transforms dynamic executable code into a format executable in a hosted isolated computing environment, allowing for directed execution and vulnerability detection, thereby systematically identifying and exposing DOM XSS issues without affecting actual resources or user interfaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static analysis is used to detect security vulnerabilities, then analysis speed is improved, but detection accuracy deteriorates due to false positives and limitations in analyzing dynamic languages

Engineering Contradiction:
Improveanalysis speedVSAvoiddetection accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system transitions from static analysis to dynamic analysis by executing the target code in a controlled environment. The code is transformed into a format that can be executed, and the system monitors runtime behavior to detect vulnerabilities. This dynamic approach allows the system to handle dynamic languages effectively and reduce false positives by observing actual execution paths rather than relying on static code inspection.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system introduces a transformation component that acts as an intermediary between the original code and the execution environment. This component transforms the target code into a format suitable for directed execution while preserving the original functionality. The transformation enables the system to analyze dynamic languages by converting them into a form that can be systematically executed and monitored for security vulnerabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If dynamic analysis with fuzzed sources is used to resolve security issues, then detection capability is improved, but execution speed deteriorates and side effects occur on actual systems

Engineering Contradiction:
Improvedetection capabilityVSAvoidexecution speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system performs preliminary transformation of the target code into a directed execution format before actual analysis. This transformation prepares the code for efficient execution by converting it into a form that can be systematically analyzed. By pre-processing the code in this manner, the system enables faster execution during the analysis phase while maintaining the ability to detect vulnerabilities through controlled runtime behavior observation.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If code execution is performed on actual pages, then real-world vulnerability detection is improved, but system stability deteriorates due to permanent changes and undesirable load

Engineering Contradiction:
Improvereal-world detection accuracyVSAvoidsystem stability
Core Design Contradiction:
Measurement precisionVSStability of the object's composition

Solution Approach 1:

The system creates a transformed copy of the original code that preserves the functional behavior needed for vulnerability detection while isolating it from the actual production environment. This copied and transformed version is executed in a controlled manner, allowing the system to observe runtime behavior and detect vulnerabilities without affecting the stability or performance of the original live systems.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3077950B1Directed execution of dynamic programs in isolated environments
Publication Date: 2018.10.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3077950B1 patent drawingFigure 1
  • EP3077950B1 patent drawingFigure 2
  • EP3077950B1 patent drawingFigure 3

AI summary

A test object that includes at least one computer program that includes dynamic executable code is obtained. The at least one computer program is transformed into a format that is configured to execute in a hosted isolated computing environment. Directed execution of the at least one computer program is initiated, in the hosted isolated computing environment. Dynamic code vulnerabilities of the at least one computer program are detected, based on the directed execution.