COMMON WEAKNESS ENUMERATIONIncomplete

CWE-1283

Mutable Attestation or Measurement Reporting Data

The register contents used for attestation or measurement reporting data to verify boot flow are modifiable by an adversary.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

The register contents used for attestation or measurement reporting data to verify boot flow are modifiable by an adversary.

Extended description

A System-on-Chip (SoC) implements secure boot or verified boot. During this boot flow, the SoC often measures the code that it authenticates. The measurement is usually done by calculating the one-way hash of the code binary and extending it to the previous hash. The hashing algorithm should be a Secure One-Way hash function. The final hash, i.e., the value obtained after the completion of the boot flow, serves as the measurement data used in reporting or in attestation. The calculated hash is often stored in registers that can later be read by the party of interest to determine tampering of the boot flow. A common weakness is that the contents in these registers are modifiable by an adversary, thus spoofing the measurement.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

Such issues can be introduced during hardware architecture or design and can be identified later during Testing or System Configuration phases.

Lifecycle phase

Implementation

If the access-controls which protecting the reporting registers are misconfigured during implementation, this weakness can arise.

Risk

What does successful exploitation lead to?

Read MemoryRead Application Data

Affected security scopes: Confidentiality

Defence

How is it prevented and fixed?

Architecture and Design

Architecture and design approach

Detail
Measurement data should be stored in registers that are read-only or otherwise have access controls that prevent modification by an untrusted agent.