Information Flow Analysis for Application Code Vulnerability Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing approaches for vulnerability detection in cloud application development are inadequate, particularly in continuous integration and deployment settings, as they often rely on dynamic analysis with low code coverage and high false positives, and static methods are prohibitive or result in excessive false positives.

Innovation Solution

A system and method for information flow analysis of application code using semantic code property graphs to detect vulnerabilities by tracing data flows and enforcing security policies, providing a richer understanding of data operations and transformations across the code base.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dynamic approaches for program analysis are used, then vulnerability detection can be performed at runtime, but code coverage is low and integration into development process is complex

Engineering Contradiction:
Improvevulnerability detection capabilityVSAvoidintegration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the codebase into function-level units and processes them independently through parallel analysis. Each function is analyzed separately to extract data flows and evaluate security policies, which reduces integration complexity while maintaining comprehensive coverage across the entire codebase.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer that connects code analysis with security policy evaluation. This intermediary processes function summaries and data flows to determine policy violations, simplifying the integration process by providing a standardized interface between static analysis and security requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If static taint tracking and symbolic execution are used, then comprehensive code analysis is achieved, but runtime is prohibitive and false positives are high

Engineering Contradiction:
Improvecode coverageVSAvoidanalysis runtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs partial static analysis by focusing only on essential data flow information at the function level rather than进行全面 whole-program analysis. It extracts key data flows and security-relevant variables without executing complete symbolic analysis, thereby reducing runtime while maintaining sufficient code coverage for vulnerability detection.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent extracts only the necessary data flow information from functions, specifically focusing on data flows that are relevant to security policy evaluation. By taking out and analyzing only the essential data flow characteristics rather than complete program states, the system reduces analysis time and false positives while maintaining detection accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If existing static analyzers are used, then vulnerability detection is performed, but false positive rates are high and detection accuracy is limited

Engineering Contradiction:
Improvevulnerability detectionVSAvoidfalse positive rate
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system implements feedback mechanisms where function summaries and data flow analysis results are used to inform security policy evaluations. The parallel analysis approach provides feedback loops that refine vulnerability detection by cross-validating findings across multiple analysis dimensions, thereby reducing false positives and improving detection precision.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent creates a universal analysis framework that handles multiple security policies and vulnerability types through a single unified approach. The system evaluates diverse security policies (confidentiality, integrity, availability) using the same data flow extraction and evaluation mechanisms, improving measurement precision by providing consistent and comprehensive vulnerability detection across different security contexts.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11783054B2System and method for information flow analysis of application code
Publication Date: 2023.10.10 HARNESS INC
  • US11783054B2 patent drawing
  • US11783054B2 patent drawing
  • US11783054B2 patent drawing

AI summary

A method and system for security flow analysis of application code comprising: detecting data flows in a code base; and extracting an information flow, comprising determining a primary data flow by identifying a data flow that contains exposed data, and extending the primary data flow through descriptor data flows, wherein the descriptor data flows are associated with the set of data tracked by the primary data flow; wherein the information flow is a high level flow description that exposes the application code vulnerabilities based on the primary data flow and all associated descriptor data flows.