Watchpoint Inference for Taint Analysis Traceability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Grey-box taint analysis lacks traceability, making it difficult for users to interpret or debug reported injection bugs in web applications, as it does not provide a clear flow of attacker-controlled data, leading to challenges in determining true or false positives.

Innovation Solution

A method and system that receive a taint report and execution trace, select and modify candidate watchpoints using an objective function combining validity, understandability, and performance metrics to improve the taint flow trace, enabling selective instrumentation and focusing analysis on relevant modules, thereby enhancing traceability and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If grey-box taint analysis is used to analyze selective operations without extensive instrumentation, then scalability to industrial web applications is improved, but traceability of the analysis findings deteriorates

Engineering Contradiction:
ImprovescalabilityVSAvoidtraceability
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent segments the execution trace into distinct modules and identifies critical paths through the application. By dividing the trace into manageable segments and highlighting only the critical portions where taint flows from source to sink, the system maintains traceability without requiring full instrumentation of the entire application, thus resolving the contradiction between scalability and traceability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by focusing analysis and instrumentation only on specific modules and operations that are relevant to the taint flow, rather than instrumenting the entire application. This selective approach maintains traceability for critical paths while reducing overall instrumentation overhead, enabling scalability to industrial applications.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If white-box taint analysis is used with extensive instrumentation and manual modeling, then measurement precision of taint flow is improved, but device complexity and performance overhead increase

Engineering Contradiction:
Improvetaint flow accuracyVSAvoidinstrumentation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts only the essential information needed for taint analysis from the execution trace, specifically identifying critical paths and key modules. By taking out only the necessary trace information rather than instrumenting everything, the system achieves sufficient measurement precision while dramatically reducing instrumentation complexity and performance overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates a simplified copy or representation of the execution trace that captures only the critical taint flow paths. This copied trace information is sufficient for accurate taint analysis without requiring full white-box instrumentation, thus reducing complexity while maintaining measurement precision.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If manual modeling of functions is used for taint analysis, then adaptability to handle unavailable source code is improved, but reliability of analysis deteriorates due to error-prone manual models

Engineering Contradiction:
Improvehandling unavailable source codeVSAvoidanalysis accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent enables the system to automatically analyze taint flows using the execution trace itself, without relying on manual modeling. The system self-services by extracting taint path information directly from the trace, eliminating the need for error-prone manual function models while maintaining adaptability to cases where source code is unavailable.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11709930B2Inferring watchpoints for understandable taint reports
Publication Date: 2023.07.25 ORACLE INT CORP
  • US11709930B2 patent drawing
  • US11709930B2 patent drawing
  • US11709930B2 patent drawing

AI summary

A taint report represents a taint flow from a source value at a source program point to a sink value at a sink program point. Candidate watchpoints that correspond to taint-like values similar to the source value may be inferred from an execution trace. Different subsets of candidate watchpoints represent solutions to the problem of determining an optimal subset of watchpoints contributing to a taint flow. Using a hill-climbing heuristic, incremental improvements are efficiently applied to a solution until no more improvements are found. An objective function may determine whether one solution improves another solution. The objective function may be based on validity, understandability, and performance. Validity favors candidate watchpoints that reduce the edit distance between the source and sink values. Understandability favors candidate watchpoints included in a call chain from the source program point to the sink program point. Performance favors small subsets of candidate watchpoints.