COMMON WEAKNESS ENUMERATIONIncomplete

CWE-1302

Missing Source Identifier in Entity Transactions on a System-On-Chip (SOC)

The product implements a security identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. A transaction is sent without a security identifier.

Abstraction

Base

Structure

Simple

Likelihood of Exploit

Medium

Understand the problem

What is the problem?

The product implements a security identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. A transaction is sent without a security identifier.

Extended description

In a System-On-Chip (SoC), various integrated circuits and hardware engines generate transactions such as to access (reads/writes) assets or perform certain actions (e.g., reset, fetch, compute). A typical transaction is comprised of source identity (to identify the originator of the transaction) and a destination identity (to route the transaction to the respective entity) in addition to much more information in the message. Sometimes the transactions are qualified with a Security Identifier. This Security Identifier helps the destination agent decide on the set of allowed or disallowed actions. A weakness that can exist in such transaction schemes is that the source agent does not consistently include the necessary Security Identifier with the transaction. If the Security Identifier is missing, the destination agent might drop the message (resulting in an inadvertent Denial-of-Service (DoS)) or take inappropriate action by default in its attempt to execute the transaction, resulting in privilege escalation or provision of unintended access.

Root cause

How and when does the problem arise?

Lifecycle phase

Architecture and Design

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

Lifecycle phase

Implementation

Such issues could be introduced during implementation and identified later during Testing or System Configuration phases.

Risk

What does successful exploitation lead to?

Modify MemoryRead MemoryDoS: Crash, Exit, or RestartBypass Protection MechanismExecute Unauthorized Code or Commands

Affected security scopes: Confidentiality, Integrity, Availability, Access Control

Defence

How is it prevented and fixed?

Architecture and Design

Architecture and design approach

Detail
Transaction details must be reviewed for design inconsistency and common weaknesses.

Implementation

Implementation-phase defence

Detail
Security identifier definition and programming flow must be tested in pre-silicon and post-silicon testing.