芯片物理攻击平台 ChipWhisperer 初探

时间:2024-04-08 09:19:05

前言

传统基于穷举或纯数学理论层面的分析,对于现代高强度加密算法而言,算力有限导致无法实现穷举,算法的复杂性也无法通过数学工具直接**,根据近代物理学发展出来的理论,电子设备依赖外部电源提供动力,设备在运行过程中会消耗能量,同时会跟外界环境存在声、光、电、磁等物理交互现象产生,设备本身也可能存在设计薄弱点,通过这些物理泄露或人为进行物理层的修改获取数据,然后运用各类数学工具和模型实现**。

然而在做物理攻击时,往往需要昂贵的设备,并要具备数学、物理学、微电子学、半导体学、密码学、化学等等多学科的交叉理论知识,因此其技术门槛和攻击成本都很高,目前在刚刚结束的 Blackhat 2018 上,展台上展示了多款 ChipWhisperer 硬件工具,作为亲民型的物理攻击平台,获得了一致的好评。

芯片物理攻击平台 ChipWhisperer 初探
(图片来源 Newae 官方)

ChipWhisperer Lite 版官方商店售价 $250 ,不管是实验学习,还是实战入门,都是极具性价比的,本文主要介绍主流的一些物理攻击手段,以及对 ChipWhisperer 的初步认知,后续将会据此从理论、原理、实验以及实战等角度详细介绍该平台。

物理攻击

真正的安全研究不能凌驾于真实的攻防场景,对于物联网安全而言,其核心目标是真实物理世界中的各种硬件设备,真实的攻击场景往往发生在直接针对硬件设备的攻击,因此物联网安全的基石在于物理层的安全,而针对物联网物理攻击手段,是当前物联网面临的最大安全风险之一。

物理攻击就是直接攻击设备本身和运行过程中的物理泄露,根据攻击过程和手段可以分为非侵入攻击、半侵入式攻击和侵入式攻击。ChipWhisperer 平台主要用做非侵入式攻击,包括侧信道和故障注入攻击等。

传统密码分析学认为一个密码算法在数学上安全就绝对安全,这一思想被Kelsey等学者在1998年提出的侧信道攻击(Side-channel Attacks,SCA)理论所打破。侧信道攻击与传统密码分析不同,侧信道攻击利用功耗、电磁辐射等方式所泄露的能量信息与内部运算操作数之间的相关性,通过对所泄露的信息与已知输入或输出数据之间的关系作理论分析,选择合适的攻击方案,获得与安全算法有关的关键信息。目前侧信道理论发展越发迅速,从最初的简单功耗分析(SPA),到多阶功耗分析(CPA),碰撞攻击、模板攻击、电磁功耗分析以及基于人工智能和机器学习的侧信道分析方式,侧信道攻击方式也推陈出新,从传统的直接能量采集发展到非接触式采集、远距离采集、行为侧信道等等。

芯片物理攻击平台 ChipWhisperer 初探
利用麦克风进行声波侧信道

芯片物理攻击平台 ChipWhisperer 初探
利用软件无线电实施非接触电磁侧信道

故障攻击就是在设备执行加密过程中,引入一些外部因素使得加密的一些运算操作出现错误,从而泄露出跟**相关的信息的一种攻击。一些基本的假设:设定的攻击目标是中间状态值; 故障注入引起的中间状态值的变化;攻击者可以使用一些特定算法(故障分析)来从错误/正确密文对中获得**。
使用故障的不同场景: 利用故障来绕过一些安全机制(口令检测,文件访问权限,安全启动链);产生错误的密文或者签名(故障分析);组合攻击(故障+旁路)。

芯片物理攻击平台 ChipWhisperer 初探
非侵入式电磁注入

芯片物理攻击平台 ChipWhisperer 初探

芯片物理攻击平台 ChipWhisperer 初探
半侵入式光子故障注入

芯片物理攻击平台 ChipWhisperer 初探
侵入式故障注入

ChipWhisperer

简介

本系列使用的版本是 CW1173 ChipWhisperer-Lite ,搭载 SAKURA-G 实验板,配合一块 CW303 XMEGA 作为目标测试板。

芯片物理攻击平台 ChipWhisperer 初探

芯片物理攻击平台 ChipWhisperer 初探

CW1173 是基于FPGA实现的硬件,软件端基于 python,具有丰富的扩展接口和官方提供的各类 API 供开发调用,硬件通过自带的 OpenADC 模块可以实现波形的捕获,不需要额外的示波器。

芯片物理攻击平台 ChipWhisperer 初探

板上自带有波形采集端口(MeaSure)和毛刺输出(Glitch)端口,并自带 MOSFET 管进行功率放大。

芯片物理攻击平台 ChipWhisperer 初探

并提供多种接口触发设置,基本满足一般的攻击需求。

芯片物理攻击平台 ChipWhisperer 初探

能量攻击

芯片物理结构为许多CMOS电路组合而成,CMOS 电路根据输入的不同电信号动态改变输出状态,实现0或1的表示,完成相应的运算,而不同的运算指令就是通过 CMOS 组合电路完成的,但 CMOS电路根据不同的输入和输出,其消耗的能量是不同的,例如汇编指令 ADD 和 MOV ,消耗的能量是不同的,同样的指令操作数不同,消耗的能量也是不同的,例如 MOV 1 和 MOV 2其能量消耗就是不同的,能量攻击就是利用芯片在执行不同的指令时,消耗能量不同的原理,实现秘钥**。

芯片物理攻击平台 ChipWhisperer 初探

常用的能量攻击方式就是在芯片的电源输入端(VCC)或接地端(GND)串联一个1到50欧姆的电阻,然后用示波器不断采集电阻两端的电压变化,形成波形图,根据欧姆定律,电压的变化等同于功耗的变化,因此在波形图中可以观察到芯片在执行不同加密运算时的功耗变化。

芯片物理攻击平台 ChipWhisperer 初探

CW1173 提供能量波形采集端口,通过连接 板上的 MeaSure SMA 接口,就可以对能量波形进行采集,在利用chipwhisperer 开源软件就可以进行分析,可以实现简单能量分析、CPA攻击、模板攻击等。

芯片物理攻击平台 ChipWhisperer 初探

芯片物理攻击平台 ChipWhisperer 初探
通过 cpa 攻击 AES 加密算法获取**

毛刺攻击

ChipWhisperer 提供对时钟、电压毛刺的自动化攻击功能,类似于 web 渗透工具 Burpsuite ,可以对毛刺的宽度、偏移、位置等等参数进行 fuzz ,通过连接板上的 Glitch SMA 接口,就可以输出毛刺,然后通过串口、web 等获取结果,判断毛刺是否注入成功。

时钟毛刺攻击是针对微控制器需要外部时钟晶振提供时钟信号,通过在原本的时钟信号上造成一个干扰,通过多路时钟信号的叠加产生时钟毛刺,也可以通过自定义的时钟选择器产生,CW1173 提供高达 300MHZ 的时钟周期控制,时钟是芯片执行指令的动力来源,通过时钟毛刺可以跳过某些关键逻辑判断,或输出错误数据。

芯片物理攻击平台 ChipWhisperer 初探

芯片物理攻击平台 ChipWhisperer 初探

芯片物理攻击平台 ChipWhisperer 初探
通过 CW1173 时钟毛刺攻击跳过密码验证

电压毛刺是对芯片电源进行干扰造成故障,在一个很短的时间内,使电压迅速下降,造成芯片瞬间掉电,然后迅速恢复正常,确保芯片继续正常工作,可以实现如对加密算法中某些轮运算过程的干扰,造成错误输出,或跳过某些设备中的关键逻辑判断等等 。

芯片物理攻击平台 ChipWhisperer 初探

对嵌入式设备的电压毛刺攻击

更多

随着物理攻击理论和技术的进步,针对硬件芯片的防护手段也随之提高,芯片物理层的攻防一直在不断角力 ,现实环境中,能量采集会受到各种噪声因素的干扰,硬件厂商也会主动实施一些针对物理攻击的防护,单纯依靠 ChipWhisperer 平台难以实现真实场景的攻击,因此还需要结合电磁、声波、红外、光子等多重信息,以及对硬件进行修改,多重故障注入,引入智能分析模型等等组合手段,今后会进一步介绍一些基于 ChipWhisperer 的高级攻击方式和实战分析方法。

参考

  1. ChipWhisperer 官网 wiki https://wiki.newae.com/Main_Page
  2. 开源项目 https://github.com/newaetech/chipwhisperer
  3. ChipSHOUTER 电磁故障平台 https://github.com/newaetech/ChipSHOUTER
  4. USB 附加模块 https://github.com/scanlime/facewhisperer
  5. 深度学习侧信道攻击 https://www.riscure.com/publication/lowering-bar-deep-learning-side-channel-analysis/
  6. 使用毛刺攻击提取汽车 ECU 固件 https://www.riscure.com/publication/fault-injection-automotive-diagnostic-protocols/
  7. 《物联网安全百科》 https://iot-security.wiki

相关链接

名称 链接
《物联网安全百科》 iot-security.wiki
伏宸安全实验室 future-sec.com
IOT Security iot-security.org
Yaseng Blog yaseng.org
知乎专栏 zhuanlan.zhihu.com
邮箱 [email protected]
qq 交流群 306482276
微信公众号 芯片物理攻击平台 ChipWhisperer 初探
微信交流群 芯片物理攻击平台 ChipWhisperer 初探