CWE-1332
Improper Handling of Faults that Lead to Instruction Skips
The device is missing or incorrectly implements circuitry or sensors that detect and mitigate the skipping of security-critical CPU instructions when they occur.
Mitigation
Phase: Architecture and Design
Description:
- Design strategies for ensuring safe failure if inputs, such as Vcc, are modified out of acceptable ranges.
Mitigation
Phase: Architecture and Design
Description:
- Design strategies for ensuring safe behavior if instructions attempt to be skipped.
Mitigation
Phase: Architecture and Design
Description:
- Identify mission critical secrets that should be wiped if faulting is detected, and design a mechanism to do the deletion.
Mitigation
Phase: Implementation
Description:
- Add redundancy by performing an operation multiple times, either in space or time, and perform majority voting. Additionally, make conditional instruction timing unpredictable.
Mitigation
Phase: Implementation
Description:
- Use redundant operations or canaries to detect and respond to faults.
Mitigation
Phase: Implementation
Description:
- Ensure that fault mitigations are strong enough in practice. For example, a low power detection mechanism that takes 50 clock cycles to trigger at lower voltages may be an insufficient security mechanism if the instruction counter has already progressed with no other CPU activity occurring.
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.