Taint Analysis Access Path Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for analyzing unvalidated dataflows in computer networks, such as taint analysis, are computationally expensive and lack scalability, making them inefficient in preventing injection attacks like SQL injection and XSS attacks.

Innovation Solution

A method involving the generation of nodes for source code statements, identification of source and sink nodes, and determination of backward reachability to identify potential taint flows through a supergraph-based access path propagation, allowing for efficient and scalable taint analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If comprehensive alias analysis is used for taint analysis, then measurement precision is improved, but computational complexity increases

Engineering Contradiction:
Improvetaint analysis accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the dataflow analysis into two distinct phases: a fast forward phase that propagates access paths through the program, and a backward phase that only processes potential taint flows identified by the forward phase. This segmentation allows the system to achieve comprehensive taint analysis accuracy while avoiding the computational complexity of analyzing all possible dataflows equally.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing complete forward dataflow analysis only on access paths that are potentially tainted, rather than analyzing all dataflows in the program. The forward phase propagates access paths selectively, and the backward phase focuses only on identified potential taint flows, reducing overall computational complexity while maintaining precision for relevant paths.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If comprehensive taint analysis is performed, then security detection capability is improved, but processing time increases

Engineering Contradiction:
Improvesecurity detection capabilityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary forward dataflow analysis to identify potential taint flows before conducting the backward analysis. By pre-processing the program to propagate access paths and identify which dataflows are potentially tainted, the system avoids performing expensive backward analysis on all possible dataflows, thus reducing processing time while maintaining comprehensive security detection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent skips the backward analysis step for dataflows that are not identified as potential taint flows by the forward phase. The two-phase approach allows the system to rush through the identification of relevant taint paths using efficient forward analysis, then focus computational resources only on verifying and analyzing the potentially problematic dataflows, significantly reducing overall processing time.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Measurement precision

If alias analysis is used to track dataflows, then measurement precision is improved, but scalability deteriorates

Engineering Contradiction:
Improvedataflow tracking accuracyVSAvoidscalability
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the alias analysis into a forward propagation phase that builds access path information incrementally, and a backward verification phase that uses this pre-computed information. This segmentation allows the system to scale better because the forward phase can process large programs efficiently by propagating access paths in a single direction, while the backward phase operates only on the reduced set of potential taint flows.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing complete alias analysis only for access paths that are potentially tainted, rather than computing alias information for all variables in the program. The forward phase selectively propagates access paths, and the backward phase performs detailed alias analysis only where needed, improving scalability while maintaining precision for the relevant dataflows.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10789362B2Taint analysis with access paths
Publication Date: 2020.09.29 ORACLE INT CORP
  • US10789362B2 patent drawing
  • US10789362B2 patent drawing
  • US10789362B2 patent drawing

AI summary

A method that involves generating, for source code, a set of nodes for a set of statements comprising a first statement and a second statement, wherein each node of the set of nodes comprises a dataflow fact and a statement of the set of statements; identifying a source node and a sink node of the set of nodes; determining that the source node is backward reachable from the sink node by analyzing an incoming access path; and, in response to the determination, identifying a potential taint flow from the source node to the sink node.