Byte-Pattern Code Integrity Checks Embedded in Program Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional code integrity solutions are vulnerable to attacks due to their static nature, leading to inefficiencies, performance overhead, and ineffective protection, especially in large-scale systems, as attackers can predict and bypass integrity checks.

Innovation Solution

A dynamic code integrity solution that entangles the byte-pattern of target instructions with computations at selected check locations, integrating integrity checks into the program's logic, reducing computational overhead and obfuscating protection mechanisms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If static signatures or hardcoded markers are used for code integrity verification, then the verification mechanism is simple to implement, but the system becomes predictable and vulnerable to attacks

Engineering Contradiction:
Improveease of implementationVSAvoidsecurity robustness
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent transforms static code integrity verification into a dynamic system by computing integrity values at runtime based on actual code execution states. Instead of using fixed signatures, the system calculates integrity metrics dynamically during program execution, making the verification process adaptive and unpredictable to attackers.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of integrity verification from static hash values to dynamic computed values that vary based on execution context. This parameter transformation allows the system to maintain security robustness while keeping the implementation complexity manageable through algorithmic computation rather than static embedding.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If integrity checks are performed at all code locations, then comprehensive protection is achieved, but performance overhead increases significantly

Engineering Contradiction:
Improveprotection coverageVSAvoidexecution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies different verification intensities to different code regions based on their security criticality. High-risk areas receive more frequent or stringent checks, while low-risk areas use lighter verification, optimizing the balance between protection coverage and execution performance.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements selective integrity verification at strategically chosen locations rather than exhaustive checking throughout the entire codebase. This partial action approach achieves sufficient protection coverage while minimizing performance overhead by focusing resources on critical verification points.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If multiple integrity checks are distributed throughout the program, then coverage is improved, but the complexity of maintaining robust protection increases

Engineering Contradiction:
Improveprotection coverageVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a universal integrity verification mechanism that can be applied consistently across different code locations and contexts. This multi-functional approach uses the same core verification logic adapted to various scenarios, reducing maintenance complexity compared to location-specific verification implementations.

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

Solution Approach 2:

The patent divides the codebase into segments or regions with similar verification requirements, allowing standardized integrity checks to be applied to each segment. This segmentation reduces overall system complexity by creating modular, reusable verification patterns rather than unique checks for every location.

Inventive Principle:
Principle #1Segmentation

4Reliability

If comprehensive integrity checks are performed on all code, then complete verification is achieved, but unnecessary resources are wasted on non-critical code

Engineering Contradiction:
Improveverification completenessVSAvoidcomputational resource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent applies differentiated verification strategies to different code regions based on their security importance. Critical code sections receive thorough integrity verification, while non-critical sections use simplified or skipped checks, eliminating waste of computational resources on low-value verification.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs integrity verification selectively on essential code portions rather than universally across all code. This partial action approach achieves sufficient verification completeness for security-critical areas while avoiding unnecessary computational expenditure on non-essential code.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12493541B1Lightweight code integrity solution with byte-pattern entanglement in program code
Publication Date: 2025.12.09 ZIMPERIUM INC
  • US12493541B1 patent drawing
  • US12493541B1 patent drawing
  • US12493541B1 patent drawing

AI summary

A system and a method are disclosed for providing a lightweight code integrity solution. The system identifies one or more target code blocks in program code and determines one or more locations in the program code where an integrity check is to be embedded to verify the integrity of the code block. The system may determine an integer value associated with a byte-pattern of machine-code instructions in the code blocks and generates the integrity check by entangling the integer value into one or more computations of the program code. The system embeds the integrity check at the determined location in the program code.