Reachability Analysis for Binary Executable Vulnerabilities

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing binary program analysis techniques struggle to efficiently identify potential vulnerabilities in binary executables, particularly in complex software packages, without access to source code, and often face computational expenses that burden analysis system performance.

Innovation Solution

The proposed solution involves a reachability analysis that decomposes executable containers into software components and artefacts, determining reachability metrics for each component across multiple program locations, and calculating environment-aware reachability metrics reflecting runtime properties. This analysis provides data to consuming applications for identifying and remediating security vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional binary program analysis techniques are used to identify vulnerabilities, then security risk detection is achieved, but computational expense increases and analysis system performance deteriorates

Engineering Contradiction:
Improvevulnerability detection accuracyVSAvoidcomputational expense
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the binary executable into multiple components (functions, basic blocks, instructions) and performs analysis on individual segments rather than the entire binary at once. This is achieved through control-flow graph construction that divides the program into manageable units, allowing selective analysis of critical paths while skipping unreachable or less important code sections, thereby reducing overall computational expense while maintaining vulnerability detection accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by performing reachability analysis only on specific program locations that are potentially vulnerable or reachable from entry points, rather than analyzing every instruction in the binary. The system identifies and focuses computational resources on critical paths and suspicious code regions, eliminating the need to fully analyze entire software packages with millions of instructions, thus reducing computational burden while maintaining effective security screening.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If comprehensive analysis of complex software packages is performed, then vulnerability identification improves, but analysis time and system performance deteriorate

Engineering Contradiction:
Improvevulnerability identification accuracyVSAvoidanalysis time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by constructing control-flow graphs and identifying reachable program locations before conducting full vulnerability analysis. This preliminary structuring of the binary data allows the system to quickly determine which code paths are actually executable and worth analyzing in detail, versus which paths are unreachable or irrelevant. This upfront preparation enables faster subsequent analysis by focusing only on pertinent code sections.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies local quality by varying the depth and thoroughness of analysis based on the specific characteristics of different code regions. Critical functions and reachable paths receive more detailed analysis with higher measurement precision, while unreachable or less important code sections receive minimal or no analysis. This differentiated approach maintains high vulnerability identification accuracy for critical areas while reducing overall analysis time through selective focus.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12287885B1Reachability analysis for binary executables
Publication Date: 2025.04.29 BINARLY INC
  • US12287885B1 patent drawing
  • US12287885B1 patent drawing
  • US12287885B1 patent drawing

AI summary

In the context of software security, reachability analysis provides a mechanism to assess the ease of exploitability of a particular vulnerability or whether a vulnerability is exploitable at all. The present techniques provide a mechanism to compute reachability for one or more binary executables within the context of an execution environment. These reachability analyses can be used to determine whether the executables or components therein present any potential vulnerabilities which, in turn, can cause a computing system executing such binary executable to exhibit undesired behavior. The analyses include determining reachability metrics for each of a plurality of program locations. These metrics are used to determine an environment-aware reachability metric reflecting the runtime properties of a computing environment specified by artefacts associated with the software. Remediation actions can then be undertaken to address any security issues in the software or take other actions before it is deployed or allowed to execute.