芯片物理攻击平台 ChipWhisperer 初探

前言

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

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

image

(图片来源 Newae 官方)

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

物理攻击

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

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

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

image

利用麦克风进行声波侧信道

image

利用软件无线电实施非接触电磁侧信道

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

image

非侵入式电磁注入

image
image

半侵入式光子故障注入

image

侵入式故障注入

ChipWhisperer

简介

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

image
image

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

image

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

image

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

image

能量攻击

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

image

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

image

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

image
image

通过 cpa 攻击 AES 加密算法获取密钥

毛刺攻击

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

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

image
image
image

通过 CW1173 时钟毛刺攻击跳过密码验证

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

image

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

更多

随着物理攻击理论和技术的进步,针对硬件芯片的防护手段也随之提高,芯片物理层的攻防一直在不断角力 ,现实环境中,能量采集会受到各种噪声因素的干扰,硬件厂商也会主动实施一些针对物理攻击的防护,单纯依靠 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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,968评论 6 482
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,601评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,220评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,416评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,425评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,144评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,432评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,088评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,586评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,028评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,137评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,783评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,343评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,333评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,559评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,595评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,901评论 2 345

推荐阅读更多精彩内容