CWE-1332: Improper Handling of Faults that Lead to Instruction Skips
CWE版本: 4.18
更新日期: 2025-09-09
弱点描述
The device is missing or incorrectly implements circuitry or sensors that detect and mitigate the skipping of security-critical CPU instructions when they occur.
常见后果
影响范围: Confidentiality Integrity Authentication
技术影响: Bypass Protection Mechanism Alter Execution Logic Unexpected State
说明: Depending on the context, instruction skipping can have a broad range of consequences related to the generic bypassing of security critical code.
潜在缓解措施
阶段: Architecture and Design
描述: Design strategies for ensuring safe failure if inputs, such as Vcc, are modified out of acceptable ranges.
阶段: Architecture and Design
描述: Design strategies for ensuring safe behavior if instructions attempt to be skipped.
阶段: Architecture and Design
描述: Identify mission critical secrets that should be wiped if faulting is detected, and design a mechanism to do the deletion.
阶段: Implementation
描述: Add redundancy by performing an operation multiple times, either in space or time, and perform majority voting. Additionally, make conditional instruction timing unpredictable.
阶段: Implementation
描述: Use redundant operations or canaries to detect and respond to faults.
阶段: Implementation
描述: 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.
检测方法
方法: Automated Static Analysis
This weakness can be found using automated static analysis once a developer has indicated which code paths are critical to protect.
有效性: Moderate
方法: Simulation / Emulation
This weakness can be found using automated dynamic analysis. Both emulation of a CPU with instruction skips, as well as RTL simulation of a CPU IP, can indicate parts of the code that are sensitive to faults due to instruction skips.
有效性: Moderate
方法: Manual Analysis
This weakness can be found using manual (static) analysis. The analyst has security objectives that are matched against the high-level code. This method is less precise than emulation, especially if the analysis is done at the higher level language rather than at assembly level.
有效性: Moderate
观察示例
参考: CVE-2019-15894
fault injection attack bypasses the verification mode, potentially allowing arbitrary code execution.
引入模式
| 阶段 | 说明 |
|---|---|
| Architecture and Design | Failure to design appropriate countermeasures to common fault injection techniques can manifest this weakness. |
| Implementation | This weakness can arise if the hardware design incorrectly implements countermeasures to prevent fault injection. |