故障注入
故障注入 是什么?
故障注入通过物理或逻辑手段在硬件或软件中故意制造异常条件,以绕过安全检查或泄露机密信息的一类攻击。
故障注入通过电压毛刺、时钟操纵、电磁脉冲(EMFI)或对开封裸片的聚焦激光,故意将系统推出其正常工作范围,使其在特定时刻跳过某一条指令或翻转某个内存位。攻击者把这种受控错误转化为安全失效:绕过判断(跳过 PIN 校验或安全启动的签名验证),或破坏密码运算。在 1997 年 Boneh、DeMillo 与 Lipton 针对 RSA-CRT 提出的差分故障分析中,将正确签名与故障签名进行比较即可揭示私钥;同样的思路只需几次故障加密便能攻破 AES。
制造故障已不再局限于物理手段。CLKSCREW(2017)与 VoltJockey 滥用 CPU 自身的电源管理寄存器,从软件层面攻击 ARM TrustZone;英特尔的 Plundervolt(CVE-2019-11157,2019)从 ring 0 降低核心电压以破坏 SGX 运算,直到英特尔通过微码禁用该接口。wallet.fail 研究(35C3,2018)对 Trezor 和 Ledger 设备实施毛刺攻击以获取所存储的机密。Rowhammer 则表明,即便是普通的内存访问也可能诱发故障。
防御措施包括冗余或随机化计算、故障检测传感器、电压与时钟监测、ECC 内存,以及对每个安全分支进行二次校验的防御性代码。
flowchart TD
A[可接触设备的攻击者] --> B{故障向量}
B -->|电压 / 降压| C[VCC 骤降或尖峰]
B -->|时钟毛刺| D[超频脉冲]
B -->|EMFI / 激光| E[裸片上的局部脉冲]
C --> F[指令被跳过或位翻转]
D --> F
E --> F
F --> G{被利用的效果}
G -->|跳过检查| H[绕过 PIN / 安全启动]
G -->|破坏密码运算| I[故障分析泄露密钥]
H --> J[系统被攻陷]
I --> J● 示例
- 01
对智能卡注入电压毛刺,跳过 PIN 校验分支。
- 02
对 AES 实施差分故障分析,从损坏的密文中恢复密钥。
● 常见问题
故障注入 是什么?
通过物理或逻辑手段在硬件或软件中故意制造异常条件,以绕过安全检查或泄露机密信息的一类攻击。 它属于网络安全的 漏洞 分类。
故障注入 是什么意思?
通过物理或逻辑手段在硬件或软件中故意制造异常条件,以绕过安全检查或泄露机密信息的一类攻击。
如何防御 故障注入?
针对 故障注入 的防御通常结合技术控制与运营实践,详见上方完整定义。
故障注入 还有哪些其他名称?
常见的别称包括: 毛刺攻击, 故障攻击。