Interlocked Binary Transmutations for White-Box Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current security systems fail to provide comprehensive protection against a wide range of attacks, including static and dynamic attacks, as they often focus on specific security concerns while ignoring other threats, and existing solutions do not effectively prevent debugging, memory lifting, or reverse engineering of binary applications.

Innovation Solution

A method that transforms binary software applications using a combination of binary transmutations at different granularities, including module, function, block, and instruction levels, with interlocked transmutations to create a protected application that is semantically equivalent to the original, making it resistant to tampering, reverse engineering, and dynamic analysis attacks, utilizing white-box transformations and interdependencies to ensure irreversible changes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple security technologies are applied separately to address different attacks, then specific security concerns are protected, but the system cannot provide comprehensive protection against the entire range of attacking domains

Engineering Contradiction:
Improvesecurity protection coverageVSAvoidsecurity system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines multiple previously separate security technologies (anti-debug, cryptography, integrity verification, obfuscation) into a single integrated binary protection system. These technologies are merged at the binary level through a unified transformation process that applies all security measures simultaneously during build-time, creating a comprehensive protection system that addresses multiple attack domains without requiring separate security engines.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The binary protection system is designed as a universal security solution that provides multi-functional protection against various attack types including debugging, memory lifting, reverse engineering, and tampering. The system uses a common transformation framework that can be applied to any binary application, making it adaptable to different security needs while maintaining a consistent protection approach across all attack vectors.

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

2Reliability

If binary transmutation transformations are applied to protect the application, then the application becomes resistant to static and dynamic attacks, but the transformation process increases system complexity

Engineering Contradiction:
Improveresistance to attacksVSAvoidtransmutation system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The binary protection transformations are applied in advance during build-time before the application is deployed or executed. The transmutation process prepares the binary code with embedded security measures, transformed instructions, and protective layers beforehand. This preliminary action ensures that when the application runs, the protection is already in place without adding runtime complexity or requiring complex runtime transformation logic.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If comprehensive binary protection is applied to protect against all attack domains, then security is enhanced, but the ease of operation and development is reduced

Engineering Contradiction:
Improveoverall security architectureVSAvoidease of binary protection application
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The binary protection system is designed to be self-applying through automated build-time transformations. The protection mechanism services itself by automatically transforming the binary code and embedding security measures without requiring manual configuration or intervention during deployment. The system self-configures the security parameters and applies the appropriate transformations based on the binary being protected, reducing the burden on developers and operators.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2430584B1Interlocked binary protection using whitebox cryptography
Publication Date: 2019.11.13 IRDETO BV
  • EP2430584B1 patent drawingFigure 1
  • EP2430584B1 patent drawingFigure 2
  • EP2430584B1 patent drawingFigure 3

AI summary

A system and method for transforming a software application comprising binary code and optionally associated data, from an original form to a more secure form. The method includes performing a combination of binary transmutations to the application, and interlocking the transmutations by generating and placing interdependencies between the transmutations, wherein a transmutation is an irreversible change to the application. Different types of the transmutations are applied at varied granularities of the application. The transmutations are applied to the application code and the implanted code as well. The result is a transformed software application which is semantically equivalent to the original software application but is resistant to static and/or dynamic attacks.