COMMON WEAKNESS ENUMERATIONDraft

CWE-1326

Missing Immutable Root of Trust in Hardware

A missing immutable root of trust in the hardware results in the ability to bypass secure boot or execute untrusted or adversarial boot code.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

A missing immutable root of trust in the hardware results in the ability to bypass secure boot or execute untrusted or adversarial boot code.

Extended description

A System-on-Chip (SoC) implements secure boot by verifying or authenticating signed boot code. The signing of the code is achieved by an entity that the SoC trusts. Before executing the boot code, the SoC verifies that the code or the public key with which the code has been signed has not been tampered with. The other data upon which the SoC depends are system-hardware settings in fuses such as whether "Secure Boot is enabled". These data play a crucial role in establishing a Root of Trust (RoT) to execute secure-boot flows. One of the many ways RoT is achieved is by storing the code and data in memory or fuses. This memory should be immutable, i.e., once the RoT is programmed/provisioned in memory, that memory should be locked and prevented from further programming or writes. If the memory contents (i.e., RoT) are mutable, then an adversary can modify the RoT to execute their choice of code, resulting in a compromised secure boot. Note that, for components like ROM, secure patching/update features should be supported to allow authenticated and authorized updates in the field.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

Lifecycle phase

Implementation

Such issues could be introduced during policy definition, hardware architecture, design, manufacturing, and/or provisioning. They can be identified later during testing or system configuration phases.

Risk

What does successful exploitation lead to?

Gain Privileges or Assume IdentityExecute Unauthorized Code or CommandsModify Memory

Affected security scopes: Authentication, Authorization

Defence

How is it prevented and fixed?

Architecture and Design

Architecture and design approach

Detail
When architecting the system, the RoT should be designated for storage in a memory that does not allow further programming/writes.

Implementation

Implementation-phase defence

Detail
During implementation and test, the RoT memory location should be demonstrated to not allow further programming/writes.

Verification

How is it detected?

Automated Dynamic Analysis

High
Automated testing can verify that RoT components are immutable.

Architecture or Design Review

High
Root of trust elements and memory should be part of architecture and design reviews.
CWE-1326: Common Weakness Enumeration Entry CWE-1326 · DayBreach Sözlük · DayBreach