单片机解密
又称单片机解密、芯片解密、IC解密,但
严格来说,这些名称并不科学,但它已经成为一个习惯性的名称,我们习惯了CPLD解密,DSP解密都习惯了称为MCU解密。微控制器只是可以加载程序芯片的类之一。可以烧录程序和加密的芯片有DSP、CPLD、PLD、AVR、ARM等。当然,具有存储功能的存储芯片也可以加密,如DS2401、DS2501、AT88S0104 DM2602 AT88SC0104D等,其中还有专门设计的加密算法,用于专业加密芯片或设计验证厂家代码工作等功能芯片,此类芯片可以达到防止电子产品抄袭的目的。
1、目前单片机的解密方法主要有以下几种:
(1)软件攻击
此技术通常使用处理器通信接口,并利用这些算法中的协议、加密算法或安全漏洞进行攻击。软件攻击成功的一个典型例子是对早期 ATMEL AT89C 系列微控制器的攻击。攻击者利用该系列单片机擦除操作时序设计中的漏洞,在擦除加密锁位后,使用自编程程序停止下一步擦除片上程序存储器数据,使过度加密的单片机变成未加密的单片机,然后利用编程器读出片上程序。
目前,在其他加密方法的基础上,可以研究一些设备,并与某些软件一起使用,进行软件攻击。
近日,国内出现了一款51单片机解密装置(由成都某师傅制造),主要针对的是SyncMos。华邦,生产过程中的一个漏洞,利用一些程序员来定位插入字节,通过一定的方法发现芯片中是否存在连续的空位,也就是说,找到芯片中连续的FF FF字节,插入的字节可以执行指令,将芯片中的程序发送到片外, 然后用解密设备拦截,使芯片内部的程序被解密。
(2)电子检测攻击
该技术通常在正常操作期间以高时间分辨率监控处理器所有电源和接口连接的模拟特性,并通过监控其电磁辐射特性来执行攻击。由于微控制器是有源电子设备,当它执行不同的指令时,电源相应的功耗也会相应变化。这样,通过使用特殊的电子测量仪器和数理统计方法分析和检测这些变化,就可以获得微控制器中的具体关键信息。
目前,RF编程器可以直接读出旧型号的加密MCU中的程序,这是基于这个原理。
(3)故障产生技术
此技术使用异常操作条件使处理器出错,然后提供额外的访问权限来执行攻击。最广泛使用的故障生成攻击向量包括电压浪涌和时钟浪涌。低电压和高压攻击可用于禁用保护电路操作或强制处理器执行不正确的操作。时钟瞬态跳变可以在不破坏受保护信息的情况下复位保护电路。电源和时钟瞬态跳变会影响某些处理器中单个指令的解码和执行。
(4)探头技术
该技术直接暴露芯片内部布线,然后对单片机进行观察、操纵、干扰,以达到攻击的目的。为方便起见,
以上四种攻击技术分为两类:侵入式攻击(物理攻击),需要破坏封装,然后借助半导体测试设备、显微镜、微定位仪在专门的实验室中花费数小时甚至数周的时间。所有微探针技术都是侵入性攻击。其他三种方式都是非侵入式攻击,被攻击的单片机不会受到物理破坏。在某些情况下,非侵入性攻击特别危险,因为非侵入性攻击所需的设备通常是自行开发的和可升级的,因此非常便宜。
大多数非侵入式攻击需要良好的处理器和软件知识。相比之下,侵入式探测攻击不需要太多的初始知识,并且通常可以用于具有类似技术集的各种产品。因此,对微控制器的攻击通常从侵入式逆向工程开始,积累的经验有助于开发更具侵入性和快速的非侵入式攻击技术。
2. 侵入式微控制器解密的一般过程
侵入性攻击的第一步是移除芯片封装(有时简称为“解封”)。有两种方法可以做到这一点:第一种是完全溶解芯片封装并露出金属线。第二种是只去掉硅芯顶部的塑料封装。第一种方法要求将芯片绑定到测试夹具上,该夹具在绑定台的帮助下进行操作。第二种方法,除了具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对方便,完全以家庭为基础。芯片
上的塑料可以用刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热浓硝酸会溶解芯片封装,而不会影响芯片和布线。该过程通常在非常干燥的条件下进行,因为水的存在可能会腐蚀裸露的铝线连接(这可能导致解密失败)。
然后用丙酮在超声波池中清洗芯片以去除残留的硝酸并浸泡。
最后一步是找到保护保险丝的位置,并将保护保险丝暴露在紫外线下。通常,使用放大倍率至少为100倍的显微镜从编程电压输入引脚的连接处进行跟踪,以找到保护保险丝。在没有显微镜的情况下,通过将芯片的不同部分暴露在紫外光下并观察结果来执行简单的搜索。在操作过程中,应使用一张不透明的纸覆盖芯片,以保护程序存储器不被紫外线擦除。将保护保险丝暴露在紫外线下5~10分钟会破坏保护位置的保护效果,之后,可以使用简单的编程器直接读出程序存储器的内容。对于使用保护
层来保护EEPROM单元的微控制器,使用UV光复位保护电路是不可行的。对于这种类型的微控制器,通常使用微探针技术来读取存储器内容。一旦芯片封装被打开,将芯片放在显微镜下,就可以很容易地找到从存储器连接到电路其余部分的数据总线。出于某种原因,芯片锁定位在编程模式下不会锁定对存储器的访问。利用这个缺点,将探头放在数据线的顶部可以读取您想要的所有数据。在编程模式下,通过重新启动读取过程并将探头连接到单独的数据线,可以读出程序和数据存储器中的所有信息。
另一种可能的攻击方法是使用显微镜和激光切割机等设备来寻找保护保险丝,从而找到连接到这部分电路的所有信号线。由于设计有缺陷,只要切断从保护熔断器到其他电路的某条信号线(或切断整个加密电路)或连接1~3根金线(通常称为FIB:聚焦离子束),就可以禁用整个保护功能,使程序存储器的内容可以直接使用简单的编程器读取。
虽然大多数普通单片机都具有熔断器浪涌功能来保护单片机中的代码,但由于通用的低端单片机并不定位于制造安全产品,因此往往没有提供针对性的预防措施,安全性水平较低。此外,单片机应用范围广,销量大,厂商之间委托加工和技术转移频繁,技术数据泄露较多,这使得利用这类芯片的设计漏洞和厂家的测试接口更容易,通过修改侵入式攻击或熔断器保护位等非侵入式攻击方式来读取单片机的内部程序。
MCU解密主要应用于PCB复制板,解密芯片中的程序是电路板的控制核心,是功能实现的基础。(PCB复制,即在已经有电子产品和电路板的前提下,采用逆向研发技术对电路板进行反向分析,将原始产品PCB文件、物料清单(BOM)文件、原理图文件等技术文件与PCB丝印生产文件1:1还原, 然后这些技术文件和生产文件用于PCB板制作, 元件焊接, 飞针测试, 电路板调试, 并完成原始电路板模板的完整副本。)
经过多年的研究,鑫
鑫科技对单片机的算法、架构和工艺进行了深入研究,精心设计的解密技术工艺不仅保证了解密芯片的绝对安全性,而且最大限度地减少了芯片解密的周期,极大地保证了客户在解密过程中的工程控制和经济效益。专业提供各类MCU微机解密、ARM芯片解密、CPLD芯片解密、FPGA芯片解密等解密服务,具体型号欢迎咨询我司客服人员。