当前位置:首页 > 嵌入式培训 > 单片机学习 > 单片机教程 > 浅谈单片机解密 单片机解密方法

浅谈单片机解密 单片机解密方法 时间:2018-07-18      来源:未知

众所周知,现在做单片机解密的一大部分都是想对别人的产品来动心思做仿冒,当今就出现了一个这样的行业,这种行业是游走在法律的边缘,可以说是很不道德的,这种行业它的路还能走多远呢,可想而知,不过还有一部分是解密以后拿来做研究和学习的,那么这一部分的就是值得鼓励的,但是想要做单片机解密可不是那么容易的,下面具体介绍什么是单片机解密和单片机解密的具体方法。

一、什么是单片机解密

单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。什么叫单片机解密呢?如果要非法读出里的程式,就必需解开这个密码才能读出来,这个过程通常称为单片机解密或芯片加密。

为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序;如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。大部分单片机程式写进单片机后,工程师们为了防止他人非法盗用,所以给加密,以防他人读出里面的程式。

单片机加解密可划分为两大类,一类是硬件加解密,一类是软件加解密。硬件加密,对于单片机来说,一般是单片机厂商将加密熔丝固化在IC内,熔丝有加密状态及不加密状态,如果处于加密状态,一般的工具是读取不了IC里面的程序内容的,要读取其内容,这就涉及到硬件解密,必须有专业的硬件解密工具及专业的工程师。

其实任何一款单片机从理论上讲,攻击者均可利用足够的投资和时间使用以上方法来攻破。这是系统设计者应该始终牢记的基本原则,因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。

二、单片机解密方法

芯片解密所要具备的条件是:

第一、你有一定的知识,懂得如何将一个已加密的芯片变为不加密。

第二、必须有读取程序的工具,可能有人就会说,无非就是一个编程器。是的,就是一个编程器,但并非所有的编程器是具备可以读的功能。这也是就为什么我们有时候为了解密一个芯片而会去开发一个可读编程器的原因。具备有一个可读的编程器,那我们就讲讲,芯片解密常有的一些方法。

1、软件攻击:

该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。

至于在其他加密方法的基础上,可以研究出一些设备,配合一定的软件,来做软件攻击。近期国内。凯基迪科技。出现了一种51芯片解密设备(成都一位高手搞出来的),这种解密器主要针对SyncMos.Winbond,在生产工艺上的漏洞,利用某些编程器定位插字节,通过一定的方法查找芯片中是否有连续空位,也就是说查找芯片中连续的FFFF字节,插入的字节能够执行把片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了。

2、电子探测攻击 :

该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。 至于RF编程器可以直接读出老的型号的加密MCU中的程序,就是采用这个原理。

3、过错产生技术:

该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。

4、探针技术:

该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。

5、紫外线攻击方法:

紫外线攻击也称为UV攻击方法,就是利用紫外线照射芯片,让加密的芯片变成了不加密的芯片,然后用编程器直接读出程序。这种方法适合OTP的芯片,做单片机的工程师都知道OTP的芯片只能用紫外线才可以擦除。那么要擦出加密也是需要用到紫外线。目前台湾生产的大部分OTP芯片都是可以使用这种方法解密的,感兴趣的可以试验或到去下载一些技术资料。OTP芯片的封装有陶瓷封装的一半会有石英窗口,这种事可以直接用紫外线照射的,如果是用塑料封装的,就需要先将芯片开盖,将晶圆暴露以后才可以采用紫外光照射。由于这种芯片的加密性比较差,解密基本不需要任何成本,所以市场上这种芯片解密的价格非常便宜,比如SONIX的SN8P2511解密,飞凌单片机解密等价格就非常便宜。

6、利用芯片漏洞:

很多芯片在设计的时候有加密的漏洞,这类芯片就可以利用漏洞来攻击芯片读出存储器里的代码,比如我们以前的文章里提到的利用芯片代码的漏洞,如果能找到联系的FF这样的代码就可以插入字节,来达到解密。还有的是搜索代码里是否含有某个特殊的字节,如果有这样的字节,就可以利用这个字节来将程序导出。这类芯片解密以华邦、新茂的单片为例的比较多,如W78E516解密,N79E825解密等,ATMEL的51系列的AT89C51解密是利用代码的字节漏洞来解密的。另外有的芯片具有明显的漏洞的,比如在加密后某个管脚再加电信号的时候,会使加密的芯片变成不加密的芯片,由于涉及到国内某家单片机厂家,名称就不列出来了。目前市场上能看到的芯片解密器都是利用芯片或程序的漏洞来实现解密的。不过外面能买到的解密其基本上是能解得型号很少,因为一般解密公司都不会将核心的东西对外公布或转让。而解密公司自己内部为了解密的方便,自己会使用自制的解密工具,如果致芯科技具有可以解密MS9S09AW32的解密器、能专门解密LPC2119LPC2368等ARM的解密器,使用这样的解密器解密速度快,客户到公司基本上立等可取。

7、FIB恢复加密熔丝方法:

这种方法适用于很多的具有熔丝加密的芯片,最具有代表性的芯片就是TI的MSP430解密的方法,因为MSP430加密的时候要烧熔丝,那么只要能将熔丝恢复上,那就变成了不加密的芯片了,如MSP430F1101A解密、MSP430F149解密、MSP430F425解密等。一般解密公司利用探针来实现,将熔丝位连上,也有的人因为自己没有太多的解密设备,需要交由其它半导体线路修改的公司来修改线路,一般可以使用FIB(聚焦离子束)设备来将线路连接上,或是用专用的激光修改的设备将线路恢复。这些设备目前在国内的二手设备很多,也价格很便宜,一些有实力的解密公司都配置了自己的设备。这种方法由于需要设备和耗材,不是好的方法,但是很多芯片如果没有更好的方法的时候,就需要这种方法来实现。

8、修改加密线路的方法:

目前市场上的CPLD以及DSP芯片设计复杂,加密性能要高,采用上述方法是很难做到解密的,那么就需要对芯片结构作前面的分析,然后找到加密电路,然后利用芯片线路修改的设备将芯片的线路做一些修改,让加密电路失效,让加密的DSP或CPLD变成了不加密的芯片从而可以读出代码。

如TMS320LF2407A解密,TMS320F28335、TMS320F2812解密就是采用这种方法。

最后鼓励一下想做那些做研究和学习的,希望看过这篇文章能得到帮助。

上一篇:干货:A7139射频模块wor配置解析

下一篇:51单片机与ARM的优势对比 结果显而易见

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部