Predictive Model for Pre-Execution Vulnerability Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in preventing exploit vulnerability attacks, as vulnerabilities can remain unpatched for extended periods, leaving systems exposed to hackers, and patches may not be promptly applied across all devices, potentially leading to unintended and malicious behavior.

Innovation Solution

A predictive model is trained using supervised learning and fuzz testing to identify variant inputs that reach vulnerabilities, allowing for pre-execution analysis of inputs to determine if they would cause a program to reach a vulnerability, thereby preventing malicious exploitation without requiring code changes or updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional vulnerability patching is used, then vulnerabilities can be fixed, but the patching process takes extended periods and patches may not be applied across all devices promptly

Engineering Contradiction:
Improvevulnerability protectionVSAvoidpatch deployment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by training a predictive model in advance using fuzz testing and security analysis to generate labeled training data. This model is ready before vulnerabilities are exploited, enabling immediate prediction and blocking of malicious inputs without waiting for traditional patch deployment. The predictive model is trained offline with extensive security testing data, so when a vulnerability is discovered, the system can immediately use the model to predict and prevent exploitation attempts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The predictive model serves as an intermediary between the vulnerability and the exploitation attempt. Instead of directly patching the vulnerability in the program code, the system inserts a predictive model that analyzes inputs and predicts whether they would exploit the vulnerability. This intermediary layer blocks malicious inputs before they reach the vulnerable code, providing protection without modifying the original program.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If extensive fuzz testing and security analysis are performed to train the predictive model, then prediction accuracy improves, but the training process becomes more complex and resource-intensive

Engineering Contradiction:
Improvevulnerability prediction accuracyVSAvoidmodel training complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system creates copies of the vulnerable program in controlled testing environments to generate training data. Instead of directly analyzing the original program, multiple copies are executed with various inputs during fuzz testing to collect labeled examples of vulnerable and non-vulnerable inputs. This copying approach enables comprehensive security analysis without risking the original system and generates sufficient training data for accurate model prediction.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs self-service by automatically generating training data through automated fuzz testing and security analysis. The predictive model trains itself using the labeled data generated from executing the program with various inputs and analyzing the results. This self-service approach reduces manual intervention and complexity in the training process while maintaining high prediction accuracy through extensive automated testing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10387655B2Method, system and product for using a predictive model to predict if inputs reach a vulnerability of a program
Publication Date: 2019.08.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10387655B2 patent drawing
  • US10387655B2 patent drawing
  • US10387655B2 patent drawing

AI summary

A method, apparatus and product for using a predictive model to predict if inputs reach a vulnerability of a program. Given a sample input, which when provided to a program being executed, is configured to cause execution of the program to reach a vulnerability, a set of variant inputs and labels thereof is generated based on the sample input and execution of the program with each variant input. A predictive model is trained based on the set of variant inputs and labels thereof, and provided to an input analysis platform configured to analyze an input; whereby the input analysis platform is enabled to predict whether an input would cause the program to reach the vulnerability prior to executing the program with the input and perform a responsive action accordingly.