Automated Binary Vulnerability Detection via Intermediate Representation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for identifying vulnerabilities in compiled binaries, especially in critical systems where source code is not available, are inefficient and require manual analysis, which can be time-consuming and prone to missing obfuscated code.

Innovation Solution

Converting compiled binaries into intermediate representations (IR) to facilitate automatic vulnerability discovery, involving generating a first machine-independent IR, identifying metadata, emitting function prototypes, translating into a second IR, and applying analyzers to identify functional attributes that alter the intended operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual analysis methods are used to identify vulnerabilities in compiled binaries, then analysis can be performed on existing systems, but the process is time-consuming and prone to missing obfuscated code

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

Solution Approach 1:

The patent introduces an intermediate representation (IR) as a mediator between the compiled binary and the analysis process. The binary is converted to IR, which preserves the operational semantics while enabling automated analysis. This intermediary form allows tools to systematically examine code without the limitations of manual analysis, resolving the contradiction between thoroughness and time consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical manual analysis process with automated computational analysis using intermediate representation and analysis tools. Instead of human analysts manually examining binary code, the system uses automated tools that operate on the IR representation, significantly reducing time while maintaining or improving detection accuracy.

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

2Reliability

If source code is available for vulnerability analysis, then thorough analysis can be performed, but many critical systems do not have accessible source code

Engineering Contradiction:
Improvevulnerability identification capabilityVSAvoidapplicability to different systems
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal analysis approach that works on compiled binaries regardless of whether source code is available. The intermediate representation serves as a common form that can represent code from different sources and systems, making the vulnerability analysis capability universally applicable to both open-source and proprietary systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent creates a copy of the binary's operational semantics in the form of intermediate representation. This IR copy captures the essential behavior and structure of the original binary without requiring the original source code, enabling analysis to proceed on this representative copy while maintaining the ability to identify vulnerabilities in the actual system.

Inventive Principle:
Principle #26Copying

3Productivity

If automated vulnerability discovery tools are developed, then analysis speed increases, but converting binaries to intermediate representation requires additional processing steps

Engineering Contradiction:
Improvevulnerability discovery speedVSAvoidanalysis system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs the conversion to intermediate representation as a preliminary action before the actual vulnerability analysis. By converting the binary to IR upfront, the system prepares the code in a form that is optimized for automated analysis, allowing subsequent analysis tools to operate efficiently without needing to perform complex binary-to-IR conversion during the analysis phase itself.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10614227B2Method and system for identifying functional attributes that change the intended operation of a compiled binary extracted from a target system
Publication Date: 2020.04.07 BOOZ ALLEN HAMILTON INC
  • US10614227B2 patent drawing
  • US10614227B2 patent drawing
  • US10614227B2 patent drawing

AI summary

Vulnerable code allows outside actors to interfere with the normal operation of current systems. To help defend against these outside actors, it is desirable to identify vulnerabilities in existing systems, including systems where the original source code is not available for study. Described herein are methods for identifying functional attributes that change the intended operation of a compiled binary extracted from a target system.