芯片/PCB 硬件逆向

SkillDev tools

物理层硬件逆向:去封装、裸片分析、探针与 FIB、PCB 电路分析、硬件木马检测。 触发词:芯片逆向、去封装、decapping、PCB、硬件木马、电路分析、裸片、FIB、侧信道、SPA、DPA、故障注入、时钟毛刺、电压毛刺。

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the 芯片/PCB 硬件逆向 skill

What this skill tells your AI

The instructions your AI receives, as published by dslsdzc/rev-skills in .claude/skills/re-hw-chip/SKILL.md and read by ahel’s review.

何时使用 / 何时不用

  • 用:物理芯片/板级分析(固件提取失败后的物理层)、芯片解密、硬件木马检测
  • 不用:固件级分析(转 [[re-fw-extract]]);接口提取(转 [[re-hardware-io]]);无线信号(转 [[re-sdr]])

工具准备

显微镜/探针台(观察与接触)

  • 选购指引:体视显微镜(初检)→ 金相显微镜(裸片);探针台按预算分级
  • 验证: 无软件验证——以成像清晰度验收

decapping 设备与耗材(去封装)

  • 化学 decap:发烟硝酸/硫酸 + 加热台(防护:通风橱/护目镜);激光 decap:专用激光器(高成本,外包可选)
  • 验证: 无软件验证——以裸露程度验收

逻辑分析仪(信号提取)

  • 多平台: Saleae 类(配套软件各平台可用)或开源方案(sigrok/PulseView:apt install sigrok-cli pulseview / brew install sigrok-cli pulseview(sigrok 无 PyPI 包))
  • 验证: pulseview --version

热成像(功耗/时序异常,可选)

  • 选购指引:按分辨率与测温范围选型;验证: 成像验收

操作步骤

按顺序执行;全程注意防护与破坏性风险(步骤 1 不可逆)。

  1. 去封装(decapping)

    • 化学法:加热台预加热 → 滴加发烟硝酸溶解环氧 → 清洗(丙酮)→ 显微镜检查
    • 激光法:激光逐层烧蚀(精度高,成本高)
    • 风险控制:通风橱、防酸手套/护目镜、废弃液处理;先练习废片
    • 验收:金属层可见、无过度腐蚀(伤及晶圆)
  2. 裸片分析

    • 显微成像(金相显微镜/电子显微镜)→ 金属层走线观察
    • ROM/熔丝提取:成像 → 位图还原(金属层/多晶硅层图案 → 二进制)
    • 产出:ROM 位图 → 数据(与 [[re-fw-extract]] 固件对照)
  3. 探针与信号提取

    • 探针台接触测试点(总线/时钟/数据线)
    • FIB(聚焦离子束):修改互连/暴露内部节点(高成本,外包)
    • 信号嗅探:逻辑分析仪挂总线(时序对照数据手册)
    • 注意:探针负载可能改变信号(见坑 2)
  4. PCB 电路分析

    • 走线还原(万用表导通/成像 → 网络表)
    • IC 标识识别(丝印 → 型号 → 数据手册 → 引脚功能)
    • JTAG/SWD 引脚定位(测试点/走线特征 → 调试接口枚举)
  5. 硬件木马检测

    • 冗余逻辑特征(无功能路径的触发器/计数器)
    • 功耗/时序异常(热成像 + 电流曲线对照基线)
    • 触发条件分析(特定输入组合/温度/时间条件)

侧信道与故障注入

功耗侧信道(SPA/DPA)

  • SPA(简单功耗分析):单条或少数功耗曲线直接观察密钥相关操作(乘方运算位数、条件分支的电流差异),适合算法结构已知的场景
  • DPA(差分功耗分析):
    • 采集原理:同一密钥下多次加解密,逐条记录功耗曲线
    • 差分思路:按猜测密钥位分组(如按某轮 S-box 输出某一位为 0/1 分组),组内平均后相减;某猜测下出现显著尖峰,说明该中间值与功耗存在相关性
    • 相关分析:对中间值比特与曲线逐点做相关性计算(CPA 思路),尖峰位置对应操作发生时刻,可反向验证猜测
  • 采集设备(chipwhisperer 类)选购要点:
    • 采样率:不低于目标时钟的数倍(超出奈奎斯特需求),高速时钟下需 GHz 级采样
    • 触发同步:支持外部触发信号(以加解密开始时刻对齐),曲线逐条对齐是差分分析的前提
    • 信噪比:高阻差分探头、短地线、屏蔽可降低噪声;噪声大时靠增加采集条数平均补偿
    • 验证: 无软件验证——以已知密钥采集曲线,确认差分尖峰出现

故障注入(时钟毛刺/电压毛刺)

  • 原理:时钟毛刺在目标指令执行时刻插入过窄的时钟周期,使取指/译码/执行失败,产生跳过分支、破坏中间值等效果;电压毛刺以瞬时欠压实现类似效果
  • 参数扫描流程:
    1. 粗扫:宽度与相位(注入时刻)按大步长铺开,记录有反应的参数点
    2. 细分:对命中区域缩小步长,定位稳定窗口
    3. 复测:同一参数多次注入,确认效果可重放
  • 结果判定:跳过分支(授权校验直接通过)、改返回值(校验函数返回被破坏)、无效果或崩溃(参数越界,回退重扫)
  • 与去封装衔接:裸片探针可接触时钟/总线节点,毛刺注入点与功耗观测点重合,侧信道曲线可与探针波形互证;去封装后注入点选择更多(见上文步骤 1/3)

安全边界

  • 与技能库整体边界一致:仅限授权范围内的自有设备/实验室样品,不涉及具体攻击目标
  • 本节为方法学描述,不提供针对特定对象的操作指引

常见坑与陷阱

  • 波形不同步导致 DPA 无相关性:现象——差分曲线无尖峰、相关值接近零;原因——各条曲线起点未对齐(触发没对准,软件触发延迟抖动);对策——改用硬件触发信号,或事后按固定特征点重对齐
  • 毛刺参数扫不到窗口:现象——全参数范围扫描无任何效果;原因——宽度/相位扫描步长大于命中窗口;对策——先粗扫定位区间再细分步长,必要时增大重复次数
  • 故障注入后设备锁死:现象——注入后设备无响应或进入异常状态;原因——毛刺破坏运行状态或误写存储;对策——实验前备份固件并准备重刷恢复流程,批量注入时按批重启
  • 采集设备带宽不足:现象——高速时钟下曲线失真(边沿变缓、高频细节丢失);原因——采集带宽低于信号频谱需求;对策——按目标时钟选择带宽足够的设备,或降低时钟运行

跨域联合

  • [[re-hardware-io]]:接口提取衔接(JTAG/UART 是软件侧入口)
  • [[re-fw-extract]]:固件侧对照(ROM 提取物与固件 dump 比对)
  • [[re-sdr]]:无线侧(RF 接口)
  • [[re-triage]]:提取物初勘

常见坑与陷阱

  • decap 不可逆:现象——封装破坏后无法恢复;原因——物理破坏;对策——先存档固件([[re-fw-extract]])再做物理操作
  • 探针负载改变信号:现象——挂探针后时序异常;原因——容性负载;对策——高阻探针、记录挂载前后基线
  • FIB 高成本易毁:现象——FIB 修改失败晶圆报废;原因——离子束损伤;对策——先成像规划、外包给专业服务
  • 木马误报:现象——正常冗余逻辑被当木马;原因——厂商设计含测试/修复逻辑;对策——对照数据手册与已知电路模式,低置信度不发布
  • 安全防护缺失:现象——化学 decap 事故;原因——未用通风橱/防护;对策——步骤 1 风险控制强制前置

Signals

GitHub stars
57
Forks
8
Last commit
Sep 2026

ahel review

  • K1binfo
    installs-packages

Automated review, not a security audit. Ruleset v1+k2.

Advanced
Catalog kind
skill
Gateway key
re-hw-chip
Source
github.com/dslsdzc/rev-skills
芯片/PCB 硬件逆向 (re-hw-chip): Skill · ahel