破解单片机的常用方法及应对策略

发布者:码字先生最新更新时间:2018-10-10 来源: eefocus关键字:单片机  常用方法  应对策略 手机看文章 扫描二维码
随时随地手机看文章

单片机一般都有内部ROM/EEPROM/FLASH供用户存放程序。为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。事实上,这样的保护措施很脆弱,很容易被破解。单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序。因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。

1. 单片机攻击技术

目前,攻击单片机主要有四种技术,分别是:

(1)软件攻击

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

(2)电子探测攻击

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

(3)过错产生技术

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

(4)探针技术

该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。为了方便起见,人们将以上四种攻击技术分成两类,一类是侵入型攻击(物理攻击),这类攻击需要破坏封装,然后借助半导体测试设备、显微镜和微定位器,在专门的实验室花上几小时甚至几周时间才能完成。所有的微探针技术都属于侵入型攻击。另外三种方法属于非侵入型攻击,被攻击的单片机不会被物理损坏。在某些场合非侵入型攻击是特别危险的,这是因为非侵入型攻击所需设备通常可以自制和升级,因此非常廉价。

大部分非侵入型攻击需要攻击者具备良好的处理器知识和软件知识。与之相反,侵入型的探针攻击则不需要太多的初始知识,而且通常可用一整套相似的技术对付宽范围的产品。

因此,对单片机的攻击往往从侵入型的反向工程开始,积累的经验有助于开发更加廉价和快速的非侵入型攻击技术。

2. 侵入型攻击的一般过程

侵入型攻击的第一步是揭去芯片封装。有两种方法可以达到这一目的:第一种是完全溶解掉芯片封装,暴露金属连线。第二种是只移掉硅核上面的塑料封装。第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作。第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便。

芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一般在非常干燥的条件下进行,因为水的存在可能会侵蚀已暴露的铝线连接。

接着在超声池里先用丙酮清洗该芯片以除去残余硝酸,然后用清水清洗以除去盐分并干燥。没有超声池,一般就跳过这一步。这种情况下,芯片表面会有点脏,但是不太影响紫外光对芯片的操作效果。最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。一般用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来寻找保护熔丝。若没有显微镜,则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。操作时应用不透明的纸片覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下5~10分钟就能破坏掉保护位的保护作用,之后,使用简单的编程器就可直接读出程序存储器的内容。

对于使用了防护层来保护EEPROM单元的单片机来说,使用紫外光复位保护电路是不可行的。对于这种类型的单片机,一般使用微探针技术来读取存储器内容。在芯片封装打开后,将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。

由于某种原因,芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。在编程模式下,重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。

还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线,就能禁止整个保护功能。由于某种原因,这根线离其它的线非常远,所以使用激光切割机完全可以切断这根线而不影响临近线。这样,使用简单的编程器就能直接读出程序存储器的内容。

虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。

3. 应对单片机破解的几点建议

任何一款单片机,从理论上讲,攻击者均可利用足够的投资和时间使用以上方法来攻破。所以,在用单片机做加密认证或设计系统时,应尽量加大攻击者的攻击成本和所耗费的时间。这是系统设计者应该始终牢记的基本原则。除此之外,还应注意以下几点:

(1)在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。尽量不选用已可破解或同系列、同型号的芯片。

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

(3)产品的原创者,一般具有产量大的特点,所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度。

(4)选择采用新工艺、新结构、上市时间较短的单片机,如ATMEL AVR系列单片机等。

(5)在设计成本许可的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击。

(6)如果条件许可,可采用两片不同型号单片机互为备份,相互验证,从而增加破解成本。

(7)打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真。

当然,要想从根本上防止单片机被解密,程序被盗版等侵权行为发生,只能依靠法律手段来保障。


关键字:单片机  常用方法  应对策略 引用地址:破解单片机的常用方法及应对策略

上一篇:实例讲解PIC单片机的时钟设置
下一篇:单片机为什么要使用C语言?

推荐阅读最新更新时间:2024-03-16 16:15

利用串口与并口实现51内核单片机的在线编程
1、在线编程简介   51内核的单片机在线编程模式一般分为两大类。一类是使用JTAG协议的在线编程模式。这类模式一般由厂家提供在线编程工具,使用方便。使用这一类模式的单片机价格往往较高,使用的厂商也不多,故不在本文的讨论之列。另一类在线编程模式是使用一条特殊的指令,使单片机进入在线编程模式。在进入在线编程模式后,要自己控制对单片机的擦除写入逻辑。这一类模式又可细分为两种不同的模式:一是进入在线编程模式后,单片机只是提供一个接口,不再运行用户的程序,擦写逻辑全由上位机(PC)提供,如以下要讨论的MTV230就属于这种模式;另一类是进入在线编程模式以后,芯片会运行在某一区域的用户编写的程序,芯片的编程逻辑都由芯片中这段程序控制,上位
[单片机]
基于单片机的水声调制解调器的设计及仿真
为了实现封堵器海洋工作环境中的无线遥控动作,封堵器在海底工作中采用了水声通信技术。文章首先介绍了水声通信系统的整体设计。在前期工作中,从影响水声通信的因素出发,对水声通讯频率的选择及水声换能器的选型进行了研究,确定了水声通讯的载波频率。在此基础上提出了基于单片机的水声Modem的制作方案,设计了单片机系统电路。并对单片机至Modem的电路进行了初步调试,实现了单片机到Modem的初始化连接。完成了信号接收滤波放大电路线路的设计和制作。 1 智能封堵器水声通信系统 用于海底管道的智能封堵器,重要的是如何实现其水上水下通讯系统,以完成平台的遥控操作。整套通讯系统主要由海上控制中心、外部通讯链路、以及遥控执行机构三个逻辑子系统组
[单片机]
基于<font color='red'>单片机</font>的水声调制解调器的设计及仿真
C8051F020单片机在海水淡化装置海水预处理上的应用
引言 在对海水淡化装置实际使用过程中发现,装置实际工作参数一般不同于设计工作参数,使得装置无法发挥原设计系统流程特点,性能不佳;这种情况是由于实际进入装置的海水温度很难与设计温度一致造成的。此类现象对于海岛用海水淡化装置影响尤其明显:由于其特殊使用环境和条件,在不同季节和海域,海水入口温度变化很大,造成装置运行不稳定,产水量不足、水质下降严重,甚至不能工作。 为克服此类问题,本项目开展了海水进口调节模块设计技术研究,使控制器具有海水进口温度、流量的调节作用,始终保证进入装置的海水进口温度在设定值,使得装置的流程参数在不断变化的外界环境条件下保持在设定工况参数不变,从而保证淡水产量和水质,也使得装置易于控制和维护。 1
[单片机]
C8051F020<font color='red'>单片机</font>在海水淡化装置海水预处理上的应用
AVR单片机集成CAN总线控制器分析与应用
引言 CAN总线应用中,总线节点是CAN总线的基本组成部分。CAN总线节点有两种典型设计方法,第一种方法采用MCU结合独立CAN控制器组成总线节点 ;第二种方法采用独立的MCU,这时MCU需要内部集成CAN控制器。由于第二种设计方法所用的器件少,电路关系简单,已得到广泛应用。本文重点分析AVR系列单片机内部集成的CAN控制器及其应用方法。 AT90CAN集成CAN总线控制器分析 AVR内部集成CAN控制器的芯片主要包括AT90CAN32/64/128三种单片机,它们之间的主要区别是存储空间不同。 AT90CAN32/64/128内部集成的CAN总线控制器由CAN通道和邮箱组成,其工作参数通过寄存器设置,工作过程也通过寄存器监控
[单片机]
AVR<font color='red'>单片机</font>集成CAN总线控制器分析与应用
C51单片机IO口操作
对于C51单片机来说,对IO口的操作既可以8位整体操作,也可以进行位操作。 实例如下: 对P0口赋值: 1. 整体操作:P0=0xFF; 2. 位操作: P0^0=1; P0^1=1; P0^2=1; P0^3=1; P0^4=1; P0^5=1; P0^6=1; P0^7=1;
[单片机]
ARM7单片机(学习ing)—(四)、定时器—01
大晚上的~~ 直接把文件给整理一下~~ 然后剩下的历程明天再说吧~~ 四、定时器 四—(01)、定时器相关应用和寄存器的介绍~~ 定时器0和定时器1出了外设基地址以外,其它都相同~~ 2、应用以及相关的描述: 3、管脚描述 4、寄存器描述: a、中断寄存器 b、定时器控制寄存器 c、定时器计数器 d、预分频寄存器 e、预分频计数器寄存器 f、匹配寄存器 g、匹配控制寄存器 h、捕获寄存器 i、捕获控制寄存器 j、外部匹配寄存器
[单片机]
ARM7<font color='red'>单片机</font>(学习ing)—(四)、定时器—01
单片机实现基于I2C串行总线的音频处理系统
目前,消费类电子产品(如彩电、音响等)的功能多样化使得控制电路变得更为复杂。而Philips公司推出的集成电路芯片间总线I2CBUS(Inter ICBUS)是目前众多总线中最简洁有效、使用也为广泛的一种总线格式。I2C总线通常是以硬件来实现的,这就要求所选器件必须具有I2C总线接口,但目前广泛使用的MCS-51系列单片机并不具备I2C总线的专用硬件部分。本文结合笔者采用单片机8031实现对具有I2C总线接口的立体声音频处理芯片TDA7313的控制,介绍了I2C总线以及基于I2C串行总线的单片机应用系统的设计方法和程序。 1 I2C总线简介 1.1 I2C总线的组成 I2C串行总线是用双向数据线(SDA)和串行时钟线(
[单片机]
用<font color='red'>单片机</font>实现基于I2C串行总线的音频处理系统
基于单片机和CPLD的高精度大型望远镜伺服控制器设计
设计基于高速单片机C8051F120和CPLD的高精度大型望远镜的伺服控制器,由单片机实现闭环控制算法、上位机通信和LCD显示控制,CPLD实现增量式编码器计数、电机驱动波形发生以及I/O接口。该控制器可独立进行电机控制,也可配合上位机进行控制,具有实时性和抗干扰能力强、成本低、调试方便等特点。 引言 微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。 在高精度大型望远镜伺服控制应用
[单片机]
基于<font color='red'>单片机</font>和CPLD的高精度大型望远镜伺服控制器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved