您的位置 首页 电源

单片机内部暗码破解的常用办法解析

单片机内部密码破解的常用方法解析-单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓单片机加密或者说锁定功能。

本文介绍了单片机内部暗码破解的常用办法,要点说明晰侵入型进犯/物理进犯办法的具体进程,最终提出了抵挡破解的几点主张,期望对国内产品常识的维护作出贡献。

单片机(MCU)一般都有内部EEPROM/FLASH供用户寄存程序和作业数据。为了避免未经授权拜访或复制单片机的机内程序,大部分单片机都带有加密确定位或许加密字节,以维护片内程序。假如在编程时加密确定位被使能(确定),就无法用一般编程器直接读取单片机内的程序,这便是所谓单片机加密或许说确定功用。事实上,这样的维护措施很软弱,很简略被破解。单片机进犯者凭借专用设备或许克己设备,运用单片机芯片规划上的缝隙或软件缺点,经过多种技能手法,就能够从芯片中提取要害信息,获取单片机内程序。因而,作为电子产品的规划工程师十分有必要了解当时单片机进犯的最新技能,做到知己知彼,心中有数,才干有用避免自己花费很多金钱和时刻辛辛苦苦规划出来的产品被人家一夜之间仿冒的作业发生。

单片机进犯技能

现在,进犯单片机首要有四种技能,分别是:

(1)软件进犯

该技能一般运用处理器通讯接口并运用协议、加密算法或这些算法中的安全缝隙来进行进犯。软件进犯取得成功的一个典型案例是对前期ATMEL AT89C 系列单片机的进犯。进犯者运用了该系列单片机擦除操作时序规划上的缝隙,运用自编程序在擦除加密确定位后,中止下一步擦除片内程序存储器数据的操作,然后使加过密的单片机变成没加密的单片机,然后运用编程器读出片内程序。

现在在其他加密办法的基础上,能够研讨出一些设备,合作必定的软件,来做软件进犯。

近期国内呈现了了一种51单片机解密设备(成都一位高手搞出来的),这种解密器首要针对SyncMos. Winbond,在生产工艺上的缝隙,运用某些编程器定位插字节,经过必定的办法查找芯片中是否有接连空位,也便是说查找芯片中接连的FF FF字节,刺进的字节能够履行把片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完结了。

(2) 电子勘探进犯

该技能一般以高时刻分辨率来监控处理器在正常操作时一切电源和接口衔接的模仿特性,并经过监控它的电磁辐射特性来施行进犯。由于单片机是一个活动的电子器件,当它履行不同的指令时,对应的电源功率消耗也相应改变。这样经过运用特别的电子丈量仪器和数学计算办法剖析和检测这些改变,即可获取单片机中的特定要害信息。

现在RF编程器能够直接读出老的类型的加密MCU中的程序,便是选用这个原理。

示波器探头)

(勘探到的波形)

(3)差错发生技能

该技能运用反常作业条件来使处理器犯错,然后供给额定的拜访来进行进犯。运用最广泛的差错发生进犯手法包含电压冲击和时钟冲击。低电压和高电压进犯可用来制止维护电路作业或强制处理器履行错误操作。时钟瞬态跳变或许会复位维护电路而不会损坏受维护信息。电源和时钟瞬态跳变能够在某些处理器中影响单条指令的解码和履行。

(4)探针技能

该技能是直接露出芯片内部连线,然后调查、控制、搅扰单片机以到达进犯意图。

为了便利起见,人们将以上四种进犯技能分红两类,一类是侵入型进犯(物理进犯),这类进犯需求损坏封装,然后凭借半导体测验设备、显微镜和微定位器,在专门的实验室花上几小时乃至几周时刻才干完结。一切的微探针技能都归于侵入型进犯。别的三种办法归于非侵入型进犯,被进犯的单片机不会被物理损坏。在某些场合非侵入型进犯是特别风险的,这是由于非侵入型进犯所需设备一般能够克己和晋级,因而十分廉价。

大部分非侵入型进犯需求进犯者具有杰出的处理器常识和软件常识。与之相反,侵入型的探针进犯则不需求太多的初始常识,并且一般可用一整套类似的技能抵挡宽规模的产品。因而,对单片机的进犯往往从侵入型的反向工程开端,堆集的经历有助于开发愈加廉价和快速的非侵入型进犯技能。

侵入型进犯的一般进程

侵入型进犯的榜首步是揭去芯片封装(简称“开盖”有时分称“开封”,英文为“DECAP”,decapsulaTIon)。有两种办法能够到达这一意图:榜首种是彻底溶解掉芯片封装,露出金属连线。第二种是只移掉硅核上面的塑料封装。榜首种办法需求将芯片绑定到测验夹具上,凭借绑定台来操作。第二种办法除了需求具有进犯者必定的常识和必要的技能外,还需求个人的才智和耐性,但操作起来相对比较便利,彻底家庭中操作。

PIC12C508A部分隔盖)

(EM78P567部分隔盖,这个是手艺开的)

(彻底溶解掉芯片封装)

芯片上面的塑料能够用小刀揭开,芯片周围的环氧树脂能够用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该进程一般在十分枯燥的条件下进行,由于水的存在或许会腐蚀已露出的铝线衔接 (这就或许形成解密失利)。

接着在超声池里先用丙酮清洗该芯片以除掉剩余硝酸,并浸泡。

最终一步是寻觅维护熔丝的方位并将维护熔丝露出在紫外光下。一般用一台扩大倍数至少100倍的显微镜,从编程电压输入脚的连线盯梢进去,来寻觅维护熔丝。若没有显微镜,则选用将芯片的不同部分露出到紫外光下并调查成果的办法进行简略的查找。操作时运用不透明的纸片掩盖芯片以维护程序存储器不被紫外光擦除。将维护熔丝露出在紫外光下5~10分钟就能损坏掉维护位的维护效果,之后,运用简略的编程器就可直接读出程序存储器的内容。

关于运用了防护层来维护EEPROM单元的单片机来说,运用紫外光复位维护电路是不可行的。关于这种类型的单片机,一般运用微探针技能来读取存储器内容。在芯片封装翻开后,将芯片置于显微镜下就能够很简略的找到从存储器连到电路其它部分的数据总线。由于某种原因,芯片确定位在编程形式下并不确定对存储器的拜访。运用这一缺点将探针放在数据线的上面就能读到一切想要的数据。在编程形式下,重启读进程并衔接探针到别的的数据线上就能够读出程序和数据存储器中的一切信息。

还有一种或许的进犯手法是凭借显微镜和激光切割机等设备来寻觅维护熔丝,然后寻查和这部分电路相联系的一切信号线。由于规划有缺点,因而,只需堵截从维护熔丝到其它电路的某一根信号线(或切割掉整个加密电路)或衔接1~3根金线(一般称FIB:focused ion beam),就能制止整个维护功用,这样,运用简略的编程器就能直接读出程序存储器的内容。

(上图为FIB及Flip Chip FIB剖析)

单片机内部暗码破解的常用办法解析

(上图为电路修正暗示框图)

(上图为PIC12C508A切割掉加密融丝后扩大1000X后的图片)

尽管大多数一般单片机都具有熔丝烧断维护单片机内代码的功用,但由于通用等级低的单片机并非定坐落制造安全类产品,因而,它们往往没有供给有针对性的防范措施且安全级别较低。加上单片机运用场合广泛,出售量大,厂商间托付加工与技能转让频频,很多技能资料外泻,使得运用该类芯片的规划缝隙和厂商的测验接口,并经过修正熔丝维护位等侵入型进犯或非侵入型进犯手法来读取单片机的内部程序变得比较简略。

应对单片机破解的几点主张

任何一款单片机从理论上讲,进犯者均可运用满足的出资和时刻运用以上办法来攻破。所以,在用单片机做加密认证或规划体系时,应尽量加大进犯者的进犯本钱和所消耗的时刻。这是体系规划者应该一直紧记的基本原则。除此之外,还应留意以下几点:

(1)在选定加密芯片前,要充沛调研,了解单片机破解技能的新进展,包含哪些单片机是现已承认能够破解的。尽量不选用已可破解或同系列、同类型的芯片挑选选用新工艺、新结构、上市时刻较短的单片机,如能够运用ATMEGA88/ATMEGA88V,这种国内现在破解的费用一需求6K左右,别的现在相对难解密的有PIC12F683,PIC16F690,PIC16F913,16F54,16F57,PIC16F628,AT89S54等;其他也能够和CPLD结合加密,这样解密费用很高,解密一般的CPLD也要1万左右。

(2)尽量不要选用MCS51系列单片机,由于该单片机在国内的遍及程度最高,被研讨得也最透。

(3)产品的原创者,一般具有产量大的特色,所以可选用比较冷僻、偏冷门的单片机来加大仿冒者收购的难度,选用一些冷僻的单片机,比方ATTINY2313,AT89C51RD2,AT89C51RC2,motorola单片机等比较难解密的芯片,现在国内会开发运用了解motorola单片机的人很少,所以破解的费用也适当高,从3000~3万左右。

(4)在规划本钱答应的条件下,应选用具有硬件自毁功用的智能卡芯片,以有用抵挡物理进犯;别的程序规划的时分,参加时刻到计时功用,比方运用到1年,主动中止一切功用的运转,这样会添加破解者的本钱。

(5)假如条件答应,可选用两片不同类型单片机互为备份,彼此验证,然后添加破解本钱。

(6)打磨掉芯片类型等信息或许从头印上其它的类型,以假乱真。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/345529.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部