Improper Protection against Electromagnetic Fault Injection (EM-FI)

Incomplete Base
Structure: Simple
Description

This vulnerability occurs when a hardware device lacks sufficient shielding against electromagnetic interference, allowing attackers to disrupt its internal operations. By inducing targeted electromagnetic pulses, an attacker can force the device to malfunction, potentially bypassing security checks or leaking sensitive data.

Extended Description

Electromagnetic Fault Injection (EM-FI) is a physical attack where an attacker uses a controlled electromagnetic pulse near a device's integrated circuit. This pulse induces unexpected currents in the chip's wiring, temporarily disrupting normal execution. This manipulation can force the hardware into an erroneous state, allowing an attacker to influence its behavior during critical security operations. Successful EM-FI attacks can have severe consequences, including bypassing secure boot or debug locks, altering program execution to skip authentication, leaking cryptographic keys or other secrets from memory, and corrupting the output of security-critical components like hardware random number generators. These faults are highly localized and precise, often requiring specialized equipment but posing a significant threat to devices accessible to an attacker with physical access.

Common Consequences 1
Scope: ConfidentialityIntegrityAccess ControlAvailability

Impact: Modify MemoryRead MemoryGain Privileges or Assume IdentityBypass Protection MechanismExecute Unauthorized Code or Commands

Potential Mitigations 1
Phase: Architecture and DesignImplementation
- 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.
Demonstrative Examples 1
In many devices, security related information is stored in fuses. These fuses are loaded into shadow registers at boot time. Disturbing this transfer phase with EM-FI can lead to the shadow registers storing erroneous values potentially resulting in reduced security.
Colin O'Flynn has demonstrated an attack scenario which uses electro-magnetic glitching during booting to bypass security and gain read access to flash, read and erase access to shadow memory area (where the private password is stored). Most devices in the MPC55xx and MPC56xx series that include the Boot Assist Module (BAM) (a serial or CAN bootloader mode) are susceptible to this attack. In this paper, a GM ECU was used as a real life target. While the success rate appears low (less than 2 percent), in practice a success can be found within 1-5 minutes once the EMFI tool is setup. In a practical scenario, the author showed that success can be achieved within 30-60 minutes from a cold start.
Observed Examples 1
CVE-2020-27211Chain: 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 (Improper Protection against Electromagnetic Fault Injection (EM-FI)) which leads to an incorrect initialization of the memory bus (Incorrect Initialization of Resource) causing the product to be in an unprotected state.
References 8
Secure Application Programming in the presence of Side Channel Attacks
Marc Witteman
2017
ID: REF-1141
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
2012
ID: REF-1142
Precise Spatio-Temporal Electromagnetic Fault Injections on Data Transfers
A. Menu, S. Bhasin, J. M. Dutertre, J. B. Rigaud, J. Danger
2019
ID: REF-1143
BAM BAM!! On Reliability of EMFI for in-situ Automotive ECU Attacks
Colin O'Flynn
ID: REF-1144
Design and Validation of a Platform for Electromagnetic Fault Injection
J. Balasch, D. Arumí, S. Manich
ID: REF-1145
Error control scheme for malicious and natural faults in cryptographic modules
M. Gay, B. Karp, O. Keren, I. Polian
2019
ID: REF-1146
Automatic Integration of Counter-Measures Against Fault Injection Attacks
M. L. Akkar, L. Goubin, O. Ly
ID: REF-1147
Physical Security Attacks Against Silicon Devices
Texas Instruments
31-01-2022
ID: REF-1285
Applicable Platforms
Languages:
Not Language-Specific : Undetermined
Technologies:
System on Chip : UndeterminedMicrocontroller Hardware : UndeterminedMemory Hardware : UndeterminedPower Management Hardware : UndeterminedProcessor Hardware : UndeterminedTest/Debug Hardware : UndeterminedSensor Hardware : Undetermined
Modes of Introduction
Architecture and Design
Implementation
Related Weaknesses
Notes
MaintenanceThis 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.