Steganographic Executable Authentication via Call Graph Invariants

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cybersecurity methods fail to protect executable software from unauthorized modification or execution during runtime, as encryption and code signatures are removed prior to execution and do not effectively prevent the execution of foreign or malicious code.

Innovation Solution

A steganographic method that encodes information by determining a call graph of an executable entity, identifying invariant sequences, and associating them with ordered information segments, creating a credential for authentication, ensuring that the obscured information is executed in a predetermined order to maintain integrity and detect unauthorized modifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If encryption and code signatures are used to protect executable software, then security during transport and storage is improved, but these protections are removed prior to execution and cannot protect the executable during actual execution

Engineering Contradiction:
Improvesecurity protectionVSAvoidprotection duration
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent embeds security credentials and invariant sequences into the executable code during compilation, preparing protection mechanisms in advance that remain active throughout execution. The call graph is analyzed and credentials are embedded beforehand, so protection is already in place when execution begins, rather than being applied and then removed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The executable code performs self-verification during execution by using its embedded credentials to authenticate itself and verify its own integrity. The invariant sequences are executed as part of the normal code flow, allowing the program to self-monitor and self-protect without external intervention throughout its runtime.

Inventive Principle:
Principle #25Self-service

2Reliability

If steganographic techniques embed signatures in digital media, then intellectual property protection is improved, but the techniques do not draw attention and therefore cannot prevent execution of malicious code

Engineering Contradiction:
Improveintellectual property protectionVSAvoidmalicious code execution
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent merges the steganographic credential embedding with the executable code structure itself. Rather than separately embedding signatures in media files, the credentials are integrated into the code's call graph and invariant sequences, combining protection with functionality. The credentials become part of the code's natural execution flow rather than external additions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements feedback mechanisms where the embedded credentials continuously verify code integrity during execution. The invariant sequences provide ongoing feedback about the code's state, allowing real-time detection of tampering or malicious modifications rather than just post-hoc verification.

Inventive Principle:
Principle #23Feedback

3Reliability

If code authentication is performed during execution, then protection against foreign code is improved, but the authentication process may slow down execution speed

Engineering Contradiction:
Improvecode authenticationVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent makes authentication continuous by integrating verification into the normal execution flow through invariant sequences. Rather than performing separate authentication steps that interrupt execution, the verification happens continuously as part of the code's natural operation, maintaining both security and performance.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent uses selective verification of invariant sequences rather than authenticating every single instruction. By focusing on key invariant points in the execution flow, the system achieves adequate authentication without the overhead of verifying every operation, balancing security with performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9892661B2Steganographic embedding of hidden payload
Publication Date: 2018.02.13 DIGITAL IMMUNITY LLC
  • US9892661B2 patent drawing
  • US9892661B2 patent drawing
  • US9892661B2 patent drawing

AI summary

A method for digital immunity includes identifying a call graph of an executable entity, and mapping nodes of the call graph to a cipher table of obscured information, such that each node based on invariants in the executable entity. A cipher table maintains associations between the invariants and the obscured information. Construction of an obscured information item, such as a executable set of instructions or a program, involves extracting, from the cipher table, ordered portions of the obscured information, in which the ordered portions have a sequence based on the ordering of the invariants, and ensuring that the obscured information matches a predetermined ordering corresponding to acceptable operation, such as by execution of the instructions represented by the obscured information, or steganographic target program (to distinguish from the executable entity being evaluated). The unmodified nature of the executable entity is assured by successful execution of the steganographic target program.