Automated Source Code Vulnerability Mitigation via Path Graph Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for identifying and mitigating software security vulnerabilities in source code are labor-intensive and often result in potential security issues being deployed due to lack of time or resources, despite the use of static code analysis tools that detect vulnerabilities and provide generic remediation criteria.

Innovation Solution

A method and system that automatically mitigate vulnerabilities in source code by building a path graph, identifying tainted paths, determining the type of vulnerability, and applying instant-fix calls based on sanitization methods, with a processor coupled to memory and a database to automate the process of vulnerability detection and remediation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If static code analysis tools are used to detect vulnerabilities, then vulnerability detection capability is improved, but manual implementation and validation remains labor-intensive

Engineering Contradiction:
Improvevulnerability detection capabilityVSAvoidmanual implementation and validation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system automatically generates remediation code and validates it without requiring manual intervention. The validation process is self-performed by the system through automated compilation and execution testing, eliminating the need for developers to manually verify each fix.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system performs vulnerability detection, remediation generation, and validation in advance before deployment. By completing the entire remediation workflow preliminarily, the system eliminates time-consuming manual steps that would otherwise be required during the deployment phase.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If comprehensive static code analysis is performed, then vulnerability detection accuracy is improved, but resource consumption increases

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The codebase is divided into multiple paths that are analyzed separately. The system segments the analysis workload by identifying and processing individual execution paths independently, which reduces the computational complexity and resource consumption compared to analyzing the entire codebase as a single unit.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs analysis on a selective basis, focusing computational resources on identifying and remediating specific vulnerability types rather than exhaustively analyzing every possible code path. This partial action approach maintains adequate detection accuracy while reducing overall resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If automated remediation is implemented, then productivity is improved, but complexity of the system increases

Engineering Contradiction:
Improvevulnerability remediation speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an automated remediation engine as an intermediary between vulnerability detection and deployment. This intermediary component handles the complex tasks of generating and validating fixes, thereby automating productivity-enhancing functions while managing system complexity through a dedicated intermediate layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10044747B2Method, system, and computer program product for automatically mitigating vulnerabilities in source code
Publication Date: 2018.08.07 LUCENT SKY CORP
  • US10044747B2 patent drawing
  • US10044747B2 patent drawing
  • US10044747B2 patent drawing

AI summary

A method for automatically mitigating vulnerabilities in a source code of an application is provided in the present invention. The method includes the following steps. First, the source code is complied, and a path graph is built according to the compiled source code. The path graph includes a plurality of paths traversing from sources to sinks, and each of the paths includes a plurality of nodes. Then, at least one tainted path is identified by enabling a plurality of vulnerability rules. Each of the at least one tainted path corresponds to a vulnerability, and each of the at least one vulnerability corresponds to a sanitization method. Then, the at least one vulnerability is determined if it is mitigable. If the at least one vulnerability is mitigable, the at least one vulnerability is mitigated automatically. Furthermore, the method may be implemented as a system and a computer program product.