Vulnerability Classification Using AST and Property Correlations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Static security analysis tools often produce numerous false positive reports of security vulnerabilities in computer software due to their imprecise representation of applications, and they fail to differentiate between vulnerabilities in terms of exploitability and severity.
Innovation Solution
A method for automatically classifying security vulnerabilities by identifying candidate vulnerabilities, determining predefined property values, creating correlations between these values and classifications, and using these correlations to classify vulnerabilities in new applications, employing machine learning techniques like the k-means algorithm.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If static security analysis is performed to uncover security vulnerabilities, then security issues are identified, but false positive reports increase due to imprecise representation
Solution Approach 1:
The patent introduces an abstract syntax tree (AST) as an intermediary representation between the source code and the analysis engine. This AST serves as a structured mediator that preserves precise syntactic and semantic information while enabling systematic analysis, thereby reducing false positives caused by imprecise direct analysis of source code
Solution Approach 2:
The patent transforms the vulnerability classification problem by changing parameters from simple binary detection to multi-dimensional classification based on exploitability and severity. This parameter transformation enables more nuanced differentiation of vulnerabilities, improving accuracy while reducing false positives through better contextual understanding
2Quantity of substance
If all security vulnerabilities are reported without classification, then comprehensive coverage is achieved, but prioritization of critical issues becomes difficult
Solution Approach 1:
The patent segments the set of all vulnerabilities into distinct categories based on exploitability (e.g., easily exploitable, moderately exploitable, difficult to exploit) and severity (e.g., high, medium, low). This segmentation allows comprehensive reporting while enabling easy prioritization through structured classification
Solution Approach 2:
The patent applies different classification criteria and weights to different types of vulnerabilities based on their local characteristics. Each vulnerability is evaluated with property values specific to its context (e.g., code location, data flow characteristics), enabling nuanced prioritization that reflects the actual risk of each specific vulnerability
3Measurement precision
If manual analysis is used to differentiate vulnerability severity, then accurate classification is achieved, but analysis time increases significantly
Solution Approach 1:
The patent implements automated property value determination that allows the analysis system to self-evaluate vulnerabilities without manual intervention. The system automatically computes exploitability and severity metrics based on predefined criteria and code analysis, achieving manual-level accuracy while eliminating time-consuming manual review
Solution Approach 2:
The patent performs preliminary classification by determining property values and classifications during the initial static analysis phase, before detailed manual review is needed. This preliminary action pre-processes vulnerabilities with automated classification, reducing the time required for subsequent prioritization and response activities
Data Source
AI summary
Automatically classifying security vulnerabilities in computer software applications by identifying candidate security vulnerabilities in a learning set including at least a first computer software application, classifying each of the candidate security vulnerabilities using predefined classifications, determining, for each of the candidate security vulnerabilities, values for predefined properties, creating a set of correlations between the property values and the classifications of the candidate security vulnerabilities, identifying a candidate security vulnerability in a second computer software application, determining, for the candidate security vulnerability in the second computer software application, values for the predefined properties, and using the set of correlations to classify the candidate security vulnerability in the second computer software application with a classification from the predefined classifications that best correlates with the property values of the candidate security vulnerability in the second computer software application.


