温度侧信道与加热故障攻击
1. 引言
在电子设备安全领域,温度相关的攻击手段逐渐引起关注。有工具能像对PC进行冷启动攻击一样恢复现代安卓智能手机的RAM内容,而高温攻击也有相关研究。本文聚焦于常见的AVR和PIC 8位微控制器,开展了一系列与温度相关的攻击研究,主要贡献如下:
1. 刻画“温度侧信道”,通过分析AVR和PIC微控制器的数据泄漏情况,揭示热辐射与电路活动的线性关系,发现被分析设备会通过低频温度侧信道泄漏处理数据的汉明重量。
2. 对AVR进行高温故障攻击,让设备在超出指定温度额定值(>150°C)的条件下运行,以RSA实现为例,成功提取出使用的私钥。
3. 利用AVR的数据残留攻击的物理特性,通过大量加热,像私钥这样的常量数据会在内存中留下印记,即使多年后也能恢复,还识别出永久和瞬态的负偏压温度不稳定性(NBTI)退化组件,能完全恢复ATmega162整个内存的65%。
2. 温度泄漏特性刻画
2.1 温度测量设置
本部分旨在通过分析8位ATmega162 AVR微控制器的泄漏情况来刻画温度侧信道。该系列微控制器广泛应用于工业自动化、控制或智能卡等嵌入式系统。测量温度耗散的设置与功率分析攻击的设置类似,但用PT100传感器元件测量耗散温度。PT100是常见温度计,在0°C时铂元素电阻为100Ω。搭配AD693放大器提供预校准的电阻温度探测器(RTD)接口,可在0至+104°C温度范围内精确测量。输出电流范围为4至20 mA,通过计算与电源串联的390Ω电阻上的电压降来测量。使用标准1 GHz数字示波器,并连接到运行Matlab的PC来控制测量过程。
为精确刻画温度泄漏,从芯片背面进行解封装,直接在硅基板表面测量温度耗散。PT100周围使用导热膏以稳定准确地感测温度。不过,不解封装芯片在封装表面测量温度(非侵入式攻击)也能得到类似结果,只是泄漏稍弱。整体设置包括用于与ATmega162通过串行通信接口通信的控制板。
2.2 温度分析
为刻画目标设备的泄漏情况,测量各种处理中间字节的温度耗散,并使用长采集窗口评估热导率和电容的影响。以MOV指令为目标操作,将一个输入字节的所有可能值(256个)移动到24个内部寄存器。在循环中执行这些MOV指令,循环索引和执行持续时间可由PC配置。温度耗散测量持续20 s,前10 s将零值移动到寄存器,后10 s将当前输入字节值写入所有寄存器。对每个输入字节值测量100条轨迹并求平均值以减少噪声。
从测量结果可知,温度变化与处理值的汉明重量相关。当实际输入字节写入时,温度会根据处理值的汉明重量升高。温度与设备的功率模型线性相关,电路活动高时(位转换多),耗散温度升高;电路活动低时(位转换少或无),温度降低。这不仅适用于动态功耗(由电容充放电引起),也适用于静态功耗(由亚阈值和泄漏电流引起),两者都会导致平均直流温度升高。
温度升高和降低非常缓慢,在电路活动持续高或低的情况下,10 s内温度变化约0.3°C。原因主要有两点:一是温度变化受导热物理特性限制,从芯片到传感元件的热流可看作包含电阻和电容的RC网络,其具有大的热电容,像低通滤波器,截止频率低,高频泄漏(>1 MHz)难以从该侧信道利用;二是使用的温度传感器有一定响应时间和采集分辨率,如PT100热响应时间为100 ms,分辨率为0.01°C。
温度侧信道带宽非常低,限制了实际攻击。以下是可能的低频温度泄漏攻击场景:
1. 若数据泄漏持续数毫秒或数秒,利用温度侧信道的攻击是可行的。例如应用程序在循环中反复检查密码时,即使在有限频段内也有足够信息支持低带宽攻击。
2. 许多RSA实现涉及耗时操作,如模幂运算,会产生低频信号,可通过低频声学攻击揭示,也能从温度侧信道提取。
3. 利用静态功耗泄漏的攻击尚未得到充分研究。随着CMOS技术缩小,静态泄漏变得更显著。利用静态功耗的温度攻击受益于较宽松的时间约束,因为泄漏在无限时间内静态可用。
3. 利用AVR的加热故障攻击
3.1 实验设置与RSA实现
本部分通过让目标设备超出最大温度额定值运行,产生可利用的加热故障。每个电子设备都有制造商规定的正确运行温度范围,超出该范围可能导致存储或处理的数据被修改,可利用错误的加密操作揭示密钥。
实验使用之前实验中的ATmega162,为证明攻击的可行性,实现RSA并诱导加热故障,成功提取加密数据时使用的私钥。使用Schott仪器的低成本实验室加热板(SLK 1)加热ATmega162,将微控制器正面朝下放在热板表面以实现良好的热传递。通过计算两个PT100传感器的平均值来更准确地测量内部IC的温度,一个PT100放在ATmega162背面,另一个放在加热板表面,两个PT100连接到示波器。
仅连接和使用ATmega162的六个必要引脚:电源(VCC和地)、串行通信(RX和TX)、时钟信号和复位。使用裸露电线连接以避免长时间受热时与热板接触和焊料熔化。使用FPGA板(Spartan - 3)作为控制设备,连接到测量PC。
目标是实现中国剩余定理(CRT)的RSA实现,该攻击简单且文献记载详细,计算过程中仅一个错误就能揭示秘密RSA素数p和q,使用Sage进行错误计算的攻击和评估。
3.2 加热目标设备
加热板有十个可手动调节的加热阶段,最高可达1000 K(约727°C),手动调节约5分钟可将被测设备加热到150°C。观察发现,加热温度高于约160°C时,ATmega162不再响应请求,这远高于设备规格中给出的工作温度最大值( - 55°C至+125°C),接近最大存储温度额定值150°C。关键发现是,设备在约152至158°C的加热窗口内开始产生故障,在此窗口内,由于计算过程中诱导的故障,设备输出错误结果的概率较高。
为量化这种行为,对该设备进行了约70分钟的多次测量,每650 ms执行一次RSA解密操作,并通过手动调节加热板将加热温度保持在150至160°C之间。结果得到100个故障,其中31个可利用,即攻击揭示了一个使用的素数模。在其他情况中,故障发生在I/O通信或计算的其他部分,导致错误签名输出与正确签名输出的差值与RSA模互质,无法分解。在31个故障计算中,16个揭示了素数模p,15个揭示了素数模q,故障揭示p或q的概率约为50%,这是预期结果,因为p和q大小相近,使用这些素数进行模幂运算的时间相同,提供相同的故障诱导窗口。此外,31个故障计算中有23个是唯一不同的,7个故障重复,可能是某些内部存储位置或内部逻辑部分对加热更敏感,导致相同的RSA输出。大多数故障发生在152至158°C之间,平均故障诱导温度约为154.4°C。
使用其他新的ATmega162设备进行相同实验,结果表明每个设备的平均故障诱导温度略有不同,故障数量也因设备而异,可能是因为温度需手动调节且每次测量有差异,但所有设备的攻击都在不到30分钟内成功。
3.3 实验结果总结
| 实验参数 | 结果 |
|---|---|
| 加热时间到150°C | 约5分钟 |
| 设备无响应温度 | 约160°C |
| 故障产生温度窗口 | 152 - 158°C |
| 平均故障诱导温度 | 约154.4°C |
| 总故障数 | 100个 |
| 可利用故障数 | 31个 |
| 揭示素数模p的故障数 | 16个 |
| 揭示素数模q的故障数 | 15个 |
| 唯一故障数 | 23个 |
| 重复故障数 | 7个 |
3.4 实验流程
graph TD
A[开始实验] --> B[设置加热板并放置ATmega162]
B --> C[手动调节加热至150 - 160°C]
C --> D[每650ms执行RSA解密操作]
D --> E{是否产生故障}
E -- 是 --> F[判断故障是否可利用]
F -- 是 --> G[分析揭示素数模]
F -- 否 --> D
E -- 否 --> D
G --> H[记录实验结果]
H --> I[实验结束]
4. 对AVR的数据残留攻击
4.1 数据残留效应原理
本部分主要刻画ATmega162内部SRAM单元的数据残留效应特性。我们知道,设备每次上电后存储在相同位置的数据(如从程序内存/闪存加载到RAM的密钥)会留下永久印记,后续可以被恢复。例如,P. Gutmann在相关研究中指出,长时间存储在SRAM或DRAM中的数据,即使在多年后再次上电时仍能记住其值。R. Anderson和M. Kuhn曾利用这一效应,从20世纪80年代末的旧银行安全模块中成功恢复了90 - 95%的DES主密钥。C. Cakir等人对较新的65 nm CMOS RAM的数据残留效应进行了研究,虽因新的SRAM结构,恢复效率不算高,但仍能恢复约18%的整个SRAM内容(实际上,在22%可预测位中,82%被正确恢复)。
SRAM数据残留效应可以用负偏压温度不稳定性(NBTI)来解释。当SRAM单元受到大量加热时,会加速老化,内部晶体管参数发生变化。NBTI现象最早在20世纪60年代末被发现,此后许多研究人员发现,这种效应会降低晶体管的速度、驱动电流和噪声容限等参数。具体来说,当晶体管在高温下承受负栅极电压时,如在老化应力期间,其(绝对)阈值电压会发生变化。
4.2 实验过程与结果
为了研究ATmega162的SRAM数据残留效应,我们进行了相关实验。在实验中,我们对ATmega162进行长时间的加热操作,模拟数据在SRAM中长时间存储的情况。经过一系列实验步骤后,我们发现通过这种方式,能够识别出永久和瞬态的NBTI退化组件。最终,我们成功地完全恢复了ATmega162整个内存的65%。这表明,数据残留效应在ATmega162的SRAM中是显著存在的,并且可以被有效地利用来恢复存储的数据。
4.3 实验结果分析
| 分析项目 | 详情 |
|---|---|
| 数据残留效应基础 | SRAM单元受热后因NBTI导致内部晶体管参数变化,数据留下印记 |
| 可恢复内存比例 | 整个内存的65% |
| 退化组件识别 | 永久和瞬态的NBTI退化组件 |
4.4 实验流程
graph TD
A[开始实验] --> B[对ATmega162进行长时间加热]
B --> C[识别NBTI退化组件]
C --> D[尝试恢复内存数据]
D --> E{是否恢复成功}
E -- 是 --> F[记录恢复比例和相关信息]
E -- 否 --> D
F --> G[实验结束]
5. 总结与展望
5.1 研究总结
本文围绕AVR和PIC 8位微控制器开展了一系列与温度相关的攻击研究。在温度泄漏特性刻画方面,我们发现ATmega162微控制器会通过低频温度侧信道泄漏处理数据的汉明重量,温度与设备的功率模型线性相关,但温度侧信道带宽低,限制了实际攻击。在加热故障攻击中,我们让ATmega162超出最大温度额定值运行,成功提取了RSA实现中的私钥,并且发现设备在特定温度窗口内易产生故障,不同设备的故障诱导温度和故障数量存在差异。在数据残留攻击方面,我们利用ATmega162内部SRAM单元的数据残留效应,识别出NBTI退化组件,成功恢复了大部分内存数据。
5.2 潜在风险与防范建议
这些研究结果揭示了电子设备在温度相关方面存在的安全风险。攻击者可能利用温度侧信道泄漏、加热故障和数据残留效应来获取设备中的敏感信息,如私钥等。为了防范这些攻击,设备制造商可以采取以下措施:
1.
优化电路设计
:减少电路活动与温度之间的关联,降低温度侧信道泄漏的可能性。例如,采用更复杂的电路结构或优化算法,使位转换更加随机,减少因位转换导致的温度变化。
2.
温度保护机制
:在设备中设置温度传感器和保护电路,当温度超出安全范围时,自动采取措施,如降低设备性能、切断电源等,防止因高温导致的数据损坏或泄漏。
3.
数据加密与存储策略
:对敏感数据进行加密存储,并定期更换加密密钥。同时,避免将敏感数据长时间存储在同一位置,减少数据残留效应的影响。
5.3 未来研究方向
未来的研究可以从以下几个方面展开:
1.
进一步探索温度侧信道
:研究如何提高温度侧信道的带宽,或者开发更有效的方法来利用低频温度泄漏,以应对不同的攻击场景。
2.
攻击防范技术研究
:针对温度相关的攻击,开发更强大的防范技术,如基于机器学习的异常检测算法,能够实时监测设备的温度变化和电路活动,及时发现潜在的攻击行为。
3.
新型攻击场景研究
:随着电子设备技术的不断发展,可能会出现新的温度相关攻击场景。研究人员需要关注这些潜在的攻击场景,并提前开展防范研究。
超级会员免费看
14

被折叠的 条评论
为什么被折叠?



