Series: 芯片安全

固件提取、毛刺注入、故障注入、MCU固件提取相关文章


固件提取、毛刺注入、故障注入、MCU固件提取相关资料收集

中文资料

英文资料,更技术向


按“文章中明确出现的工具/设备/软件/平台”统计,去重后大概可以分成这几类:

1. 常规固件提取 / 调试接口类

工具/设备主要用途出现情况
flashrom读取/写入/识别 SPI Flash安全客文章明确用它配合 SPI 接口读取外置 Flash。
SOP8/16 测试夹免拆夹取 SPI Flash 引脚安全客文章用于 SOP8/16 Flash 免拆读取。
芯片通用测试夹 / 测试钩子夹取 QFP/SOP 引脚、接 SWD/JTAG安全客文章用于 MCU 内置 Flash 提取。
ECU 探针搭针读取或连接芯片引脚安全客文章提到可用于汽车 ECU/其他芯片固件提取。
CH341A 编程器SPI Flash 编程/读取安全客文章列为可选编程器。
树莓派 / Linux SPI作为 SPI 主机读取 Flash安全客文章用树莓派演示 flashrom 读取。
CJMCU FT232H / FT232HUSB 转 JTAG/SWD/UART/SPI/I2C安全客文章用于 SWD 连接 MCU,也列为 Flash 读取可选调试器。
OpenOCD片上调试、SWD/JTAG、dump 内部 Flash安全客文章用 OpenOCD 连接 STM32 并导出固件。
telnet连接 OpenOCD 控制端口安全客文章用它和 OpenOCD 交互。
GDB动态调试安全客文章提到 OpenOCD 可配合 GDB 调试。
J-Link / J-Link OBSWD/JTAG 调试器绿盟文章列为 SWD/JTAG 读取工具,GD32 文章也用 J-Link 尝试连接。
ST-Link / ST-Link V2 / ST-Link ProgrammerSTM32 调试、烧录、配置保护位绿盟、安全内参、CTFIoT/Anvil 都有出现。
U-LinkMCU 调试/烧录工具绿盟文章作为烧写环境工具提到。
J-FlashJ-Link 配套 Flash 读写软件绿盟文章提到 SWD/JTAG 可配合 J-Flash。
STVPST 官方编程工具绿盟文章提到可配合 ST-Link 使用。
mcuisp串口 Bootloader 读写 Flash绿盟文章提到通过串口运行 mcuisp 读取 Flash。
Flash 编程器 / 配套 PC 软件拆下外置 Flash 后读取绿盟文章提到片外 Flash 可放到编程器上读取。

2. 故障注入 / 毛刺攻击类

工具/设备主要用途出现情况
ChipWhisperer / ChipWhisperer Pro / CW1173 ChipWhisperer-Lite电压毛刺、侧信道、触发控制SEC Consult、Anvil、ChipWhisperer 官方文档/仓库都明确出现。
ChipWhisperer Python API用 Python 控制毛刺参数、触发、采集Anvil 文章明确使用。
SECGlitcherSEC Consult 基于 ChipWhisperer API 封装的毛刺脚本框架SEC Consult 文章的核心工具。
TRIDENT 故障注入分析平台商业化故障注入平台,覆盖电压、时钟、电磁、激光OSR/纽创信安产品页介绍。
Teensy 开发板控制毛刺软件和瞬变注入STM32F4 电压故障注入文章使用。
自制电压瞬变/毛刺注入电路由电容、电阻、MOSFET 等组成,用于电源轨瞬变注入STM32F4/Jerin 文章明确使用。
EPM240 CPLD 开发板低成本、高精度时序控制毛刺STM8 文章使用。
VHDL编写 CPLD/FPGA 逻辑STM8 文章中用于 CPLD 控制逻辑。
RP2040 微控制器毛刺器自制 glitcher,配合 MOSFET 做电源控制/毛刺脉冲PT SWARM 的 GD32 文章使用。
MOSFET毛刺电路中的开关器件STM8/GD32/STM32F4 相关文章都出现。
示波器 / UT2052 / DSCope U3P100观察毛刺波形、电源轨、功耗轨迹SEC、STM8、GD32 文章均使用或展示。
逻辑分析仪测 UART/SWD/时序窗口Anvil 和 PT SWARM 文章使用。
USB-UART TTL 转换器 / USB-to-serial与 STM32 Bootloader/UART 通信Anvil、STM8、STM32F4 文章出现。
SPD3303X 电源自动化断电/上电控制SEC Consult 脚本中出现。

3. 逆向分析 / 辅助分析工具

工具主要用途出现情况
Ghidra反汇编/逆向 STM32 BootloaderAnvil 文章明确提到把 Bootloader 加载进 Ghidra 分析。
STM32Cube IDE编写/烧录 STM32 示例程序CTFIoT/Jerin 文章中用于准备测试固件。
STM32CubeProgrammer配置 STM32 Option Bytes / RDPCTFIoT/Jerin 文章中用于启用 RDP1。
STM32SerialBootloader 库Python 中操作 STM32 串口 BootloaderSEC Consult 脚本中出现。
hexdump查看/处理导出的数据SEC Consult 脚本中出现。
Python / python3自动化毛刺、采集、控制设备Anvil、SEC、OSR 平台都提到 Python 控制或脚本。
CSV / YAML 配置与结果文件保存毛刺参数、聚合结果SECGlitcher 使用 YAML 保存参数范围、CSV 保存结果。
X-ray imaging / X 光成像观察封装内 QSPI/连线结构PT SWARM GD32 文章使用。
Linux 驱动/自动化采集脚本自动化读取示波器轨迹STM8 文章中作者为 UT2052 写 Linux 驱动。

4. 按出现频率粗略排序

高频工具大致出现范围
ST-Link / ST-Link V2至少 4 篇:绿盟、安全内参、CTFIoT/Jerin、Anvil
J-Link / OpenOCD至少 3 篇:安全客、绿盟、PT SWARM
ChipWhisperer至少 3 类来源:官方文档/GitHub、SEC Consult、Anvil
USB-UART / 串口工具至少 3 篇:绿盟、Anvil、STM8/STM32F4
示波器至少 3 篇:SEC Consult、STM8、PT SWARM
逻辑分析仪至少 2 篇:Anvil、PT SWARM
flashrom主要出现在安全客“免拆芯片提取固件”文章
mcuisp / J-Flash / STVP主要出现在绿盟固件提取基础文章
SECGlitcher主要出现在 SEC Consult 文章
TRIDENT主要出现在 OSR/纽创信安产品介绍

结论

这些资料里,工具链大致是:

常规固件读取路线:
测试夹/探针/编程器 + flashrom / OpenOCD / J-Flash / STVP / mcuisp + ST-Link / J-Link / FT232H / 树莓派 / CH341A

故障注入路线:
ChipWhisperer / SECGlitcher / Teensy / EPM240 CPLD / RP2040 / TRIDENT + 示波器 / 逻辑分析仪 / USB-UART + 自制毛刺电路

逆向分析路线:
Ghidra / Python / STM32CubeIDE / STM32CubeProgrammer / hexdump / X-ray imaging

重点写的工具是:ChipWhisperer、SECGlitcher、ST-Link、J-Link、OpenOCD、flashrom、FT232H、CH341A、USB-UART、示波器、逻辑分析仪、TRIDENT