Run-time Execution Validator Processor Pipeline Signature Cache

Solution Overview

Problem

Existing systems fail to effectively validate program execution at runtime, particularly in untrusted environments, as they are vulnerable to code injection and control flow attacks, which can bypass traditional security mechanisms and compromise kernel integrity.

Innovation Solution

The Run-time Execution Validator (REV) mechanism integrates a signature cache into the processor pipeline to validate control flow paths and instructions dynamically, ensuring that only legitimate code executions occur by comparing cryptographic hashes with reference signatures stored in memory, without requiring binary modification or ISA extensions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If continuous runtime validation of program execution is implemented, then security against control flow attacks is improved, but system complexity increases

Engineering Contradiction:
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent embeds a validation unit within the processor pipeline that contains a signature cache and validation logic. This nested structure integrates security validation functionality inside the existing processor architecture without requiring external validation systems, thereby improving security while controlling system complexity through hierarchical integration.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent introduces a signature cache as an intermediary component that stores pre-computed cryptographic signatures of valid control flow paths. This intermediary enables efficient validation by comparing actual control flow against stored signatures without requiring complex real-time cryptographic computations, thus improving security while managing system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If runtime validation of all program executions is performed, then detection of code compromises is improved, but execution speed deteriorates

Engineering Contradiction:
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent pre-computes and stores cryptographic signatures of all valid control flow paths in the signature cache during system initialization or code loading. By performing this computationally intensive work beforehand, the actual runtime validation only requires simple comparison operations, thereby improving detection capability while minimizing impact on execution speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The validation unit operates continuously within the processor pipeline, validating control flow instructions as they are executed without interrupting the normal execution flow. This continuous validation approach detects compromises in real-time while maintaining steady execution throughput, as the validation occurs in parallel with instruction execution rather than as a separate blocking step.

Inventive Principle:
Principle #20Continuity of useful action

3Measurement precision

If cryptographic hash validation is performed for every control flow instruction, then integrity verification is improved, but computational overhead increases

Engineering Contradiction:
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent creates copies of cryptographic signatures and stores them in the signature cache for rapid comparison. Instead of performing full cryptographic hash computations for every control flow instruction, the system uses pre-computed signature copies that can be quickly matched against actual control flow, thereby improving integrity verification precision while significantly reducing computational overhead and energy consumption.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9767284B2Continuous run-time validation of program execution: a practical approach
Publication Date: 2017.09.19
  • US9767284B2 patent drawing
  • US9767284B2 patent drawing

AI summary

Trustworthy systems require that code be validated as genuine. Most systems implement this requirement prior to execution by matching a cryptographic hash of the binary file against a reference hash value, leaving the code vulnerable to run time compromises, such as code injection, return and jump-oriented programming, and illegal linking of the code to compromised library functions. The Run-time Execution Validator (REV) validates, as the program executes, the control flow path and instructions executed along the control flow path. REV uses a signature cache integrated into the processor pipeline to perform live validation of executions, at basic block boundaries, and ensures that changes to the program state are not made by the instructions within a basic block until the control flow path into the basic block and the instructions within the basic block are both validated.