Modes Of Introduction
Architecture and Design
Implementation
Applicable Platforms
Language
Class: Not Language-Specific (Undetermined)
Operating Systems
Class: Not OS-Specific (Undetermined)
Architectures
Class: Not Architecture-Specific (Undetermined)
Technologies
Class: System on Chip (Undetermined)
Name: Microcontroller Hardware (Undetermined)
Name: Memory Hardware (Undetermined)
Name: Power Management Hardware (Undetermined)
Name: Processor Hardware (Undetermined)
Name: Test/Debug Hardware (Undetermined)
Name: Sensor Hardware (Undetermined)
Common Consequences
Scope |
Impact |
Likelihood |
Confidentiality Integrity Access Control Availability | Modify Memory, Read Memory, Gain Privileges or Assume Identity, Bypass Protection Mechanism, Execute Unauthorized Code or Commands | |
Observed Examples
References |
Description |
| Chain: microcontroller system-on-chip uses a register value stored in flash to set product protection state on the memory bus and does not contain protection against fault injection (CWE-1319) which leads to an incorrect initialization of the memory bus (CWE-1419) causing the product to be in an unprotected state. |
Potential Mitigations
Phases : Architecture and Design // Implementation
- 1. Redundancy - By replicating critical operations and comparing the two outputs can help indicate whether a fault has been injected.
- 2. Error detection and correction codes - Gay, Mael, et al. proposed a new scheme that not only detects faults injected by a malicious adversary but also automatically corrects single nibble/byte errors introduced by low-multiplicity faults.
- 3. Fail by default coding - When checking conditions (switch or if) check all possible cases and fail by default because the default case in a switch (or the else part of a cascaded if-else-if construct) is used for dealing with the last possible (and valid) value without checking. This is prone to fault injection because this alternative is easily selected as a result of potential data manipulation [REF-1141].
- 4. Random Behavior - adding random delays before critical operations, so that timing is not predictable.
- 5. Program Flow Integrity Protection - The program flow can be secured by integrating run-time checking aiming at detecting control flow inconsistencies. One such example is tagging the source code to indicate the points not to be bypassed [REF-1147].
- 6. Sensors - Usage of sensors can detect variations in voltage and current.
- 7. Shields - physical barriers to protect the chips from malicious manipulation.
Vulnerability Mapping Notes
Justification : This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.
Comment : Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Related Attack Patterns
CAPEC-ID |
Attack Pattern Name |
CAPEC-624 |
Hardware Fault Injection The adversary uses disruptive signals or events, or alters the physical environment a device operates in, to cause faulty behavior in electronic devices. This can include electromagnetic pulses, laser pulses, clock glitches, ambient temperature extremes, and more. When performed in a controlled manner on devices performing cryptographic operations, this faulty behavior can be exploited to derive secret key information. |
CAPEC-625 |
Mobile Device Fault Injection Fault injection attacks against mobile devices use disruptive signals or events (e.g. electromagnetic pulses, laser pulses, clock glitches, etc.) to cause faulty behavior. When performed in a controlled manner on devices performing cryptographic operations, this faulty behavior can be exploited to derive secret key information. Although this attack usually requires physical control of the mobile device, it is non-destructive, and the device can be used after the attack without any indication that secret keys were compromised. |
NotesNotes
This entry is attack-oriented and may require significant modification in future versions, or even deprecation. It is not clear whether there is really a design "mistake" that enables such attacks, so this is not necessarily a weakness and may be more appropriate for CAPEC.
References
REF-1141
Secure Application Programming in the presence of Side Channel Attacks
Marc Witteman.
https://riscureprodstorage.blob.core.windows.net/production/2017/08/Riscure_Whitepaper_Side_Channel_Patterns.pdf REF-1142
Injection of transient faults using electromagnetic pulses. Practical results on a cryptographic system
A. Dehbaoui, J. M. Dutertre, B. Robisson, P. Orsatelli, P. Maurine, A. Tria.
https://eprint.iacr.org/2012/123.pdf REF-1143
Precise Spatio-Temporal Electromagnetic Fault Injections on Data Transfers
A. Menu, S. Bhasin, J. M. Dutertre, J. B. Rigaud, J. Danger.
https://hal.telecom-paris.fr/hal-02338456/document REF-1144
BAM BAM!! On Reliability of EMFI for in-situ Automotive ECU Attacks
Colin O'Flynn.
https://eprint.iacr.org/2020/937.pdf REF-1145
Design and Validation of a Platform for Electromagnetic Fault Injection
J. Balasch, D. Arumí, S. Manich.
https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8311630 REF-1146
Error control scheme for malicious and natural faults in cryptographic modules
M. Gay, B. Karp, O. Keren, I. Polian.
https://link.springer.com/content/pdf/10.1007/s13389-020-00234-7.pdf REF-1147
Automatic Integration of Counter-Measures Against Fault Injection Attacks
M. L. Akkar, L. Goubin, O. Ly.
https://www.labri.fr/perso/ly/publications/cfed.pdf REF-1285
Physical Security Attacks Against Silicon Devices
Texas Instruments.
https://www.ti.com/lit/an/swra739/swra739.pdf?ts=1644234570420
Submission
Name |
Organization |
Date |
Date release |
Version |
Sebastien Leger, Rohini Narasipur |
Bosch |
2020-08-27 +00:00 |
2020-12-10 +00:00 |
4.3 |
Modifications
Name |
Organization |
Date |
Comment |
CWE Content Team |
MITRE |
2022-04-28 +00:00 |
updated Applicable_Platforms |
CWE Content Team |
MITRE |
2022-06-28 +00:00 |
updated Applicable_Platforms, Relationships |
CWE Content Team |
MITRE |
2022-10-13 +00:00 |
updated Potential_Mitigations, References, Relationships |
CWE Content Team |
MITRE |
2023-01-31 +00:00 |
updated Related_Attack_Patterns |
CWE Content Team |
MITRE |
2023-04-27 +00:00 |
updated References, Relationships |
CWE Content Team |
MITRE |
2023-06-29 +00:00 |
updated Mapping_Notes |
CWE Content Team |
MITRE |
2023-10-26 +00:00 |
updated Observed_Examples |