26、温度侧信道与加热故障攻击

温度侧信道与加热故障攻击

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. 新型攻击场景研究 :随着电子设备技术的不断发展,可能会出现新的温度相关攻击场景。研究人员需要关注这些潜在的攻击场景,并提前开展防范研究。

【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究改进中。
标题中的"EthernetIP-master.zip"压缩文档涉及工业自动化领域的以太网通信协议EtherNet/IP。该协议由罗克韦尔自动化公司基于TCP/IP技术架构开发,已广泛应用于ControlLogix系列控制设备。该压缩包内可能封装了协议实现代码、技术文档或测试工具等核心组件。 根据描述信息判断,该资源主要用于验证EtherNet/IP通信功能,可能包含测试用例、参数配置模板及故障诊断方案。标签系统通过多种拼写形式强化了协议主题标识,其中"swimo6q"字段需结合具体应用场景才能准确定义其技术含义。 从文件结构分析,该压缩包采用主分支命名规范,符合开源项目管理的基本特征。解压后预期可获取以下技术资料: 1. 项目说明文档:阐述开发目标、环境配置要求及授权条款 2. 核心算法源码:采用工业级编程语言实现的通信协议栈 3. 参数配置文件:预设网络地址、通信端口等连接参数 4. 自动化测试套件:包含协议一致性验证和性能基准测试 5. 技术参考手册:详细说明API接口规范集成方法 6. 应用示范程序:展示设备数据交换的标准流程 7. 工程构建脚本:支持跨平台编译和部署流程 8. 法律声明文件:明确知识产权归属及使用限制 该测试平台可用于构建协议仿真环境,验证工业控制器现场设备间的数据交互可靠性。在正式部署前开展此类测试,能够有效识别系统兼容性问题,提升工程实施质量。建议用户在解压文件后优先查阅许可协议,严格遵循技术文档的操作指引,同时需具备EtherNet/IP协议栈的基础知识以深入理解通信机制。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值