Automated Fault Injection Testing for Processor Vulnerability Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to computer testing do not effectively address external influences such as electromagnetic pulses, voltage spikes, or magnetic fields that can cause temporary and unpredictable errors in electronic circuits, leading to erroneous results, as they focus primarily on intrinsic program integrity and lack methods for identifying and mitigating probabilistic, time-fleeting external disruptions.

Innovation Solution

An automated fault injection testing and analysis method that systematically introduces controlled electromagnetic or voltage disturbances at specific locations and times within a processor's instruction sequence to quantify susceptibility and identify vulnerabilities, using a machine learning model to determine optimal injection parameters for repeatable and predictable deviant results.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional testing approaches focus on intrinsic program integrity, then program correctness is verified, but external fault injections such as electromagnetic pulses and voltage spikes cannot be detected

Engineering Contradiction:
Improveprogram correctnessVSAvoidexternal fault injection susceptibility
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary anti-action by proactively introducing fault injections before actual attacks or failures occur. The system pre-characterizes processor vulnerabilities by injecting electromagnetic pulses, voltage spikes, and other external disturbances during testing, thereby identifying susceptible instructions and locations in advance. This allows the system to establish a baseline of vulnerability that can be used for future protection and hardening.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The patent implements preliminary action by performing comprehensive fault injection testing and characterization before deployment. The system executes test programs that systematically inject faults at various processor locations and times, accumulating data about vulnerability patterns. This preliminary characterization enables the creation of vulnerability profiles that can guide subsequent security measures and processor hardening efforts.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If automated fault injection testing is implemented, then external vulnerability identification is improved, but testing complexity and infrastructure requirements increase

Engineering Contradiction:
Improvevulnerability identification accuracyVSAvoidtesting apparatus complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a testing apparatus that can perform multiple types of fault injections through a single integrated system. The fault injection device can generate electromagnetic pulses, voltage spikes, and other disturbances using the same basic infrastructure. The test program framework is also universal, capable of testing different processor architectures and instruction sets by loading appropriate test programs, thereby reducing the need for separate specialized testing equipment for each scenario.

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

Solution Approach 2:

The patent uses an intermediary approach by introducing a software layer (test program) that mediates between the fault injection hardware and the processor under test. The test program manages the complexity of coordinating fault injections with instruction execution, handles timing synchronization, and processes results. This software intermediary simplifies the hardware requirements and makes the overall system more manageable and reproducible.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If fault injection timing is precisely controlled to match instruction execution, then repeatable deviant results are achieved, but measurement and timing precision requirements increase

Engineering Contradiction:
Improveinjection result repeatabilityVSAvoidinjection timing precision
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent implements feedback by using the processor's own instruction execution timing and status to trigger and synchronize fault injections. The test program monitors instruction execution progress and uses this feedback to determine the optimal moment to inject faults. This feedback mechanism ensures that injections occur at precise moments relative to instruction execution, achieving repeatable results without requiring external high-precision timing equipment. The system essentially uses the processor's own operational state as the timing reference.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action by pre-calculating and storing timing information for fault injections based on known instruction execution characteristics. The test program includes预先 determined timing parameters that align fault injections with specific instruction boundaries or critical processing moments. This preliminary timing preparation enables precise synchronization without requiring real-time high-precision measurement during actual injection, thereby achieving repeatability with manageable precision requirements.

Inventive Principle:
Principle #10Preliminary action

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach provides a repeatable and automated testing method to identify and quantify the effects of external fault injections, enhancing system security by pinpointing vulnerabilities and improving resilience against external disruptions, thereby ensuring predictable and reliable processor behavior.

Implementation Method 1

A fault injection such as a voltage or electromagnetic pulse directed at predetermined locations on a processor (Central Processing Unit, or CPU) alters a result of a processor instruction to change values or execution paths

Methodology Applied
Scientific EffectElectromagnetic pulse injection: Electromagnetic Induction

Data Source

PatentUS12135635B1Automated fault injection testing
Publication Date: 2024.11.05 TWO SIX LABS LLC
  • US12135635B1 patent drawing
  • US12135635B1 patent drawing
  • US12135635B1 patent drawing

AI summary

An automated fault injection testing and analysis approach drives fault injection into a processor driven instruction sequence to quantify and define susceptibility to external fault injections for manipulating instruction execution and control flow of a set of computer instructions. A fault injection such as a voltage or electromagnetic pulse directed at predetermined locations on a processor (Central Processing Unit, or CPU) alters a result of a processor instruction to change values or execution paths. One or more quantified injections define an injection chain that causes a predictable or repeatable deviant result from an expected execution path through the code executed by the processor. Based on accumulation of fault injections and results, a repeatable injection chain and probability identifies an external action taken on a processing device to cause unexpected results that differ from an expected execution of a program or set of computer instructions.