Neural Network Embeddings for Software Vulnerability Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies lack an effective method to detect and monitor changes in vulnerabilities within software systems over time, which is crucial for triggering timely protective and remediation measures.

Innovation Solution

The use of a fully connected neural network with a single hidden layer to generate vector representations (embeddings) of software systems based on their vulnerabilities, allowing for the comparison of these representations over time to detect changes and trigger appropriate measures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional vulnerability detection methods are used, then implementation is simple, but detection precision and ability to monitor changes over time are insufficient

Engineering Contradiction:
Improvevulnerability detection precisionVSAvoiddetection system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces traditional mechanical/manual vulnerability assessment methods with a neural network-based automated system. The neural network processes software component data and vulnerability information to generate embeddings and detect changes, substituting manual analysis with intelligent automated detection that achieves higher precision while managing complexity through algorithmic processing.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent transforms vulnerability detection from qualitative assessment to quantitative measurement by generating vector embeddings that represent software systems in a numerical space. By monitoring changes in these embedding vectors over time, the system detects vulnerability changes through parameter comparison, enabling precise measurement of vulnerability states and transitions.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If comprehensive vulnerability monitoring is implemented, then reliability improves, but loss of time and computational resources increases

Engineering Contradiction:
Improvesoftware system reliabilityVSAvoiddetection and monitoring time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-training the neural network on comprehensive vulnerability data and pre-computing embeddings for software components. This preparation work is done in advance so that when actual vulnerability monitoring is needed, the system can quickly compare current states against the pre-established baseline, reducing real-time detection time while maintaining comprehensive monitoring capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates vector embeddings as simplified copies or representations of complex software vulnerability states. Instead of analyzing entire software systems directly, the system works with compressed vector representations that capture essential vulnerability characteristics, enabling faster comparison and monitoring while preserving the critical information needed for reliability assessment.

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3891636B1Detecting vulnerable software systems
Publication Date: 2025.06.11 BRITISH TELECOM PLC
  • EP3891636B1 patent drawingFigure 1~2
  • EP3891636B1 patent drawingFigure 3~4
  • EP3891636B1 patent drawingFigure 5~6

AI summary

A computer implemented method of detecting an increased vulnerability of a software system including a plurality of software components, the method comprising: generating a vector representation of each software component derived from a neural network trained using training data defined from known vulnerabilities of the software components in the software system; aggregating the vector representations for the software component to an aggregate vector representation for a particular time; repeating the generating and aggregating steps for a plurality of points in time to generate multiple generations of aggregate vector representations; comparing the multiple generations of aggregate vector representations to detect a change in an aggregate vector representation exceeding a maximum threshold degree of change as an indication of an increased vulnerability of the software system.