Machine Learning Vulnerability Detection Using Trait Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for detecting vulnerable code in computer programs are time-consuming and ineffective, relying on manual inspection, which makes it difficult to identify and analyze potential security risks such as buffer overflows.

Innovation Solution

A system utilizing a machine learning model, specifically a random forest with decision trees, to analyze traits like memory usage, API usage, and code complexity, to determine the likelihood of vulnerable code presence, and provide indications for further analysis or development.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual inspection methods are used to detect vulnerable code, then detection accuracy can be maintained through expert analysis, but the detection process becomes extremely time-consuming and inefficient

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoiddetection time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the vulnerability detection process into multiple independent components: static code analysis, dynamic code analysis, machine learning classification, and trait-based filtering. Each component handles specific aspects of vulnerability detection, allowing parallel processing and significantly reducing overall detection time while maintaining comprehensive coverage through the segmented analysis pipeline

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces machine learning models and trait-based analysis systems as intermediary layers between the code and the final vulnerability determination. These intermediaries automatically process and filter code patterns, identifying suspicious traits and characteristics that indicate vulnerabilities, thereby reducing the time required for manual expert inspection while preserving detection accuracy

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If conventional static analysis tools are used, then detection coverage can be improved, but false positive rates increase and reduce effectiveness

Engineering Contradiction:
Improvedetection coverageVSAvoidfalse positive rate
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent implements feedback mechanisms where machine learning models are trained on results from both static and dynamic analysis, continuously refining their classification accuracy. The system uses feedback from detected traits and analysis results to adjust detection thresholds and parameters, reducing false positives while maintaining comprehensive coverage through iterative optimization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent combines multiple analysis approaches (static analysis, dynamic analysis, machine learning, and trait-based detection) into a composite detection system. Each method contributes different strengths to the overall detection process, with static analysis providing broad coverage and machine learning/trait-based methods filtering out false positives, creating a robust multi-layered detection framework

Inventive Principle:
Principle #40Composite materials

3Reliability

If comprehensive code analysis is performed to identify all potential vulnerabilities, then detection thoroughness is improved, but computational complexity and resource requirements increase significantly

Engineering Contradiction:
Improvedetection thoroughnessVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary static code analysis and trait identification before conducting more resource-intensive dynamic analysis or machine learning classification. By pre-identifying suspicious code patterns and traits that indicate vulnerabilities, the system can focus computational resources only on high-risk areas, maintaining thorough detection while reducing overall system complexity and resource requirements

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic, multi-stage analysis process where the depth and type of analysis applied to each code segment is adjusted based on initial screening results. Low-risk code receives minimal analysis while high-risk code undergoes comprehensive multi-method analysis, allowing the system to maintain thorough detection capability while managing computational complexity through adaptive resource allocation

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11080406B2Detection of vulnerable code
Publication Date: 2021.08.03 CYLANCE INC
  • US11080406B2 patent drawing
  • US11080406B2 patent drawing
  • US11080406B2 patent drawing

AI summary

A machine learning model is applied to at least determine whether a computer program includes vulnerable code. The machine learning model is trained to determine whether the computer program includes vulnerable code based at least on a presence and/or absence of a first trait. An indication can be provided, via a user interface, an indication that the computer program includes vulnerable code, when the computer program is determined to include vulnerable code. Related methods and articles of manufacture, including computer program products, are also provided.