推荐产品 products
推荐阅读 news
单片机(MCU)解密 是什么?
发布时间:2021-08-27 浏览数:163 文章出自:富瑞世嘉
单片机(MCU)一般有內部程序区和数据信息区(或是其中之一)供用户存放程序和工作数据信息(或是其中之一)。为了能避免未经授访问或复刻单片机(MCU)的机内程序,绝大多数单片机(MCU)都具有加密锁定位或是数据加密字节,以保护片内程序。
如果在编写程序时加密锁定位被使能(锁定),就无法用普通级单片机(MCU)编程器就直接读取单片机(MCU)内的程序,这就叫单片机(MCU)数据加密。(PS:单片机(MCU)程序几乎都存在于Flash中,绝大多数可以读取或是识别flash上的数据信息就可以得到Firmware文件,从而给复刻产品给出了可能)
单片机(MCU)攻击者借助于专业设备或是自己制作机器设备,利用单片机(MCU)ic设计上的漏洞或软件缺陷,利用各种技术方法,就可以从芯片中获得核心信息内容,获得单片机(MCU)内程序这就叫单片机(MCU)解密。
单片机(MCU)解密又叫单片机(MCU)破解,芯片解密,IC解密,但是这严格说来这几种称呼都不科学,但早已成为习惯性说法,我们把CPLD解密,DSP解密都习惯性称为单片机解密。单片机(MCU)只不过是能装载程序芯片的其中1个类。
能烧录程序并能数据加密的芯片也有DSP,CPLD,PLD,AVR,ARM等。当然具储存功能性的储存器芯片也可以数据加密,例如DS2401,DS2501,AT88S0104,DM2602,AT88SC0104D等,其中也有专门针对设计有数据加密用于专业数据加密的芯片或设计校验生产厂家源代码工作等功能性芯片,该类芯片业能实现避免电子产品复刻的目的。
以下我们来了解下单片机(MCU)解密的几种常见方式
1软件主动攻击
该方法一般利用CPU通信接口并利用协议、加密算法或这类算法中的安全漏洞来对其进行主动攻击。
例如1个典型事例是对早期XXX系列单片机(MCU)的主动攻击。攻击者利用了该系列单片机(MCU)清除实际操作时序设计上的漏洞,利用自编程序在清除加密锁定位后,停止下一步清除片内程序存储器数据信息的实际操作,从而使加过密的单片机(MCU)变成没数据加密的单片机,随后利用单片机(MCU)编程器读出片内程序。
目前在其他加密方法的基础上,可以研究出一些机器设备,配合对应的软件,来做软件解密。
也有例如利用一些单片机(MCU)编程器定位插字节,利用对应的方式找到芯片中是否有连续空位,就是说找到芯片中连续的FFFF字节,插入的字节可以实行把片内的程序送到片外的指令,随后用解密的机器设备对其进行截获,这样芯片內部的程序就被解密完成了。
2电子探测主动攻击
该方法一般以高时间分辨率来监控CPU在正常实际操作时全部电源和端口连接的模拟特点,并利用监控它的电磁波辐射特点来进行主动攻击。
由于单片机(MCU)是一个活动的电子器件,当它实行不同的指令时,对应的功率消耗也对应变动。这样利用利用特殊的电子检测仪器和数学统计方式解析和检查这类变动,就能获得单片机(MCU)中的指定核心信息内容。
3过错产生方法
该方法利用不正常工作条件来使CPU出差错,随后给出额外的访问来对其进行主动攻击。利用最广泛的过错产生主动攻击的方式比如工作电压冲击和时钟冲击。
低电压和高电压主动攻击可以用来禁止保护电路工作或强制CPU实行错误操作。时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息内容。电源和时钟瞬态跳变可以在一些CPU中影响单条指令的解码和实行。
(PS:该技巧也就是让 单片机(MCU)不正常工作从而让单片机(MCU)处在非保护的状态)
4探针方法
该方法是就直接暴露芯片內部连线,随后观察分析、操控、干扰单片机以达到主动攻击目的。(PS:芯片內部都完全暴露了,芯片正瑟瑟发抖!)
相关问答 more +