MCU是如何被破解的?(附MCU攻防技巧)
击MC68C05B6.如果在执行AND $0100指令时电源电压减少50-70%,处理器从EEPROM中取出的值是FFh而不是实际的值。这会对应熔丝未加密状态。窍门是小心计算执行时间来减少电源电压,否则处理器会停止运行或进入复位状态。这种任务并不难,复位后目标指令在第一个一百周期内被执行。破解者可以使用矢量发生器或构建一个自己的噪声源。
另一个是微芯的老旧的PIC16F84。芯片的擦除操作会解除安全保护。但同时会芯片上程序和数据存储器中的内容。安全保护电路在硬件设计上是在安全熔丝复位之前擦掉存储器。但我们发现在芯片擦除操作时电源电压几微秒内增加到大约10V,会中断存储器擦除操作,但安全熔丝正常完成复位,这使得有可能读出存储器里的内容。如此高压需要谨慎使用,如果时间过长会损伤芯片。新版本的PIC16F84A增加了防欠压和过压攻击的能力。如果电源电压低于3V或6V,通过编程接口的任意修改存储器的操作会被立即中断。
不是一直需要电源噪声超过电源电压范围的规格。例如,PIC18F84A微控制器,保护机制可以阻止在芯片擦除操作开始后使用大于50mV的噪声。那会导致中止程序存储器的擦除操作但不会擦掉熔丝。
上述例子表明噪声攻击时无需特殊工具就有很好的效果。智能卡里有时钟监控电路但极少微控制器有。
数据保持能力分析(Data remanence)

处理器一般会把密钥保存在静态RAM里,如果元器件被篡改就会掉电,RAM内容丢失,从而保护密钥不被窃取。众所周知的是在低于零下20度时,SRAM里的内容会"冰冻"。很多元器件把温度低于这个阈值视为发生篡改事件。我们做了一些实验来确定现代SRAM数据保持能力与温度的关系。我们的实验表明传统的思维不再有效。即使在高温下,数据保持能力也是个问题。数据保持能力不仅仅对SRAM有影响,对DRAM, UV EPROM, EEPROM和闪存也有影响。结果是,仍然可以从已擦除的存储器中获得一些信息。这会给安全设备带来很多问题。
安全工程师都很关注断电后SRAM器件能保持数据的时间。原因如下:很多产品使用密钥或类似的方法进行加密和别的安全相关的计算,需要不能被读出或改变。最普遍的解决方法是把安全密钥放在带篡改传感器的易失存储器中。一旦检测到发生篡改,易失传感器会掉电或短路到地。但如果数据保留时间大于破解者打开元器件并对存储器上电的时间,那保护机制就被摧毁了。
在二十世纪八十年代,发现低温能将SRAM的数据保存时间增加到几秒甚至几分钟。对于那个时候的元器件,发现零下20度就可以增加数据保存时间,并且会随着温度的降低而增加保持的时间。有些就增加了温度传感器,温度低于零下20度就触发篡改事件,立即清零存储器。本次试验是重复这个工作,察看2000年后的产品是否也有此特性。
另一个需要关注的是即使部分内容已被破坏,安全信息也能被复原。假设破解者获得了n=128位密钥中的m=115位,也就是90%的信息。他可以通过搜索n!/(m!(n-m)!=128!/(115!13!)=2.12*1017~258个可能的密钥。通过1万台电脑,每台每秒进行10亿次搜索密钥的操作,破解者只需6个小时就能搜遍所有密钥。如果只有80%的信息,也就是知道128位密钥中的103位,那就有2.51*1026~288 种可能。几乎增大了一百倍,破解者要花百万年来搜索密钥,故认为均匀的128位密钥不能被恢复。
- 基于MCU的智能漏水检测系统设计(10-06)
- 分享来自凌特大牛关于LTC6804相关问题解决方案(06-20)
- 基于飞思卡尔MCU的血糖监测仪应用(09-16)
- 探索利用MCU增加LED照明系统的智能程度的方法(02-07)
- 强化射频与MCU性能 车用77GHz雷达性价比攀升(03-03)
- 飞思卡尔汽车电控系统MCU新方案:关注安全与联网(03-22)
