单片机(MCU)一样平常都有内部程序区和数据区(或者其一)供用户存放程序和事情数据(或者其一)。为了防止未经授访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。
如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就叫单片机加密。干系推举:STM32等单片机程序加密的方法。

单片机程序基本上都存在于Flash中,大部分能够读取或者识别Flash上的数据就能够得到固件文件,从而给复制产品带来了机会。
单片机攻击者借助专用设备或者低廉甜头设备,利用单片机芯片设计上的漏洞或软件毛病,通过多种技能手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。
单片机解密又叫单片机破解、芯片解密、IC解密,但是严格说来这几种称呼都不科学,但已经成了习气叫法,我们把CPLD解密、DSP解密都习气称为单片机解密。单片机只是能装载程序芯片的个中一个类。
能烧录程序并能加密的芯片还有 DSP、CPLD、PLD、AVR、ARM等。当然具有存储功能的存储器芯片也能加密,比如DS2401、DS2501、AT88S0104、DM2602、AT88SC0104D等,当中也有专门设计有加密算法用于专业加密的芯片或设计验证厂家代码事情等功能芯片,该类芯片也能实现防止电子产品复制的目的。
单片机加密、解密的干系文章:
如何解密单片机内程序?
STM32等单片机程序加密的方法
嵌入式物联网须要学的东西真的非常多,千万不要学错了路线和内容,导致人为要不上去!
无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!
某鱼上买估计至少要好几十。
点击这里找小助理0元领取:嵌入式物联网学习资料(头条)
单片机解密方法
1 软件攻击
该技能常日利用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。
比如一个范例事例是对早期XXX系列单片机的攻击。攻击者利用了该系列单片机擦除操作时序设计上的漏洞,利用自编程序在擦除加密锁定位后,停滞下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
目前在其他加密方法的根本上,可以研究出一些设备,合营一定的软件,来做软件解密。
还有比如利用某些编程器定位插字节,通过一定的方法查找芯片中是否有连续空位,也便是说查找芯片中连续的FFFF字节,插入的字节能够实行把片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了。
2 电子探测攻击
该技能常日以高韶光分辨率来监控处理器在正常操作时所有电源和接口连接的仿照特性,并通过监控它的电磁辐射特性来履行攻击。
由于单片机是一个活动的电子器件,当它实行不同的指令时,对应的电源功率花费也相应变革。这样通过利用分外的电子丈量仪器和数学统计方法剖析和检测这些变革,即可获取单片机中的特定关键信息。
3 差错产生技能
该技能利用非常事情条件来使处理器出错,然后供应额外的访问来进行攻击。利用最广泛的差错产生攻击手段包括电压冲击和时钟冲击。
低电压和高电压攻击可用来禁止保护电路事情或逼迫处理器实行缺点操作。时钟瞬态跳变大概会复位保护电路而不会毁坏受保护信息。电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和实行。
该办法便是使得单片机非常运行从而使得单片机处于非保护状态。
4 探针技能
该技能是直接暴露芯片内部连线,然后不雅观察、操控、滋扰单片机以达到攻击目的。
如果芯片内部都完备暴露了,那么芯片相称于在裸奔!
单片机解密分类
为了方便起见,人们将以上四种攻击技能分成两类,一类是侵入型攻击(物理攻击),这类攻击须要 毁坏封装,然后借助半导体测试设备、显微镜和微定位器,在专门的实验室花上几小时乃至几周韶光才能完成。
所有的微探针技能都属于侵入型攻击。其余三种方法属于非侵入型攻击,被攻击的单片机不会被物理破坏。在某些场合非侵入型攻击是特殊危险的,这是由于非侵入型攻击所需设备常日可以低廉甜头和升级,因此非常廉价。
大部分非侵入型攻击须要攻击者具备良好的处理器知识和软件知识。与之相反,侵入型的探针攻击则不须要太多的初始知识,而且常日可用一整套相似的技能对付宽范围的产品。
因此,对单片机的攻击每每从侵入型的反向工程开始,积累的履历有助于开拓更加廉价 和快速的非侵入型攻击技能。
侵入式解密过程
侵入型攻击的第一步是揭去芯片封装(简称“开盖”有时候称“开封”,英文为 “DECAP”,decapsulation)。有两种方法可以达到这一目的:第一种是完备溶解掉芯片封装,暴露金属连线;第二种是只移掉硅核上面的塑料封装。
第一种方法须要将芯片绑定到测试夹具上,借助绑定台来操作。第二种方法除了须要具备攻击者一定的知识和必要的技能外,还须要个人的聪慧和耐心,但操作起来相比拟较方便,完备实验室中操作。
芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸堕落掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一样平常在非常干燥的条件下进行,由于水的存在可能会侵蚀已暴露的铝线连接 (这就可能造成解密失落败)。
接着在超声池里先用丙酮洗濯该芯片以撤除残余硝酸,并浸泡。
末了一步是探求保护熔丝的位置并将保护熔丝暴露在紫外光下。一样平常用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来探求保护熔丝。若没有显微镜,则采取将芯片的不同部分暴露到紫外光下并不雅观察结果的办法进行大略的搜索。
操作时运用不透明的物体覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下5~10分钟就能毁坏掉保护位的保护浸染,之后,利用大略的编程器就 可直接读出程序存储器的内容。
对付利用了防护层来保护EEPROM单元的单片机来说,利用紫外光复位保护电路是不可行的。对付这种类型的单片机,一样平常利用微探针技能来读取存储器内容。在芯片封装打开后,将芯片置于显微镜下就能够很随意马虎的找到从存储器连到电路其它部分的数据总线。
由于某种缘故原由,芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一毛病将探针放在数据线的上面就能读到所有想要的数据。在编程模式下,重启读过程并连接探针到其余的数据线上就可以读出程序和数据存储器中的所有信息。
还有一种可能的攻击手段是借助显微镜和激光切割机等设备来探求保护熔丝,从而寻查和这部分电路相联系的所有旗子暗记线。
由于设计有缺陷,因此,只要割断从保护熔丝到其它电路的某一根旗子暗记线(或切割掉全体加密电路)或连接1~3根金线(常日称 FIB:focused ion beam),就能禁止全体保护功能,这样利用大略的编程器就能直接读出程序存储器的内容。
虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们每每没有供应有针对性的戒备方法且安全级别较低。
加上单片机运用处所广泛,发卖量大,厂商间委托加工与技能转让频繁,大量技能资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修正熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较随意马虎。
对单片机加密几点建议
任何一款单片机从理论上讲,攻击者均可利用足够的投资和韶光利用以上方法来解密。这是系统设计者该当始终牢记的基本原则。
因此,作为电子产品的设计工程师非常有必要理解当前单片机攻击的最新技能,做到心腹知彼,心中有数,才能有效防止自己花费大量金钱和韶光辛辛劳苦设计出来的产品被人家一夜之间仿冒的事情发生。
下面是根据某公司的解密实践提出的建议:
在选定加密芯片前,要充分调研,理解单片机破解技能的新进展,包括哪些单片机是已经确认可以破解的。只管即便不选用已可破解或同系列、同型号的芯片选择采取新工艺、新构造、上市韶光较短的单片机。对付安全性哀求高的项目,只管即便不要利用遍及程度最高,被研究得也最透的芯片。产品的原创者,一样平常具有产量大的特点,以是可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度,选用一些生僻的单片机。在设计本钱容许的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击;其余程序设计的时候,加入韶光到计时功能,比如利用到1年,自动停滞所有功能的运行,这样会增加破解者的本钱。如果条件容许,可采取两片不同型号单片机互为备份,相互验证,从而增加破解本钱。打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真。可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位。你应在程序区写上你的大名单位开拓韶光及仿制必究的说法,以备得到法律保护;其余写上你的大名的时候,可以是随机的,也便是说,采取某种算法,外部门歧条件下,你的名字不同,比如www.XXXXX.com、www.XXXXX.cn、 www.XXXXX.com.cn等,这样比较难反汇编修正。采取高档的编程器,烧断内部的部分管脚,还可以采取低廉甜头的设备烧断金线,这个目前海内险些不能解密,纵然解密,也须要上万的用度,须要多个母片。采取保密硅胶(环氧树脂灌封胶)封住全体电路板,PCB上多一些没有用途的焊盘,在硅胶中还可以掺杂一些没有用途的元件,同时把MCU周围电路的电子元件只管即便抹掉型号。可以用编程器把空缺区域中的FF改成00,也便是把一些未利用的空间都添补好,这样一样平常解密器也就找不到芯片中的空位,也就无法实行往后的解密操作。当然,要想从根本上防止单片机被解密,那是不可能的,加密技能不断发展,解密技能也不断发展,现在不管哪个单片机,只要有人肯出钱去做,基本都可以做出来,只不过代价高低和周期是非的问题,编程者还可以从法律的路子对自己的开拓作出保护,比如专利。
原文链接:https://mp.weixin.qq.com/s/FdR5uCaiUPqOlAmYdh4T2Q
转载自:STM32嵌入式开拓
原文链接:单片机程序被破解了?
本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。









