序言
传统基于穷举或纯物理理论层面的剖析,对于现代高硬度加密算法而言,算力有限造成难以实现穷举,算法的复杂性也未能通过物理工具直接破解,按照近代数学学发展下来的理论,电子设备依赖外部电源提供动力,设备在运行过程中会消耗能量,同时会跟外界环境存在声、光、电、磁等化学交互现象形成,设备本身也可能存在设计薄弱点,通过这种化学泄漏或人为进行化学层的更改获取数据,之后运用各种物理工具和模型实现破解。
但是在做数学功击时,常常须要高昂的设备,并要具备物理、物理学、微电子学、半导体学、密码学、化学等等多学科的交叉理论知识,因而其技术门槛和功击成本都很高,目前在刚才结束的2018上,展厅上展示了多款硬件工具,作为亲民型的数学功击平台,获得了一致的好评。
(图片来源Newae官方)
Lite版官方商店售价$250,不管是实验学习,还是实战入门,都是极具性价比的,本文主要介绍主流的一些数学功击手段,以及对的初步认知,后续将会据此从理论、原理、实验以及实战等角度详尽介绍该平台。
化学功击
真正的安全研究不能凌驾于真实的攻守场景,对于物联网安全而言,其核心目标是真实化学世界中的各类硬件设备,真实的功击场景常常发生在直接针对硬件设备的功击,因而物联网安全的基石在于化学层的安全,而针对物联网化学功击手段,是当前物联网面临的最大安全风险之一。
化学功击就是直接功击设备本身和运行过程中的化学泄漏,按照功击过程和手段可以分为非侵入功击、半侵入式功击和侵入式功击。平台主要用做非侵入式功击,包括侧信道和故障注入功击等。
传统密码剖析学觉得一个密码算法在物理上安全就绝对安全,这一思想被等学者在1998年提出的侧信道功击(Side-,SCA)理论所打破。侧信道功击与传统密码剖析不同,侧信道功击借助帧率、电磁幅射等方法所窃取的能量信息与内部运算操作数之间的相关性,通过对所窃取的信息与已知输入或输出数据之间的关系作理论剖析,选择合适的功击方案,获得与安全算法有关的关键信息。目前侧信道理论发展越发迅速,从最初的简单帧率剖析(SPA),到多阶帧率剖析(CPA),碰撞功击、模板功击、电磁帧率剖析以及基于人工智能和机器学习的侧信道剖析方法,侧信道功击方法也推陈出新,从传统的直接能量采集发展到非接触式采集、远距离采集、行为侧信道等等。
借助耳机进行声波侧信道
借助软件无线电施行非接触电磁侧信道
故障功击就是在设备执行加密过程中,引入一些外部诱因促使加密的一些运算操作出现错误,因而外泄出跟秘钥相关的信息的一种功击。一些基本的假定:设定的功击目标是中间状态值;故障注入造成的中间状态值的变化;功击者可以使用一些特定算法(故障剖析)来从错误/正确密文对中获得秘钥。
使用故障的不同场景:借助故障来绕开一些安全机制(口令检查,文件访问权限物理攻击的定义,安全启动链);形成错误的密文或则签名(故障剖析);组合功击(故障+旁路)。
非侵入式电磁注入
半侵入式光子故障注入
侵入式故障注入
简介
本系列使用的版本是-Lite,搭载-G实验板,配合一块CW303XMEGA作为目标测试板。
是基于FPGA实现的硬件,软件端基于,具有丰富的扩充插口和官方提供的各种API供开发调用,硬件通过自带的模块可以实现波形的捕获,不须要额外的示波器。
板上自带有波形采集端口()和毛刺输出()端口,并自带管进行功率放大。
并提供多种插口触发设置,基本满足通常的功击需求。
能量功击
芯片化学结构为许多CMOS电路组合而成,CMOS电路按照输入的不同联通号动态改变输出状态,实现0或1的表示,完成相应的运算,而不同的运算指令就是通过CMOS组合电路完成的,但CMOS电路按照不同的输入和输出,其消耗的能量是不同的,比如汇编指令ADD和MOV,消耗的能量是不同的,同样的指令操作数不同,消耗的能量也是不同的,比如MOV1和MOV2其能量消耗就是不同的,能量功击就是借助芯片在执行不同的指令时,消耗能量不同的原理,实现密钥破解。
常用的能量功击方法就是在芯片的电源输入端(VCC)或接地端(GND)串联一个1到50欧姆的内阻,之后用示波器不断采集内阻两端的电流变化,产生波形图,按照欧姆定理,电流的变化等同于帧率的变化,因而在波形图中可以观察到芯片在执行不同加密运算时的帧率变化。
提供能量波形采集端口,通过联接板上的SMA插口,就可以对能量波形进行采集,在借助开源软件就可以进行剖析,可以实现简单能量剖析、CPA功击、模板功击等。
通过cpa功击AES加密算法获取秘钥
毛刺功击
提供对时钟、电压毛刺的手动化功击功能,类似于web渗透工具,可以对毛刺的长度、偏移、位置等等参数进行fuzz,通过联接板上的SMA插口,就可以输出毛刺,之后通过并口、web等获取结果物理攻击的定义,判定毛刺是否注入成功。
时钟毛刺功击是针对微控制器须要外部时钟晶振提供时钟讯号,通过在先前的时钟讯号上引起一个干扰,通过多路时钟讯号的叠加形成时钟毛刺,也可以通过自定义的时钟选择器形成,提供高达的时钟周期控制,时钟是芯片执行指令的动力来源,通过时钟毛刺可以跳过个别关键逻辑判定,或输出错误数据。
通过时钟毛刺功击跳过密码验证
电流毛刺是对芯片电源进行干扰导致故障,在一个很短的时间内,使电流迅速增长,导致芯片顿时掉电,之后迅速恢复正常,确保芯片继续正常工作,可以实现如对加密算法中个别轮运算过程的干扰,导致错误输出,或跳过个别设备中的关键逻辑判定等等。
对嵌入式设备的电流毛刺功击