2173
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.
Relationships
The table(s) below shows the weaknesses and high level categories that are related to this
weakness. These relationships are defined as ChildOf, ParentOf, MemberOr and give insight to
similar items that may exist at higher and lower levels of abstraction. In addition, relationships such
as PeerOf and CanAlsoBe are defined to show similar weaknesses that may want to be explored.
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name Page
ChildOf 1294 Insecure Security Identifier Mechanism 2150
Applicable Platforms
Language : Not Language-Specific (Prevalence = Undetermined)
Operating_System : Not OS-Specific (Prevalence = Undetermined)
Architecture : Not Architecture-Specific (Prevalence = Undetermined)
Technology : Not Technology-Specific (Prevalence = Undetermined)
Common Consequences
Scope Impact Likelihood
Confidentiality
Integrity
Availability
Access Control
Modify Memory
Read Memory
DoS: Crash, Exit, or Restart
Bypass Protection Mechanism
Execute Unauthorized Code or Commands
High
Potential Mitigations
Phase: Architecture and Design
Transaction details must be reviewed for design inconsistency and common weaknesses.
Phase: Implementation
Security identifier definition and programming flow must be tested in pre-silicon and post-silicon
testing.
Demonstrative Examples
Example 1:
Consider a system with a register for storing AES key for encryption or decryption. The key is of
128 bits implemented as a set of four 32-bit registers. The key registers are assets, and the register
AES_KEY_ACCESS_POLICY is defined to provide the necessary access controls.
CWE Version 4.14
CWE-1303: Non-Transparent Sharing of Microarchitectural Resources
CWE-1303: Non-Transparent Sharing of Microarchitectural Resources