芯片解密的解密方法
这种技术通常使用处理器的通信接口,利用协议、加密算法或这些算法中的安全漏洞进行攻击。软件攻击成功的典型例子是对早期ATMEL AT89C系列单片机的攻击。攻击者利用该系列单片机擦除操作的顺序设计上的漏洞,在擦除加密锁后停止下一次擦除芯片程序存储器中数据的操作,使加密的单片机变成未加密的单片机,然后用编程器读取片上程序。
在其他加密方法的基础上,可以开发一些设备配合某些软件做软件攻击。
最近国内出现了一个51的芯片解密装置(成都一位高手做的)。这个解密器主要针对SyncMos生产过程中的漏洞。Winbond,并使用一些程序员定位插入的字节,通过一定的方法找出芯片中是否有连续的空位,也就是说找出芯片中连续的FF FF字节。插入的字节可以执行指令将片内程序发送到片外,然后使用解密设备执行。该技术通常以高时间分辨率监测处理器正常工作时所有电源和接口连接的模拟特性,通过监测其电磁辐射特性实施攻击。由于单片机是一个移动电子设备,当它执行不同的指令时,对应的电源功耗也随之变化。这样,通过使用特殊的电子测量仪器和数理统计方法来分析和检测这些变化,就可以在单片机中获得特定的关键信息。
至于射频编程器可以直接读出旧的加密单片机中的程序,就是采用了这个原理。这种技术是直接暴露芯片内部布线,然后观察、操纵、干扰单片机,达到攻击的目的。
为了方便起见,人们将上述四种攻击技术分为两类。一种是侵入式攻击(物理攻击),需要破坏封装,然后在半导体测试设备、显微镜和微定位器的帮助下,在专门的实验室中花费数小时甚至数周完成。所有的微探针技术都是入侵性攻击。另外三种方法属于非侵入式攻击,被攻击的微控制器不会受到物理损伤。非侵入式攻击在某些情况下特别危险,因为非侵入式攻击需要的设备通常可以自制和升级,所以非常便宜。
大多数非侵入式攻击要求攻击者具备良好的处理器知识和软件知识。相比之下,入侵探测攻击不需要太多的初始知识,通常可以使用一组类似的技术来处理广泛的产品。所以对单片机的攻击往往是从有创逆向工程开始的,积累的经验有助于开发更便宜更快速的无创攻击技术。