2094
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
Modify Files or Directories
Read Files or Directories
DoS: Resource Consumption (Other)
Execute Unauthorized Code or Commands
Gain Privileges or Assume Identity
Bypass Protection Mechanism
Reduce Reliability
High
Potential Mitigations
Phase: Architecture and Design
Phase: Implementation
Security Token Decoders should be reviewed for design inconsistency and common
weaknesses. Access and programming flows should be tested in both pre-silicon and post-silicon
testing.
Effectiveness = High
Demonstrative Examples
Example 1:
For example, consider a system that has four bus masters. The table below provides bus masters,
their Security Tokens, and trust assumptions.
The policy encoding is to be defined such that Security Token will be used in implemented
access-controls. The bits in the bus transaction that contain Security-Token information are
Bus_transaction [15:11]. The assets are the AES-Key registers for encryption or decryption. The
key of 128 bits is implemented as a set of four, 32-bit registers.
Below is an example of a policy encoding scheme inherited from a previous project where all
"ODD" numbered Security Tokens are trusted.
Example Language: (Bad)
If (Bus_transaction[14] == "1")
Trusted = "1"
Else
Trusted = "0"
If (trusted)
Allow access to AES-Key registers
Else
Deny access to AES-Key registers
The inherited policy encoding is obsolete and does not work for the new system where an
untrusted bus master with an odd Security Token exists in the system, i.e., Master_3 whose
Security Token is "11". Based on the old policy, the untrusted bus master (Master_3) has access to
CWE Version 4.14
CWE-1268: Policy Privileges are not Assigned Consistently Between Control and Data Agents
CWE-1268: Policy Privileges are not Assigned
Consistently Between Control and Data Agents