Compiler Binary Scrambling for ROP and JOP Attack Resistance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cybersecurity measures, such as address space layout randomization (ASLR), are inadequate in preventing malware attacks like return oriented programming (ROP) and jump oriented programming (JOP), as they can be easily bypassed by attackers, and existing binary diversity techniques fail to introduce sufficient entropy, making systems vulnerable to cyber-attacks.

Innovation Solution

A compiler-based method that scrambles binary executables through randomization techniques such as register allocation, function layout randomization, loop unrolling, introduction of chaff code, and substitution of equivalent instructions, ensuring that each compiled binary has unique and randomized output, significantly increasing entropy and making it difficult for attackers to exploit vulnerabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If address space layout randomization (ASLR) is used to defend against ROP/JOP attacks, then binary location randomness is improved, but the defense can be easily bypassed by attackers who can figure out memory addresses

Engineering Contradiction:
Improvedefense effectivenessVSAvoidattack vulnerability
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent changes the fundamental parameter of binary protection from memory location randomization (ASLR) to binary content randomization. By scrambling the actual binary instructions and data at the compiler level, the protection mechanism transforms from relying on address space layout to relying on binary content entropy, making attacks economically unviable.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies preliminary action by scrambling the binary output during the compilation process itself, before the binary is deployed or executed. This pre-scrambling embeds high entropy directly into the binary structure, ensuring that even if memory addresses are discovered, the scrambled instructions remain ineffective against ROP/JOP attacks.

Inventive Principle:
Principle #10Preliminary action

2Object-affected harmful factors

If binary scrambling is implemented at the compiler level to introduce high entropy, then attack resistance is improved, but compiler complexity increases

Engineering Contradiction:
Improveattack susceptibilityVSAvoidcompiler structure
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The patent segments the compiler into distinct components: a traditional compilation pipeline and a separate binary scrambling component. This segmentation allows the scrambling functionality to be added as a modular post-processing step, managing complexity by isolating the entropy-generation logic from the core compilation processes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary binary scrambling component that sits between the traditional compiler output and the final executable. This intermediary takes standard binary output and applies scrambling transformations, acting as a mediator that adds security functionality without fundamentally redesigning the entire compilation system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If traditional compilation methods are used to generate binary output, then compilation speed is maintained, but the binary lacks sufficient entropy to prevent malware attacks

Engineering Contradiction:
Improvecompilation efficiencyVSAvoidcybersecurity protection
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by scrambling the binary output during the compilation process itself, before the binary is deployed or executed. This pre-scrambling embeds high entropy directly into the binary structure, ensuring that even if memory addresses are discovered, the scrambled instructions remain ineffective against ROP/JOP attacks.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the fundamental parameter of binary protection from memory location randomization (ASLR) to binary content randomization. By scrambling the actual binary instructions and data at the compiler level, the protection mechanism transforms from relying on address space layout to relying on binary content entropy, making attacks economically unviable.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10127160B2Methods and systems for binary scrambling
Publication Date: 2018.11.13 POLYVERSE CORP
  • US10127160B2 patent drawing
  • US10127160B2 patent drawing
  • US10127160B2 patent drawing

AI summary

The present invention relates to methods and systems for binary scrambling, and applications for cybersecurity technology aimed at preventing cyber-attacks.