Improper Protection against Electromagnetic Fault Injection (EM-FI)

Incomplete Base
Structure: Simple
Description

The device is susceptible to electromagnetic fault injection attacks, causing device internal information to be compromised or security mechanisms to be bypassed.

Extended Description

Electromagnetic fault injection may allow an attacker to locally and dynamically modify the signals (both internal and external) of an integrated circuit. EM-FI attacks consist of producing a local, transient magnetic field near the device, inducing current in the device wires. A typical EMFI setup is made up of a pulse injection circuit that generates a high current transient in an EMI coil, producing an abrupt magnetic pulse which couples to the target producing faults in the device, which can lead to: - Bypassing security mechanisms such as secure JTAG or Secure Boot - Leaking device information - Modifying program flow - Perturbing secure hardware modules (e.g. random number generators)

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.