Backslash Vulnerability Database Improper Protection against Electromagnetic Fault Injection (EM-FI)
Improper Protection against Electromagnetic Fault Injection (EM-FI)
CWE-1319
CVSS severity (NVD, All Time)
Short 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
- 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)
Best practices to prevent this CWE
Phase: 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.
- 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.
- 6. Sensors - Usage of sensors can detect variations in voltage and current.
- 7. Shields - physical barriers to protect the chips from malicious manipulation.