Automated Binary Vulnerability Remediation via Static Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Manual detection and remediation of software vulnerabilities in compiled binaries are costly, time-consuming, and error-prone, requiring skilled personnel and extending the software development life cycle.

Innovation Solution

A system that performs static analysis of binary files to identify vulnerabilities, replaces insecure code segments with matching patches from a library, and optionally modifies the patches to maintain application functionality, without requiring skilled intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual detection and remediation of software vulnerabilities is performed by skilled personnel, then detection precision and remediation reliability are improved, but productivity is reduced and time-to-deliver is extended

Engineering Contradiction:
Improvevulnerability detection precisionVSAvoidremediation productivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system enables automated self-service for vulnerability remediation by using binary analysis tools to automatically detect, analyze, and generate patches for security flaws without requiring manual intervention from skilled personnel throughout the process

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical process of skilled personnel reviewing and fixing vulnerabilities with an automated binary analysis system that uses computational algorithms to detect and remediate security flaws in compiled binaries

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

2Reliability

If manual source code modification is performed to cure defects, then remediation reliability is improved, but time-to-deliver is extended and cost increases

Engineering Contradiction:
Improveremediation reliabilityVSAvoidtime-to-deliver
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary automated analysis of binary files to identify vulnerabilities before deployment, generating patches in advance through automated processes rather than waiting for manual discovery and remediation after deployment

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the fundamental parameters of the remediation process by operating directly on binary files rather than source code, enabling automated patch generation that maintains reliability while significantly reducing time-to-deliver

Inventive Principle:
Principle #35Parameter changes

3Productivity

If automated binary patching is performed, then productivity is improved and time-to-deliver is reduced, but device complexity increases

Engineering Contradiction:
Improveremediation productivityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary automated binary analysis platform that mediates between vulnerability detection and remediation, handling the complexity of binary patching internally while presenting a simplified interface for deployment

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of time

If binary patches are applied to cure vulnerabilities, then loss of time is reduced, but the risk of introducing new defects increases

Engineering Contradiction:
Improveremediation timeVSAvoidsoftware reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system implements feedback mechanisms where each automated patch is validated through binary analysis to verify it cures the intended vulnerability without introducing new defects, providing confirmation before deployment

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3049988B1A system and method for automated remedying of security vulnerabilities
Publication Date: 2019.04.03 VERACODE INC
  • EP3049988B1 patent drawingFigure 1
  • EP3049988B1 patent drawingFigure 2A
  • EP3049988B1 patent drawingFigure 2B

AI summary

In a binary patching system for alleviating security vulnerabilities in a binary representation of a software application, a binary code portion determined to be associated with a security vulnerability is replaced with a replacement binary code that can avoid such vulnerability without substantially changing the functionality of the code portion that was replaced. The replacement binary code can be selected based on properties and/or context of the code portion to be replaced.