Dataflow Graph Embeddings for Binary Function Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for identifying core and shared libraries and functions in unknown application binaries are inadequate, particularly in cases where compiler optimization levels and architectures differ, leading to false negatives in software security assessments.

Innovation Solution

The system generates dataflow-based function signatures by extracting functions from application binaries, generating dataflows, creating dataflow graphs, converting these graphs into embeddings, and populating a knowledge base. It then uses similarity functions to determine matches between unlabeled and labeled application binaries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional binary comparison methods are used to identify functions in application binaries, then the process is simple and fast, but the identification accuracy deteriorates when compiler optimization levels and architectures differ

Engineering Contradiction:
Improvefunction identification accuracyVSAvoidanalysis system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent transforms the binary comparison approach by changing the parameter representation from raw binary code to dataflow graph embeddings. This parameter transformation enables accurate function identification across different compiler optimizations and architectures while maintaining a manageable system complexity through standardized embedding dimensions and similarity thresholding.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical binary comparison system with a dataflow-based semantic analysis system. Instead of directly comparing binary instructions, the system extracts dataflow relationships and converts them to embeddings, substituting the mechanical comparison process with a more sophisticated but accurate semantic matching approach.

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

2Measurement precision

If dataflow graphs are converted into embeddings with high dimensionality to capture detailed function characteristics, then the identification accuracy improves, but the computational overhead and storage requirements increase

Engineering Contradiction:
Improvebinary matching accuracyVSAvoidcomputational resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent optimizes the embedding parameter dimensions to achieve an optimal balance between accuracy and computational efficiency. By carefully selecting the embedding dimension size, the system captures sufficient function characteristics for accurate matching while avoiding the excessive computational overhead that would result from overly high-dimensional representations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial action by using a subset of the most important dataflow features for embedding generation, rather than processing all possible features. This selective approach maintains high matching accuracy while reducing the computational resources required for embedding generation and comparison.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If comprehensive dataflow analysis is performed on all application binaries to build a knowledge base, then the coverage and reliability of vulnerability detection improve, but the time and computational resources required increase significantly

Engineering Contradiction:
Improvevulnerability detection reliabilityVSAvoidknowledge base construction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary action by pre-processing application binaries and generating their dataflow embeddings in advance, storing them in a knowledge base before actual vulnerability scanning. This preliminary preparation significantly reduces the time required during actual security assessments, as the system only needs to compare new binaries against the pre-built embedding database rather than performing full analysis each time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates simplified copies of the original binary data in the form of dataflow embeddings. These embedding copies capture the essential functional characteristics needed for vulnerability detection while requiring far less storage space and enabling much faster comparison operations than storing and analyzing complete binary data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250173582A1Creating a unique function identifier using dataflow and graph embedding
Publication Date: 2025.05.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20250173582A1 patent drawing
  • US20250173582A1 patent drawing
  • US20250173582A1 patent drawing

AI summary

An approach is provided for creating dataflow-based function signatures. Using intermediate representations of application binaries of respective applications, functions included in the application binaries are extracted. Respective dataflows are generated for the extracted functions. Respective dataflow graphs are generated for the dataflows. The dataflow graphs are converted into respective sets of embeddings. A knowledge base in a data repository is populated with the sets of embeddings. Using a first similarity function, a second similarity function, and the populated knowledge base, it is determined that an unlabeled application binary matches one of the application binaries.