On-the-fly Firmware Verification Circuitry for Boot Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Firmware is susceptible to time-of-check to time-of-use (TOCTOU) attacks, where malicious code can be injected between firmware measurement and execution, evading detection despite existing security measures.

Innovation Solution

Implementing firmware verification circuitry within the processing unit to make on-the-fly measurements of executed instructions, eliminating the window for malicious code injection by generating cryptographic measurements at the point of execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If firmware measurement is performed before execution, then security verification can be completed, but a time window exists for malicious code injection (TOCTOU attack)

Engineering Contradiction:
Improvefirmware authenticityVSAvoidvulnerability window
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by measuring the firmware in advance during the boot process before execution begins. The measurement is performed on the firmware image loaded into memory, creating a cryptographic hash value that is later compared against a stored reference value. This preliminary measurement establishes security verification before the vulnerable time window can be exploited.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism - a trusted measurement process that creates a cryptographic hash of the firmware and compares it against a reference value stored in secure memory. This intermediary verification layer acts as a mediator between the firmware loading process and execution, blocking malicious code injection by verifying integrity through the hash comparison before allowing execution to proceed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If extensive memory verification is performed, then firmware security is enhanced, but boot process time increases

Engineering Contradiction:
Improvefirmware securityVSAvoidboot speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the essential security verification function from extensive memory checking by focusing only on measuring the firmware image's cryptographic hash value. Instead of verifying every byte of memory or performing comprehensive scans, the system extracts just the critical measurement - computing a hash of the firmware image and comparing it to a reference value. This selective approach maintains security while dramatically reducing verification time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the verification parameter from extensive memory scanning to cryptographic hash computation. By transforming the verification task into computing and comparing hash values (such as SHA-256), the system achieves robust security verification with minimal processing time. The parameter change from byte-by-byte checking to hash-based verification maintains reliability while improving boot speed.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11698969B1Boot security of integrated circuit device
Publication Date: 2023.07.11 AMAZON TECH INC
  • US11698969B1 patent drawing
  • US11698969B1 patent drawing
  • US11698969B1 patent drawing

AI summary

Techniques for measuring firmware at the point and time of execution are described. Hardware logic can be implemented in a processing unit that is tasked with executing firmware code to make on-the-fly measurements of the instructions being executed by the processing unit. For example, an instruction register that stores instructions being executed by the processing unit can be monitored to obtain a set of instructions corresponding to the firmware being executed. Firmware verification circuitry can be implemented to compute a cryptographic measurement of the instructions being executed to verify the authenticity of the firmware.