Executable Code Vulnerability Reduction via Gadget Sequence Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies are insufficient in reducing executable code vulnerability, particularly as newer shell code attacks exploit vulnerabilities through instruction pointer manipulation and unaligned byte sequences, which traditional safeguards like the NX bit and DEP cannot effectively address.

Innovation Solution

A method to analyze binary files and configure vulnerable executable code structures by identifying and modifying sequences of instructions, such as using jumps to change the execution flow without altering the logical outcome, and prioritizing vulnerabilities based on exploitation history and compliance with Address Space Layout Randomization (ASLR).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional safeguards like NX bit and DEP are used, then memory execution security is improved, but newer shell code attacks can still exploit vulnerabilities through instruction pointer manipulation and unaligned byte sequences

Engineering Contradiction:
Improvememory execution securityVSAvoidshell code attack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the binary file into multiple sections and analyzes each section separately to identify vulnerable gadget sequences. By dividing the code base into manageable units and examining control transfer instructions within each segment, the system can systematically break up exploit chains without compromising overall functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary analysis of the binary file before execution to identify and configure vulnerable code structures. By preemptively detecting gadget sequences and control transfer instructions, the system can reconfigure the binary to prevent exploitation before attacks occur, rather than reacting to threats after they manifest.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the binary file is analyzed and configured to reduce vulnerability, then security against shell code attacks is improved, but the complexity of the binary processing increases

Engineering Contradiction:
Improveexecutable code securityVSAvoidbinary processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes parameters of the binary file during configuration, such as modifying control transfer addresses and reconfiguring gadget sequences. By altering these parameters systematically, the system reduces vulnerability while maintaining the binary's functional integrity, avoiding the need for complete rewriting or complex structural changes.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If gadget sequences are broken and control transfer instructions are modified, then exploitation vulnerability is reduced, but the original execution flow may be altered

Engineering Contradiction:
Improveexploitation resistanceVSAvoidexecution flow consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent converts potentially harmful gadget sequences into beneficial security features by identifying and reconfiguring control transfer instructions. What could have been exploit vectors are transformed into protected code structures that maintain original functionality while preventing malicious use, effectively turning vulnerability into security strength.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

Data Source

PatentUS9058492B1Techniques for reducing executable code vulnerability
Publication Date: 2015.06.16 CA TECH INC
  • US9058492B1 patent drawing
  • US9058492B1 patent drawing
  • US9058492B1 patent drawing

AI summary

Techniques for reducing executable code vulnerability are disclosed. In one particular exemplary embodiment, the techniques may be realized as a method for reducing executable code vulnerability comprising analyzing a binary file, using at least one computer processor, to identify a vulnerable executable code structure, and configuring the identified executable code structure to reduce vulnerability.