Binary Vulnerability Detection Using Execution-Guided Neural Control Flow

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting vulnerabilities in binary code are inefficient and inaccurate due to the loss of information during compilation, making it difficult to detect vulnerabilities in complex software systems, especially when manual security patches are slow to deploy.

Innovation Solution

An agent-based implicit neural network that mimics the execution path of a program using reinforcement learning to enhance branching decisions and capture global information, employing a state-dependent adjacency matrix and implicit Graph Neural Network for vulnerability detection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If binary code analysis is performed using traditional static or dynamic methods, then vulnerability detection can be achieved, but the process becomes manually expensive and inefficient

Engineering Contradiction:
Improvevulnerability detection efficiencyVSAvoidtime for manual analysis
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent replaces manual mechanical analysis with an automated neural network system that processes binary code through learned patterns, substituting human expert analysis with an intelligent automated system capable of high-speed processing

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

Solution Approach 2:

The patent introduces assembly code as an intermediary representation between binary code and source code, creating a middle layer that preserves enough structural information for effective vulnerability detection while being more accessible than raw binary

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If source code level analysis is used for vulnerability detection, then accurate and complex vulnerability detection is achieved, but it requires access to original source code which is often unavailable

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidapplicability to third party programs
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

Instead of starting from source code and compiling to binary, the patent inverts the approach by analyzing binary code and using neural networks to infer vulnerability patterns that would traditionally require source code inspection

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent creates a virtual representation of source code structures through assembly code analysis, copying the essential structural information needed for vulnerability detection without requiring the actual source code

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If binary code is analyzed directly, then vulnerability detection can proceed without source code, but information loss during compilation makes detection much harder

Engineering Contradiction:
Improveability to analyze compiled programsVSAvoidinformation loss during compilation
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent adds a new dimension to binary code analysis by incorporating assembly code as an intermediate representation layer, transforming the analysis from direct binary inspection to a multi-layer approach that recovers lost structural information

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP4407496B1Methods and systems for identifying binary code vulnerability
Publication Date: 2026.03.04 BLACKBERRY LTD
  • EP4407496B1 patent drawingFigure 1
  • EP4407496B1 patent drawingFigure 2
  • EP4407496B1 patent drawingFigure 3

AI summary

There is provided methods and apparatuses for a control flow execution-guided deep learning framework for binary code vulnerability detection. Reinforcement learning is to enhance the branching decision at every program state transition and create a dynamic environment to learn the dependency between a vulnerability and certain program states. An implicitly defined neural network enables state transition until convergence, which captures the structural information at a higher level.