CAPEC-681: Exploitation of Improperly Controlled Hardware Security Identifiers
An adversary takes advantage of missing or incorrectly configured security identifiers (e.g., tokens), which are used for access control within a System-on-Chip (SoC), to read/write data or execute a given action.
Last updated
Overview
A System-on-Chip (SoC) often implements a security identifier mechanism to differentiate what actions are allowed or disallowed when a transaction originates from an entity. However, these mechanisms may be exploitable due to any number of the following: The security identifiers are missing The security identifiers are incorrectly implemented or generated The security identifiers are generated with an obsolete encoding The security identifiers are generated and implemented correctly, but are improperly protected If the security identifiers leveraged by the SoC are missing or misconfigured, an adversary may be able to take advantage of this shortcoming to circumvent the intended access controls. This could result in the adversary gaining unintended access, performing a Denial of Service (DoS), escalating privileges, or spoofing actions from a trusted agent.
What the attacker needs
Prerequisites
- Awareness of the hardware being leveraged.
- Access to the hardware being leveraged.
Skills required
- Medium skill: Ability to execute actions within the SoC.
- High skill: Intricate knowledge of the identifiers being utilized.
Consequences
What a successful CAPEC-681 attack can achieve.
Modify Data
Affects: Integrity
Read Data
Affects: Confidentiality
Gain Privileges
Affects: Confidentiality, Access Control, Authorization
How to mitigate it
Defenses that reduce the risk of CAPEC-681.
- Review generation of security identifiers for design inconsistencies and common weaknesses.
- Review security identifier decoders for design inconsistencies and common weaknesses.
- Test security identifier definition, access, and programming flow in both pre-silicon and post-silicon environments.
Examples
A system contains a register (divided into four 32-bit registers) that is used to store a 128-bit AES key for encryption/decryption, in addition to an access-policy register. The access-policy register determines which agents may access the AES-key registers, based on a corresponding security identifier. It is assumed the system has two agents: a Main-controller and an Aux-controller, with respective security identifiers "1" and "2". The Main-controller (ID "1") is meant to have access to the AES-key registers, while the Aux-controller (ID "2") has access to the access-policy register. If a SoC incorrectly generates security identifier "1" for both agents, then both agents will have access to the AES-key registers. This could further result in a Denial-of-Service (DoS) or the execution of an action that in turn could result in privilege escalation or unintended access.
Frequently asked questions
Common questions about CAPEC-681.
- What is CAPEC-681?
- An adversary takes advantage of missing or incorrectly configured security identifiers (e.g., tokens), which are used for access control within a System-on-Chip (SoC), to read/write data or execute a given action.
- How do you prevent CAPEC-681?
- Review generation of security identifiers for design inconsistencies and common weaknesses.
- What weaknesses does CAPEC-681 target?
- CAPEC-681 exploits 5 CWE weaknesses, including CWE-1259 (Improper Restriction of Security Token Assignment), CWE-1267 (Policy Uses Obsolete Encoding), CWE-1270 (Generation of Incorrect Security Tokens), CWE-1294 (Insecure Security Identifier Mechanism).
- How severe is CAPEC-681?
- MITRE rates CAPEC-681 as Very High severity with medium likelihood of attack.
References
Attack-pattern data is sourced from the MITRE CAPEC catalog (v3.9). Weakness associations link to the corresponding CWE entries on RadicalNotion.AI.
Defend against CAPEC-681
Track the CVEs and weaknesses this technique exploits, with AI-written analysis and remediation steps.