0背景
ChipSHOUTER是 Colin 在NewAE Technology设计的高端电磁故障注入 (EMFI) 工具。它虽然不是第一个商业上可用的 EMFI 工具,却是第一个比较容易买到的工具,尽管其具备大量的开放文档,但高昂的价格仍然让很多人望而却步。
PicoEMP 填补了ChipSHOUTER 在低端领域留下的空白,是相较于 ChipSHOUTER 工具的一个稍微温和的版本。该工具的设计优化集中在:安全性、成本、可用性、性能,这四个方面。尽管降低了成本,但效果却出奇地好。
借助 PicoEMP ,任何人都可以使用电磁脉冲诱发可利用的硬件故障。
在安全防护罩下面是这样的:
不过,它也不是作为一个完整的产品出售,在制作和控制它的情况下使用PicoEMP需完全了解其操作和风险。
1介绍
-
PWM 输出驱动高压变压器。 -
脉冲引脚产生脉冲。 -
用于监控高压(HV) 状态的状态引脚。
2使用
PicoEMP 的一般用法如下:
-
按下“ARM” 按钮。红色的“ARMING”指示灯会立即亮起,告诉你它正在尝试为高压充电。
-
几秒钟后,红色的“HV”指示灯会亮起,表示已充电至“某个电压”。
-
将探头尖端放在目标上方。
-
按下“Pulse”按钮。
3关于高压隔离
4案例
Rasperry Pi 故障注入
型号:Rasperry Pi 2B
镜像:Raspberry Pi OS (32-Bit), Released 2021-10-30
测试源码:rpi-glitching
Glitch Loop
对于 Rasperry Pi 2B 的故障注入攻击简单示例,使用例程是glitchloop.c
//gcc glitchloop.c -o glitchloop
//./glitchloop
int main(void){
volatile int i, j, k,l;
char status[] = "<>";
while(1){
k = 0;
for (i=0; i < 10000; i++){
for (j=0; j < 10000; j++){
k++;
}
}
printf("%d %d %d %cn", i, j, k, status[l++ % 2]);
}
}
RSA Glitching
pip install pycryptodome==3.1
sudo apt-get install python3-gmpy2
其他开发板测试
在各开发板刷入 Glitch 循环例程固件,针对芯片发起故障注入攻击。
STM32
MCU:STM32F407ZGT6
Arduino Uno
MCU:ATMEGA328P-PU
ESP8266EX
原文始发于微信公众号(数智安全研究院):低成本电磁故障攻击工具 PicoEMP