低成本电磁故障攻击工具 PicoEMP

IoT 2年前 (2022) admin
842 0 0

0背景

ChipSHOUTER是 Colin 在NewAE Technology设计的高端电磁故障注入 (EMFI) 工具。它虽然不是第一个商业上可用的 EMFI 工具,却是第一个比较容易买到的工具,尽管其具备大量的开放文档,但高昂的价格然让很多人望而却步。

PicoEMP 填补了ChipSHOUTER 在低端领域留下的空白,是相较于 ChipSHOUTER 工具的一个稍微温和的版本该工具的设计优化集中在安全性、成本、可用性、性能,这四个方面。尽管降低了成本,但效果却出奇地好。

借助 PicoEMP ,任何人都可以使用电磁脉冲诱发可利用的硬件故障。

低成本电磁故障攻击工具 PicoEMP

在安全防护罩下面是这样的:

低成本电磁故障攻击工具 PicoEMP

不过,它也不是作为一个完整的产品出售,在制作和控制它的情况下使用PicoEMP需完全了解其操作和风险。


1介绍

PicoEMP 使用 Raspberry Pi Pico 作为控制器,灵感来自 @nezza,使用它作为 debug-n-dump 工具。你也可以选择使用 Arduino 或其他微控制器。你基本上只需要几样东西:
  1. PWM 输出驱动高压变压器。
  2. 脉冲引脚产生脉冲。
  3. 用于监控高压(HV) 状态的状态引脚。


2使用

PicoEMP 的一般用法如下:

  1. 按下“ARM” 按钮。红色的“ARMING”指示灯会立即亮起,告诉你它正在尝试为高压充电。

  2. 几秒钟后,红色的“HV”指示灯会亮起,表示已充电至“某个电压”。

  3. 将探头尖端放在目标上方。

  4. 按下“Pulse”按钮。

低成本电磁故障攻击工具 PicoEMP


3关于高压隔离

大多数 EMFI 工具会产生高压(类似于相机闪光灯)。以前的许多开源 EMFI 工具的设计都能很好地工作,但是使用户暴露在高电压下。如果你正确使用这个工具,这是很好的,但是当然总是存在抓住电“热”工具的风险!之所以会出现这种常见的设计,是因为设计 EMFI 工具的最简单方法是使用“低端开关”。对于低端开关,输出连接器总是“热”的,这会带来严重的电击危险。
PicoEMP 通过浮动高压侧来解决这个问题,这意味着 EMFI 探头输出和输入电压接地之间没有电路。通过隔离的高压输出,我们可以安全地使用简单的“低侧开关”。由于高频尖峰,一些电流仍然会流动,虽然不完美,但它在实践中效果很好。
这里需要注意的是,要使其正常工作,你还需要隔离栅极驱动器。对此有多种解决方案,最简单的是栅极驱动变压器 (GDT)。PicoEMP 使用变压器架构,并进行了一些简化以进一步减少 BOM 数量。


4案例

Rasperry Pi 故障注入

型号:Rasperry Pi 2B

镜像:Raspberry Pi OS (32-Bit), Released 2021-10-30

测试源码:rpi-glitching

Glitch Loop

对于 Rasperry Pi 2B 的故障注入攻击简单示例,使用例程是glitchloop.c

#include <stdio.h>//gcc glitchloop.c -o glitchloop//./glitchloopint 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]);  }}

低成本电磁故障攻击工具 PicoEMP

RSA Glitching

在签名操作期间插入故障,利用错误的 rsa 签名操作来恢复私钥。我们将使用 pycryptodome,但使用的是一个旧版本(pycryptodome3.1),因为当前的版本有故障保护。保护是进行验证,即生成的签名验证OK,但是你可以通过更有针对性的故障注入攻击绕过它。
要运行 rsaglitch.py,需要安装 pycryptodome 3.1 和一个加速库来执行因数分解。这可以通过以下方式完成:
pip install pycryptodome==3.1sudo apt-get install python3-gmpy2

低成本电磁故障攻击工具 PicoEMP

其他开发板测试

在各开发板刷入 Glitch 循环例程固件,针对芯片发起故障注入攻击。

低成本电磁故障攻击工具 PicoEMP

STM32

MCU:STM32F407ZGT6

低成本电磁故障攻击工具 PicoEMP

Arduino Uno

MCU:ATMEGA328P-PU

低成本电磁故障攻击工具 PicoEMP

ESP8266EX

低成本电磁故障攻击工具 PicoEMP




原文始发于微信公众号(数智安全研究院):低成本电磁故障攻击工具 PicoEMP

版权声明:admin 发表于 2022年1月24日 上午5:24。
转载请注明:低成本电磁故障攻击工具 PicoEMP | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...