MCU破解解密
(完整版)单片机解密方法简单介绍(破解)
单片机解密方法简单介绍下面是单片机解密的常用几种方法,我们做一下简单介绍:1:软解密技术,就是通过软件找出单片机的设计缺陷,将内部OTP/falsh ROM 或eeprom代码读出,但这种方法并不是最理想的,因为他的研究时间太长。
同一系列的单片机都不是颗颗一样。
下面再教你如何破解51单片机。
2:探针技术,和FIB技术解密,是一个很流行的一种方法,但是要一定的成本。
首先将单片机的C onfig.(配置文件)用烧写器保存起来,用在文件做出来后手工补回去之用。
再用硝酸熔去掉封装,在显微镜下用微形探针试探。
得出结果后在显微镜拍成图片用FIB连接或切割加工完成。
也有不用FIB用探针就能用编程器将程序读出。
3:紫外线光技术,是一个非常流行的一种方法,也是最简单的一种时间快、像我们一样只要30至1 20分钟出文件、成本非常低样片成本就行。
首先将单片机的Config.(配置文件)用烧写器保存起来,再用硝酸熔去掉封装,在显微镜下用不透光的物体盖住OTP/falsh ROM 或eeprom处,紫外线照在加密位上10到120分钟,加密位由0变为1就能用编程器将程序读出。
(不过他有个缺陷,不是对每颗OT P/falsh都有效)有了以上的了解解密手段,我们开始从最简的紫外光技术,对付它:EMC单片机用紫外光有那一些问题出现呢?:OTP ROM 的地址(Address:0080H to 008FH) or (Address:0280h to 028FH) 即:EMC的指令的第9位由0变为1。
因为它的加密位在于第9位,所以会影响数据。
说明一下指令格式:"0110 bbb rrrrrrr" 这条指令JBC 0x13,2最头痛,2是B,0X13是R。
如果数据由0变为1后:"0111 bbb rrrrrrr"变成JBS 0x13,2头痛啊,见议在80H到8FH 和280H到28FH多用这条指令。
51单片机的加密与解密 - 单片机
51单片机的加密与解密 - 单片机51 单片机的加密与解密单片机在当今的电子技术领域,单片机的应用无处不在。
51 单片机作为一种经典的单片机类型,因其简单易用、性价比高而被广泛采用。
然而,随着其应用的普及,51 单片机的加密与解密问题也逐渐引起了人们的关注。
首先,我们来了解一下为什么要对 51 单片机进行加密。
在许多实际应用中,单片机内部运行的程序往往包含了开发者的核心技术、商业机密或者独特的算法。
如果这些程序被未经授权的人员读取和复制,可能会导致知识产权的侵犯、商业竞争的不公平,甚至可能对产品的安全性和稳定性造成威胁。
因此,为了保护开发者的权益和产品的安全性,对 51 单片机进行加密是非常必要的。
那么,常见的 51 单片机加密方法有哪些呢?一种常见的方法是代码混淆。
通过对程序代码进行复杂的变换和重组,使得代码难以理解和分析。
比如,将关键的变量名、函数名进行重命名,使用复杂的控制流结构等。
这样,即使攻击者获取了代码,也很难理清程序的逻辑和功能。
另一种方法是使用硬件加密模块。
一些 51 单片机芯片本身就提供了硬件加密的功能,例如加密锁、加密密钥存储等。
通过在程序中使用这些硬件加密模块,可以增加破解的难度。
还有一种加密方式是对程序进行加密存储。
将程序在存储时进行加密,只有在单片机运行时通过特定的解密算法进行解密后才能执行。
这样,即使存储介质被读取,攻击者得到的也是加密后的乱码。
然而,尽管有了这些加密手段,51 单片机的解密仍然是可能的。
解密的动机通常是为了获取他人的技术成果用于非法复制或者破解产品限制。
常见的 51 单片机解密方法主要包括以下几种。
逆向工程是一种常见的解密手段。
攻击者通过对单片机的硬件进行分析,包括芯片的引脚、内部电路等,尝试推断出程序的运行方式和存储结构。
此外,通过软件分析也是一种方法。
利用专业的工具对单片机的运行状态进行监测和分析,尝试找出加密算法的漏洞或者获取解密的关键信息。
还有一种比较暴力的方法是通过物理手段破解。
MCU即结构与组成以及破解MCU方法及预防措施
MCU即结构与组成以及破解MCU方法及预防措施首先明白MCU是什么——即结构与组成本文对于志在研究MCU防护的同学,能给很多参考思路,但对于想当黑客的人,张飞实战电子对后果概不负责...Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。
是MCU内部的核心部件,由运算部件和控制部件两大部分组成。
前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。
Ⅱ:存储器,包括ROM和RAM。
ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。
存储数据掉电后不消失。
ROM又分为片内存储器和片外(扩展)存储器两种。
RAM数据存储器,在程序运行过程中可以随时写入数据,又可以随时读出数据。
存储数据在掉电后不能保持。
RAM也分为片内数据存储器和片外(扩展)存储器两种。
Ⅲ:输入、输出I/O接口,与外部输入、输出(电路)设备相连接。
PO/P1/P2/P3等数字I/O接口,内部电路含端口锁存器、输出驱动器和输入缓冲器等电路。
其中PO为三态双向接口,P1/P2/P3数字I/O端口,内部驱动器为“开路集电极”输出电路,应用时内部或外部电路接有上拉电阻。
每个端口均可作为数字信号输入或输出口,并具有复用功能(指端口功能有第一功能、第二功能甚至数个功能,在应用中可灵活设置)。
MCU器件,除数字I/O端口外,还有ADC模拟量输入、输出端口,输入信号经内部A/D 转换电路,变换为数字(频率)信号,再进行处理;对输出模拟量信号,则先经D/A转换后,再输出至外部电路。
再来谈几种如何破解MCU方法及预防措施一、非侵入式攻击不需要对元器件进行初始化。
攻击时可以把元器件放在测试电路中分析,也可单独连接元器件。
一旦成功,这种攻击很容易普及,并且重新进行攻击不需要很大的开销。
另外,使用这种攻击不会留下痕迹。
因此,这被认为是对任意元器件的硬件安全最大的威胁。
单片机破解
单片机破解的常用方法及应对策略摘要:介绍了单片机内部密码破解的常用方法,重点说明了侵入型攻击/物理攻击方法的详细步骤,最后,从应用角度出发,提出了对付破解的几点建议。
关键词:单片机;破解;侵入型攻击/物理攻击1引言单片机(Microcontroller)一般都有内部ROM/EEPROM/FLASH供用户存放程序。
为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。
如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就是所谓拷贝保护或者说锁定功能。
事实上,这样的保护措施很脆弱,很容易被破解。
单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序。
因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。
2单片机攻击技术目前,攻击单片机主要有四种技术,分别是:(1)软件攻击该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。
软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。
攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
(2)电子探测攻击该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。
因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。
这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。
MCU解密全攻略 为何所有MCU都能被破解(三)
MCU 解密全攻略为何所有MCU 都能被破解(三)可编程的智能卡制造商走得更远,干脆砍掉标准的编程接口。
取而代之的是启动模块,可以在代码载入后擦掉或屏蔽掉自己。
这些卡只能在初始化时被编程一次,之后只能响应使用者的嵌入软件所支持的读写存在卡里的数据或程序。
图1-9 意法ST 的ST16 系列智能卡芯片表面金属层的敏感网格。
近期的一些智能卡使用存储器总线编码(Bus encryption)技术来防止微探测攻击。
即使破解者获得数据总线的数据也不可能知道密码或别的敏感信息。
这种保护措施直指侵入式和半侵入式攻击。
但非侵入式攻击仍然可以像正常的CPU 一样访问控制非编码信息。
事实上,几年前就发现廉价地破解编码信息的方法。
图1-10 100 倍显微镜下的英飞凌Infineon SLE66 系列的智能卡芯片上的硬件总线编码模块,保护存储器免受微探测攻击。
另外一些需要提及的改进是将标准的模块结构如解码器,寄存器文件,ALU 和I/O 电路用类似ASIC 逻辑来设计。
这些设计称为混合逻辑(Glue logic),广泛用于智能卡。
混合逻辑使得实际上不可能通过手工寻找信号或节点来获得卡的信息进行物理攻击。
这种技术广泛用于盗版,并可提升常见CPU 内核的性能和安全性。
例如Ubicom 的SX28 微控制器的引脚和程序都兼容于微芯的PIC16C57,但它使用了混合逻辑设计,闪存,大容量RAM 使它的性能获得大幅提升。
在PIC 微控制器中,破解者很容易跟踪内存到CPU 的数据总线,但在SX 微控制器中,几乎不可能知道总线的物理位置,反向工程和微探测攻击将是非常困难且耗费时间图1-11 Ubicom 的SX28 微控制器引入混合逻辑设计,提升了性能和安全性。
更常用的是芯片由不同模块组成,但每个模块使用混合逻辑设计。
如赛。
MCU解密全攻略 为何所有MCU都能被破解(二)
MCU 解密全攻略为何所有MCU 都能被破解(二)图1-5 意法ST 某型32 位MCU 打开封装后的SEM 图片一些MCU 始终没有任何特殊的硬件安全保护。
它们仅仅是基于不公开编程算法来保护。
这可能有伪装回读功能,或用校验功能来代替。
一般这些MCU 不会提供非常好的保护能力。
实际上,在一些智能卡中,适当使用校验功能能够起到很强的保护作用。
下一步增强安全保护的措施就是增加一个硬件安全熔丝(security fuse 译者注:安全熔丝就是寄存器)来禁止访问数据。
这很容易做到,不需要完全重新设计MCU 架构,仅利用熔丝来控制编程接口的回读功能,如图1-6 所示。
缺点是熔丝位很容易被定位并进行入侵攻击。
例如:熔丝的状态可以通过直接把熔丝位的输出连到电源或地线上来进行修改。
有些例子中仅仅用激光或聚焦离子束来切断熔丝的感应电路就可以了。
用非侵入式攻击也一样可以成功。
因为一个分离的熔丝版图异于正常的存储阵列。
可以用组合外部信号来使熔丝位处与不能被正确读出的状态,那样就可以访问存在内部芯片上的信息了。
用半侵入式攻击可以使破解者快速取得成功但需要打开芯片的封装来接近晶粒。
一个众所周知的方法就是用紫外线来擦掉安全熔丝。
图1-6 微芯PIC12C508 微控制器的安全熔丝位于程序存储器阵列的外部。
再下一步就是将安全熔丝做成存储器阵列的一部分,如果已设好熔丝,可禁止外部读写数据。
一般的熔丝与主存储器离得很近,或干脆与主存储器共享一些控制线。
因为晶圆厂使用与主存储器相同的工艺来制造,熔丝很难被定位和复位。
非侵入式攻击仍然可用,但需要时间去寻找。
同样,半侵入式攻击也可用。
当然破解者需要更多的时间去寻找安全熔丝或控制电路负责安全监视的部分,。
MCU解密全攻略
MCU 解密全攻略
电子发烧友网讯:本文介绍了众多微处理器MCU 和智能卡破解的方法:包括已知的非侵入式攻击,如功耗分析和噪声干扰以及侵入式攻击,如反向工程和微探测分析。
并讨论了众多防护技术,包括低成本的隐匿方法到新的集成电路设计方法.
背景知识:
硅芯片安全措施的演变
工业控制器的硬件安全措施与嵌入式系统同时开始发展。
三十年前的系统是由分离的部件如CPU,ROM,RAM,I/O 缓冲器,串口和其他通信与控制接口组成的。
如图1-1 所示:
图1-1 通用的嵌入式控制器。
PCB 上的每个部件很容易辨别且极易被复制。
如何破解MCU的方法及其预防措施
如何破解MCU的方法及其预防措施本文对于志在研究再来谈几种如何破解MCU方法及预防措施防护与安全二、时序攻击(三、穷举攻击(也称暴力攻击Bru四、功耗分析(Power analysis)五、噪声攻击(Glitch attacks)噪声攻击是快速改变输入到微控制器的信号,以影响它的正常运行。
通常噪声是叠加在电源上或时钟信号上,但噪声也可以是外加的短暂电场或电磁脉冲。
在离芯片表面数百微米处放置两根金属针,然后加上少于1微秒的数百伏电压的窄脉冲,晶圆衬底会感应出一个电场,使得邻近晶体管的阈值电压发生变化。
最近出现一种改进的方法:使用几百圈金属线绕在微探针的针尖构成一个小型电感。
当电流进入线圈会产生磁场,针尖将集中磁力线。
每个晶体管和与它相连的线路构成有时延特性的RC电路。
处理器的最大可用时钟频率取决于该电路的最大延迟。
同样的,每个触发器在接收输入电压和由此引致的输出电压之间有个特征时间窗口。
这个窗口由给定的电压和温度来确定。
如果用时钟噪声(比正常的时钟脉冲要短得多)或电源噪声(电源电压的快速波动)将会影响芯片里的某些晶体管,导致一个或多个触发器进入错误状态。
通过改变参数,处理器会被导致执行许多完全不同的错误指令,有时甚至是不被微码支持的。
经管我们不会预先知道何种噪声会导致何种芯片的何种错误,但它能相当简单地进行系统的搜索。
1、时钟噪声攻击(Clock glitches)时钟信号的噪声攻击在目前是最简单的,且相当实用。
实际应用中的噪声通常用来取代跳转条件并试验先前的测试指令。
可以在安全密码问询处理时创建一个攻击窗口,简单预防执行这些指令。
指令噪声也能用来扩大循环的时间。
如,串口子程序在输出缓冲后再读更多的内容;或在密钥操作时减少循环次数来传一个弱的密码。
为获得噪声,时钟需要临时增加一个或大于半个周期,有些触发器在到达新状态之前就获得输入。
时钟噪声通常针对处理器的指令流。
对硬件执行安全保护的微控制器没有什么效果。
单片机解密方法简单介绍(破解)
单片机解密方法简单介绍下面是单片机解密的常用几种方法,我们做一下简单介绍:1:软解密技术,就是通过软件找出单片机的设计缺陷,将内部OTP/falsh ROM 或eeprom代码读出,但这种方法并不是最理想的,因为他的研究时间太长。
同一系列的单片机都不是颗颗一样。
下面再教你如何破解51单片机。
2:探针技术,和FIB技术解密,是一个很流行的一种方法,但是要一定的成本。
首先将单片机的C onfig.(配置文件)用烧写器保存起来,用在文件做出来后手工补回去之用。
再用硝酸熔去掉封装,在显微镜下用微形探针试探。
得出结果后在显微镜拍成图片用FIB连接或切割加工完成。
也有不用FIB用探针就能用编程器将程序读出。
3:紫外线光技术,是一个非常流行的一种方法,也是最简单的一种时间快、像我们一样只要30至1 20分钟出文件、成本非常低样片成本就行。
首先将单片机的Config.(配置文件)用烧写器保存起来,再用硝酸熔去掉封装,在显微镜下用不透光的物体盖住OTP/falsh ROM 或eeprom处,紫外线照在加密位上10到120分钟,加密位由0变为1就能用编程器将程序读出。
(不过他有个缺陷,不是对每颗OT P/falsh都有效)有了以上的了解解密手段,我们开始从最简的紫外光技术,对付它:EMC单片机用紫外光有那一些问题出现呢?:OTP ROM 的地址(Address:0080H to 008FH) or (Address:0280h to 028FH) 即:EMC的指令的第9位由0变为1。
因为它的加密位在于第9位,所以会影响数据。
说明一下指令格式:"0110 bbb rrrrrrr" 这条指令JBC 0x13,2最头痛,2是B,0X13是R。
如果数据由0变为1后:"0111 bbb rrrrrrr"变成JBS 0x13,2头痛啊,见议在80H到8FH 和280H到28FH多用这条指令。
MCU烧写器远程加密、解密及烧写处理方法与制作流程
本技术公开了一种MCU烧写器远程加密、解密及烧写处理方法。
该加密方法,包括以下步骤:a)先根据MCU烧写器的名称密码通过主机端控制专用软件生成与烧写器名称密码相对应的加密密钥;b)将原始数据代码先经过加密密匙进行加密处理;c)主机端控制专用软件将该加密后的数据或代码经过进一步的加密转换成一个可提供给客户并可以由客户进行处理的二进制文件;d)将该被加密的二进制文件放置于互联网主机上供远程下载。
本技术采用主机端专用控制软件、客户端专用控制软件及互联网的传输来实现MCU烧写器的远程加密控制,避免了MCU烧写器的来回物件快递,大大地提高了数据代码的授权运作效率。
权利要求书1.一种MCU烧写器远程加密方法,其特征在于,包括以下步骤:a), 先根据MCU烧写器的名称密码通过主机端控制专用软件生成与烧写器名称密码相对应的加密密钥;b), 将原始数据代码先经过加密密匙进行加密处理;c), 主机端控制专用软件将该加密后的数据或代码经过进一步的加密转换成一个可提供给客户并可以由客户进行处理的二进制文件;d),将该被加密的二进制文件放置于互联网主机上供远程下载。
2.根据权利要求1所述的MCU烧写器远程加密方法,其特征在于,在步骤a中,主机端控制专用软件生成加密密匙的步骤包括:a1),核对MCU烧写器的名称与数据库中预存的烧写器名称是否一致;若一致则进入下一步骤,若不一致则提示用户重新输入正确的名称;a2),核对MCU烧写器的密码与数据库中预存的烧写器密码是否一致;若一致则进入下一步骤,若不一致则提示用户重新输入正确的名称;a3),按照预存的MCU烧写器名称和密码,生成与该MCU烧写器相对应的加密密匙。
3.一种MCU烧写器远程解密方法,其特征在于,包括以下步骤:a), 客户端电脑安装客户端控制专用软件来读取通过互联网发送来的被加密的二进制文件;b), 客户端控制专用软件按加密密匙对该二进制文件进行解密处理;并还原成加密的目标数据或代码;c), 客户端电脑连接上目标MCU烧写器,并将加密了的数据或代码传输到MCU烧写器中。
单片机芯片解密
单片机芯片解密单片机芯片解密是指对一种未公开的单片机芯片进行逆向工程,从而获得解密的过程和方法。
单片机芯片解密的目的主要是为了得到芯片的内部结构和功能,以便进行后续的修改、仿制或破解。
单片机芯片解密的过程通常分为以下几个步骤:1. 芯片取样:首先需要从目标芯片中取得一块实物样品。
取样可以通过从市场上购买芯片、请求芯片供应商提供或通过其他合法渠道进行。
2. 芯片分析:芯片取样之后,需要对芯片进行物理结构分析。
这包括进行芯片外观观察、尺寸测量和材料成分测试等。
3. 芯片反向工程:在芯片分析的基础上,需要进行芯片的电路结构和功能分析。
这个过程需要通过使用电子显微镜、探针仪、逻辑分析仪等工具来研究芯片的内部电路结构。
4. 芯片解密:在芯片反向工程的基础上,需要对芯片进行具体的解密工作。
这包括解密算法破解、加密芯片的功能分析、解密程序的编写等。
5. 解密结果验证:芯片解密完成后,需要对解密结果进行验证,确保得到的数据或程序与原始芯片相符合。
这可以通过对比验证、仿真测试等方法进行。
单片机芯片解密需要具备一定的电子技术和逆向工程的知识。
对于不同型号的芯片,解密的过程和方法也会有所不同。
微控制器芯片解密是单片机芯片解密的一种,它通常在解密过程中会涉及到微控制器的保护、加密和安全机制。
单片机芯片解密一直是个敏感话题,因为它涉及到知识产权和商业机密。
在某些情况下,芯片供应商可能采取技术手段来保护其芯片的安全性,例如电子保护、物理保护和法律保护等。
总之,单片机芯片解密是一项技术含量较高的工作,它需要对芯片的物理结构和电路设计进行深入研究,以及对解密算法和程序进行分析和破解。
一文教你如何破解MCU
一文教你如何破解MCU时序攻击可用在安全保护是基于密码的微控制器,或使用确定数字的卡或密码来进行访问控制的系统,如达拉斯的iButton产品。
这些系统中共有的风险是输入的连续数字在数据库进行再次校验。
首先明白MCU是什么——即结构与组成Ⅰ:中央处理器CPU,包括运算器、控制器和寄存器组。
是MCU内部的核心部件,由运算部件和控制部件两大部分组成。
前者能完成数据的算术逻辑运算、位变量处理和数据传送操作,后者是按一定时序协调工作,是分析和执行指令的部件。
Ⅱ:存储器,包括ROM和RAM。
ROM程序存储器,MCU的工作是按事先编制好的程序一条条循序执行的,ROM程序存储器即用来存放已编的程序(系统程序由制造厂家编制和写入)。
存储数据掉电后不消失。
ROM又分为片内存储器和片外(扩展)存储器两种。
RAM数据存储器,在程序运行过程中可以随时写入数据,又可以随时读出数据。
存储数据在掉电后不能保持。
RAM也分为片内数据存储器和片外(扩展)存储器两种。
Ⅲ:输入、输出I/O接口,与外部输入、输出(电路)设备相连接。
PO/P1/P2/P3等数字I/O接口,内部电路含端口锁存器、输出驱动器和输入缓冲器等电路。
其中PO为三态双向接口,P1/P2/P3数字I/O端口,内部驱动器为“开路集电极”输出电路,应用时内部或外部电路接有上拉电阻。
每个端口均可作为数字信号输入或输出口,并具有复用功能(指端口功能有第一功能、第二功能甚至数个功能,在应用中可灵活设置)。
MCU器件,除数字I/O端口外,还有ADC模拟量输入、输出端口,输入信号经内部A/D 转换电路,变换为数字(频率)信号,再进行处理;对输出模拟量信号,则先经D/A转换后,再输出至外部电路。
再来谈几种如何破解MCU方法一、非侵入式攻击不需要对元器件进行初始化。
攻击时可以把元器件放在测试电路中分析,也可单独连接元。
MCU解密全攻略
昔时之兵法始祖孙子者,遗有兵法数十篇,而今仅得十三。概叹 于斯,天下无完美之物乎?译本文时,遇八股文;遇严重威胁人身安 全之举措;etc,略之不译,故本秘笈成中文有删节版。
本译文之许可: 非商业用途可无限制使用本译文。 商业用途使用本译文之片段或全部,请事先获译者之书面许可。
件如 CPU,ROM,RAM,I/O 缓冲器,串口和其他通信与控制接口组成的。如图 2-1 所示:
图 2-1 通用的嵌入式控制器。PCB 上的每个部件很容易辨别且极易被复制。
在早期,除法律和经济外,几乎没有保护措施来防止复制这些设备。例如:ROM 是用低 成本的掩模技术制造的,可用 EPROM 轻易复制,但后者通常要贵 3-10 倍或更多。或定制掩 模 ROM,那就需要很长的时间和很大的投资。另一种是在游戏机中广泛使用的简易 ASIC,如 图 2-2。这些 ASIC 主要用于 I/O 部分来取代数十个逻辑器件,在降低成本的同时防止竞争者 的复制,使之不得不应用更大且更贵的解决方案。实际上 ASIC 不会更安全,用示波器来简 单分析信号或穷举所有可能的引脚组合就可以在数小时内得知它的具体功能。
给出了 MCU 防复制保护的简单介绍。也介绍了用半侵入式攻击来评估硬件安全性的方法. 它们有助于依所需的安全等级来适当选择部件。讨论了多种防护技术,包括低成本的隐匿方 法到新的集成电路设计方法。
感谢 (译者注:八股文就不翻译了。大意是感谢方方,感谢圆圆,感谢扁扁之类的。)
除外责任 我不接受任何责任或义务承担任何人或物使用本文提到的材料,说明,方法或主意而受
到的损失或伤害。读者必须意识到有关部分的一些操作是危险的,并参考所用的每一种物料 的健康和安全警告。如有疑问请咨询专业人士。
单片机芯片解密破解方法
单片机芯片解密破解方法
摘要: 单片机(MCU)一般都有内部EEPROM/FLASH 供用户存放程序和工作数据。
什幺叫单片机解密呢?如果要非法读出里的程式,就必需解开这个密码才能读出来,这个过程通常称为单片机解密或芯片加密。
为了防止未经授权访问...
单片机(MCU)一般都有内部EEPROM/FLASH 供用户存放程序和工作数据。
什幺叫单片机解密呢?如果要非法读出里的程式,就必需解开这个密码才能读出来,这个过程通常称为单片机解密或芯片加密。
为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序;如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,单片机攻击者借助
专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。
大部分单片机程式写进单片机后,工程师们为了防止他人非法盗用,所以给加密,以防他人读出里面的程式。
单片机加解密可划分为两大类,一类是硬件加解密,一类是软件加解密。
芯片解密方法及攻略
北京首矽致芯科技有限公司逆向工程及芯片解密专业机构芯片解密方法及攻略芯片解密在网络上并不陌生,文章也很多,但是有实际技术价值的很少。
芯片解密是个广义的概念,包括很多内容,是芯片逆向的范畴。
我们在狭义上说的芯片解密就是将具有存储功能的芯片内的芯片读出来,因为一般的芯片的烧录了用户代码后就可以加密,是不能直接读出来的,所以就有解密的说法。
有很多公司也叫单片机解密,其实单片机只是这些需要解密的芯片中的一种,因为传统的单片机是指的MCU,而并没有包括比如ARM、CPLD、DSP 等其它具有存储器的芯片。
而目前芯片解密更多的是ARM解密、DSP解密、CPLD解密以及专用加密芯片的解密。
比如北京致芯科技网站上推出的芯片解密业务基本上涵盖了各种芯片代码读出业务。
以下就目前常见的单片机破解方法做一些介绍。
一、紫外线攻击方法紫外线攻击也称为UV攻击方法,就是利用紫外线照射芯片,让加密的芯片变成了不加密的芯片,然后用编程器直接读出程序。
这种方法适合OTP的芯片,做单片机的工程师都知道OTP的芯片只能用紫外线才可以擦除。
那么要擦出加密也是需要用到紫外线。
目前台湾生产的大部分OTP芯片都是可以使用这种方法解密的,感兴趣的可以试验或到去下载一些技术资料。
OTP芯片的封装有陶瓷封装的一半会有石英窗口,这种事可以直接用紫外线照射的,如果是用塑料封装的,就需要先将芯片开盖,将晶圆暴露以后才可以采用紫外光照射。
由于这种芯片的加密性比较差,解密基本不需要任何成本,所以市场上这种芯片解密的价格非常便宜,比如SONIX 的SN8P2511解密,飞凌单片机解密等价格就非常便宜。
二、利用芯片漏洞很多芯片在设计的时候有加密的漏洞,这类芯片就可以利用漏洞来攻击芯片读出存储器里的代码,比如我们以前的文章里提到的利用芯片代码的漏洞,如果能找到联系的FF这样的代码就可以插入字节,来达到解密。
还有的是搜索代码里是否含有某个特殊的字节,如果有这样的字节,就可以利用这个字节来将程序导出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机解密单片机(MCU)一般都有内部EEPROM/FLASH供用户存放程序和工作数据。
为了防止未经授权访问或拷贝单片机的机内程序,大部分单片机都带有加密锁定位或者加密字节,以保护片内程序。
如果在编程时加密锁定位被使能(锁定),就无法用普通编程器直接读取单片机内的程序,这就叫单片机加密。
单片机攻击者借助专用设备或者自制设备,利用单片机芯片设计上的漏洞或软件缺陷,通过多种技术手段,就可以从芯片中提取关键信息,获取单片机内程序这就叫单片机解密。
单片机解密又叫单片机破解,芯片解密,IC解密,但是这严格说来这几种称呼都不科学,但已经成了习惯叫法,我们把CPLD解密,DSP解密都习惯称为单片机解密。
单片机只是能装载程序芯片的其中一个类。
能烧录程序并能加密的芯片还有DS P,CPLD,PLD,AVR,ARM等。
当然具存储功能的存储器芯片也能加密,比如D S2401 DS2501 AT88S0104 DM2602 AT88SC0104D等,当中也有专门设计有加密算法用于专业加密的芯片或设计验证厂家代码工作等功能芯片,该类芯片业能实现防止电子产品复制的目的。
1.目前单片机解密方法主要如下:(1)软件攻击该技术通常使用处理器通信接口并利用协议、加密算法或这些算法中的安全漏洞来进行攻击。
软件攻击取得成功的一个典型事例是对早期ATMELAT89C系列单片机的攻击。
攻击者利用了该系列单片机擦除操作时序设计上的漏洞,使用自编程序在擦除加密锁定位后,停止下一步擦除片内程序存储器数据的操作,从而使加过密的单片机变成没加密的单片机,然后利用编程器读出片内程序。
目前在其他加密方法的基础上,可以研究出一些设备,配合一定的软件,来做软件攻击。
近期国内出现了了一种51单片机解密设备(成都一位高手搞出来的),这种解密器主要针对SyncMos. Winbond,在生产工艺上的漏洞,利用某些编程器定位插字节,通过一定的方法查找芯片中是否有连续空位,也就是说查找芯片中连续的FF FF字节,插入的字节能够执行把片内的程序送到片外的指令,然后用解密的设备进行截获,这样芯片内部的程序就被解密完成了。
(2)电子探测攻击该技术通常以高时间分辨率来监控处理器在正常操作时所有电源和接口连接的模拟特性,并通过监控它的电磁辐射特性来实施攻击。
因为单片机是一个活动的电子器件,当它执行不同的指令时,对应的电源功率消耗也相应变化。
这样通过使用特殊的电子测量仪器和数学统计方法分析和检测这些变化,即可获取单片机中的特定关键信息。
目前RF编程器可以直接读出老的型号的加密MCU中的程序,就是采用这个原理。
(3)过错产生技术该技术使用异常工作条件来使处理器出错,然后提供额外的访问来进行攻击。
使用最广泛的过错产生攻击手段包括电压冲击和时钟冲击。
低电压和高电压攻击可用来禁止保护电路工作或强制处理器执行错误操作。
时钟瞬态跳变也许会复位保护电路而不会破坏受保护信息。
电源和时钟瞬态跳变可以在某些处理器中影响单条指令的解码和执行。
(4)探针技术该技术是直接暴露芯片内部连线,然后观察、操控、干扰单片机以达到攻击目的。
为了方便起见,人们将以上四种攻击技术分成两类,一类是侵入型攻击(物理攻击),这类攻击需要破坏封装,然后借助半导体测试设备、显微镜和微定位器,在专门的实验室花上几小时甚至几周时间才能完成。
所有的微探针技术都属于侵入型攻击。
另外三种方法属于非侵入型攻击,被攻击的单片机不会被物理损坏。
在某些场合非侵入型攻击是特别危险的,这是因为非侵入型攻击所需设备通常可以自制和升级,因此非常廉价。
大部分非侵入型攻击需要攻击者具备良好的处理器知识和软件知识。
与之相反,侵入型的探针攻击则不需要太多的初始知识,而且通常可用一整套相似的技术对付宽范围的产品。
因此,对单片机的攻击往往从侵入型的反向工程开始,积累的经验有助于开发更加廉价和快速的非侵入型攻击技术。
2.侵入型单片机解密的一般过程侵入型攻击的第一步是揭去芯片封装(简称“开盖”有时候称“开封”,英文为“DEC AP”,decapsulation)。
有两种方法可以达到这一目的:第一种是完全溶解掉芯片封装,暴露金属连线。
第二种是只移掉硅核上面的塑料封装。
第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作。
第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便,完全家庭中操作。
芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。
热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。
该过程一般在非常干燥的条件下进行,因为水的存在可能会侵蚀已暴露的铝线连接(这就可能造成解密失败)。
接着在超声池里先用丙酮清洗该芯片以除去残余硝酸,并浸泡。
最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。
一般用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来寻找保护熔丝。
若没有显微镜,则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。
操作时应用不透明的纸片覆盖芯片以保护程序存储器不被紫外光擦除。
将保护熔丝暴露在紫外光下5~10分钟就能破坏掉保护位的保护作用,之后,使用简单的编程器就可直接读出程序存储器的内容。
对于使用了防护层来保护EEPROM单元的单片机来说,使用紫外光复位保护电路是不可行的。
对于这种类型的单片机,一般使用微探针技术来读取存储器内容。
在芯片封装打开后,将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。
由于某种原因,芯片锁定位在编程模式下并不锁定对存储器的访问。
利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。
在编程模式下,重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。
还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。
由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线(或切割掉整个加密电路)或连接1~3根金线(通常称FIB:focused ion beam),就能禁止整个保护功能,这样,使用简单的编程器就能直接读出程序存储器的内容。
虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。
加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。
目前国内比较有名的单片机破解公司有沪生电子,余洋电子,星辰单片机,恒丰单片机和龙人科技等。
3. 应对单片机破解的几点建议任何一款单片机从理论上讲,攻击者均可利用足够的投资和时间使用以上方法来攻破。
这是系统设计者应该始终牢记的基本原则。
因此,作为电子产品的设计工程师非常有必要了解当前单片机攻击的最新技术,做到知己知彼,心中有数,才能有效防止自己花费大量金钱和时间辛辛苦苦设计出来的产品被人家一夜之间仿冒的事情发生。
我们根据沪生电子的解密实践提出下面建议:(1)在选定加密芯片前,要充分调研,了解单片机破解技术的新进展,包括哪些单片机是已经确认可以破解的。
尽量不选用已可破解或同系列、同型号的芯片选择采用新工艺、新结构、上市时间较短的单片机,如可以使用ATMEGA88/ATMEGA8 8V,这种国内目前破解的费用一需要6K左右,另外目前相对难解密的有ST12系列,DSPPIC等;其他也可以和CPLD结合加密,这样解密费用很高,解密一般的CPLD 也要1万左右。
(2)尽量不要选用MCS51系列单片机,因为该单片机在国内的普及程度最高,被研究得也最透。
(3)产品的原创者,一般具有产量大的特点,所以可选用比较生僻、偏冷门的单片机来加大仿冒者采购的难度,选用一些生僻的单片机,比如ATTINY2313,AT89 C51RD2,AT89C51RC2,motorola单片机等比较难解密的芯片,目前国内会开发使用熟悉motorola单片机的人很少,所以破解的费用也相当高,从3000~3万左右。
(4)在设计成本许可的条件下,应选用具有硬件自毁功能的智能卡芯片,以有效对付物理攻击;另外程序设计的时候,加入时间到计时功能,比如使用到1年,自动停止所有功能的运行,这样会增加破解者的成本。
(5)如果条件许可,可采用两片不同型号单片机互为备份,相互验证,从而增加破解成本。
(6)打磨掉芯片型号等信息或者重新印上其它的型号,以假乱真(注意,反面有LOGO的也要抹掉,很多芯片,解密者可以从反面判断出型号,比如51,WINBON D,MDT等)。
(7)可以利用单片机未公开,未被利用的标志位或单元,作为软件标志位。
(8)利用MCS-51中A5指令加密,其实世界上所有资料,包括英文资料都没有讲这条指令,其实这是很好的加密指令,A5功能是二字节空操作指令加密方法在A5后加一个二字节或三字节操作码,因为所有反汇编软件都不会反汇编A5指令,造成正常程序反汇编乱套,执行程序无问题仿制者就不能改变你的源程序。
(9)你应在程序区写上你的大名单位开发时间及仿制必究的说法,以备获得法律保护;另外写上你的大名的时候,可以是随机的,也就是说,采用某种算法,外部不同条件下,你的名字不同,比如wwwhusooncom1011、wwwhusooncn1012等,这样比较难反汇编修改。
(10)采用高档的编程器,烧断内部的部分管脚,还可以采用自制的设备烧断金线,这个目前国内几乎不能解密,即使解密,也需要上万的费用,需要多个母片。
(11)采用保密硅胶(环氧树脂灌封胶)封住整个电路板,PCB上多一些没有用途的焊盘,在硅胶中还可以掺杂一些没有用途的元件,同时把MCU周围电路的电子元件尽量抹掉型号。
(12)对SyncMos,Winbond单片机,将把要烧录的文件转成HEX文件,这样烧录到芯片内部的程序空位自动添00,如果你习惯BIN文件,也可以用编程器把空白区域中的FF改成00,这样一般解密器也就找不到芯片中的空位,也就无法执行以后的解密操作。
当然,要想从根本上防止单片机被解密,那是不可能的,加密技术不断发展,解密技术也不断发展,现在不管哪个单片机,只要有人肯出钱去做,基本都可以做出来,只不过代价高低和周期长短的问题,编程者还可以从法律的途径对自己的开发作出保护(比如专利)。