侧信道分析攻击

Reading time: 7 minutes

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks

侧信道攻击通过观察与内部状态相关的物理或微架构“泄漏”来恢复秘密,但这些“泄漏”不是设备逻辑接口的一部分。 示例包括测量智能卡瞬时电流到滥用网络上的CPU电源管理效应。


主要泄漏通道

通道典型目标仪器
电力消耗智能卡、物联网MCU、FPGA示波器 + 分流电阻/高频探头(例如CW503)
电磁场(EM)CPU、RFID、AES加速器H场探头 + LNA,ChipWhisperer/RTL-SDR
执行时间/缓存桌面和云CPU高精度计时器(rdtsc/rdtscp),远程飞行时间
声学/机械键盘、3D打印机、继电器MEMS麦克风,激光振动计
光学和热LED、激光打印机、DRAM光电二极管/高速相机,红外相机
故障诱导ASIC/MCU加密时钟/电压故障,EMFI,激光注入

电力分析

简单电力分析(SPA)

观察单个波形并直接将峰值/谷值与操作(例如DES S盒)关联。

python
# ChipWhisperer-husky example – capture one AES trace
from chipwhisperer.capture.api.programmers import STMLink
from chipwhisperer.capture import CWSession
cw = CWSession(project='aes')
trig = cw.scope.trig
cw.connect(cw.capture.scopes[0])
cw.capture.init()
trace = cw.capture.capture_trace()
print(trace.wave)  # numpy array of power samples

Differential/Correlation Power Analysis (DPA/CPA)

获取 N > 1 000 跟踪,假设密钥字节 k,计算 HW/HD 模型并与泄漏进行相关性分析。

python
import numpy as np
corr = np.corrcoef(leakage_model(k), traces[:,sample])

CPA 仍然是最先进的技术,但机器学习变体(MLA,深度学习 SCA)现在主导了 ASCAD-v2(2023)等比赛。


电磁分析 (EMA)

近场 EM 探头(500 MHz–3 GHz)泄漏与功率分析相同的信息 而不 插入分流器。2024 年的研究表明,使用频谱相关和低成本 RTL-SDR 前端可以在 >10 cm 的距离内从 STM32 恢复密钥。


定时与微架构攻击

现代 CPU 通过共享资源泄漏秘密:

  • Hertzbleed (2022) – DVFS 频率缩放与汉明权重相关,允许 远程 提取 EdDSA 密钥。
  • Downfall / Gather Data Sampling (Intel, 2023) – 瞬态执行读取跨 SMT 线程的 AVX-gather 数据。
  • Zenbleed (AMD, 2023) & Inception (AMD, 2023) – 投机向量误预测泄漏跨域寄存器。

声学与光学攻击

  • 2024 年的 "​iLeakKeys" 显示从 智能手机麦克风通过 Zoom 恢复笔记本电脑按键的准确率为 95% ,使用 CNN 分类器。
  • 高速光电二极管捕获 DDR4 活动 LED,并在 <1 分钟内重构 AES 轮密钥(BlackHat 2023)。

故障注入与差分故障分析 (DFA)

将故障与侧信道泄漏结合可以快捷地搜索密钥(例如 1-trace AES DFA)。最近的业余爱好者价格工具:

  • ChipSHOUTER & PicoEMP – 亚 1 ns 电磁脉冲故障。
  • GlitchKit-R5 (2025) – 开源时钟/电压故障平台,支持 RISC-V SoC。

典型攻击工作流程

  1. 确定泄漏通道和安装点(VCC 引脚,去耦电容,近场点)。
  2. 插入触发器(GPIO 或基于模式)。
  3. 收集 >1 k 跟踪,使用适当的采样/过滤器。
  4. 预处理(对齐,均值去除,低通/高通滤波,小波,PCA)。
  5. 统计或 ML 密钥恢复(CPA,MIA,DL-SCA)。
  6. 验证并对异常值进行迭代。

防御与加固

  • 恒定时间 实现和内存硬算法。
  • 掩码/洗牌 – 将秘密分割成随机份额;第一阶抗性由 TVLA 认证。
  • 隐藏 – 芯片内电压调节器,随机时钟,双轨逻辑,EM 屏蔽。
  • 故障检测 – 冗余计算,阈值签名。
  • 操作 – 在加密内核中禁用 DVFS/涡轮,隔离 SMT,禁止在多租户云中共存。

工具与框架

  • ChipWhisperer-Husky (2024) – 500 MS/s 示波器 + Cortex-M 触发器;Python API 如上。
  • Riscure Inspector & FI – 商业,支持自动化泄漏评估(TVLA-2.0)。
  • scaaml – 基于 TensorFlow 的深度学习 SCA 库(v1.2 – 2025)。
  • pyecsca – ANSSI 开源 ECC SCA 框架。

参考文献

tip

学习和实践 AWS 黑客技术:HackTricks Training AWS Red Team Expert (ARTE)
学习和实践 GCP 黑客技术:HackTricks Training GCP Red Team Expert (GRTE) 学习和实践 Azure 黑客技术:HackTricks Training Azure Red Team Expert (AzRTE)

支持 HackTricks