侵入型攻击的第一步是揭去芯片封装(简称“开盖”有时候称“开封”,英文为“DECAP”,decapsulation)。有两种方法可以达到这一目的:第一种是完全溶解掉芯片封装,暴露金属连线。第二种是只移掉硅核上面的塑料封装。第一种方法需要将芯片绑定到测试夹具上,借助绑定台来操作。第二种方法除了需要具备攻击者一定的知识和必要的技能外,还需要个人的智慧和耐心,但操作起来相对比较方便。
芯片上面的塑料可以用小刀揭开,芯片周围的环氧树脂可以用浓硝酸腐蚀掉。热的浓硝酸会溶解掉芯片封装而不会影响芯片及连线。该过程一般在非常干燥的条件下进行,因为水的存在可能会侵蚀已暴露的铝线连接 (这就可能造成解密失败)。
接着在超声池里先用丙酮清洗该芯片以除去残余硝酸,然后用清水清洗以除去盐分并干燥。没有超声池,一般就跳过这一步。这种情况下,芯片表面会有点脏,但是不太影响紫外光对芯片的操作效果。
最后一步是寻找保护熔丝的位置并将保护熔丝暴露在紫外光下。一般用一台放大倍数至少100倍的显微镜,从编程电压输入脚的连线跟踪进去,来寻找保护熔丝。若没有显微镜,则采用将芯片的不同部分暴露到紫外光下并观察结果的方式进行简单的搜索。操作时应用不透明的纸片覆盖芯片以保护程序存储器不被紫外光擦除。将保护熔丝暴露在紫外光下5~10分钟就能破坏掉保护位的保护作用,之后,使用简单的编程器就可直接读出程序存储器的内容。
对于使用了防护层来保护EEPROM单元的单片机来说,使用紫外光复位保护电路是不可行的。对于这种类型的单片机,一般使用微探针技术来读取存储器内容。在芯片封装打开后,将芯片置于显微镜下就能够很容易的找到从存储器连到电路其它部分的数据总线。由于某种原因,芯片锁定位在编程模式下并不锁定对存储器的访问。利用这一缺陷将探针放在数据线的上面就能读到所有想要的数据。在编程模式下,重启读过程并连接探针到另外的数据线上就可以读出程序和数据存储器中的所有信息。
还有一种可能的攻击手段是借助显微镜和激光切割机等设备来寻找保护熔丝,从而寻查和这部分电路相联系的所有信号线。由于设计有缺陷,因此,只要切断从保护熔丝到其它电路的某一根信号线(或切割掉整个加密电路)或连接1~3根金线(通常称FIB:focused ion beam),就能禁止整个保护功能,这样,使用简单的 编程器就能直接读出程序存储器的内容.虽然大多数普通单片机都具有熔丝烧断保护单片机内代码的功能,但由于通用低档的单片机并非定位于制作安全类产品,因此,它们往往没有提供有针对性的防范措施且安全级别较低。加上单片机应用场合广泛,销售量大,厂商间委托加工与技术转让频繁,大量技术资料外泻,使得利用该类芯片的设计漏洞和厂商的测试接口,并通过修改熔丝保护位等侵入型攻击或非侵入型攻击手段来读取单片机的内部程序变得比较容易。
关键字:单片机 芯片解密 一般过程
引用地址:
单片机芯片解密的一般过程
推荐阅读最新更新时间:2024-03-16 14:31
51单片机存储器地址
1、特殊功能寄存器 在AT89C52 片内存储器中,80H-FFH 共128 个单元为特殊功能寄存器(SFE)。并非所有的地址都被定义,从80H FFH 共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。 不应将数据 1 写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是 0 。 AT89C52除了与AT89C51所有的定时/计数器0 和定时/计数器1 外,还增加了一个定时/计数器2。定时/计数器2 的控制和状态位位于T2CON(参见表3)T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2
[单片机]
51单片机实现智能泊车系统的设计方法
本文主要讲述用51单片机实现智能泊车系统,该智能泊车系统可以在实验室内实现小车的自动驶入指定停车位的功能。将小车停在停车场入口处,然后车主可以离开小车,此时小车就可以根据停车场内的车辆诱导信号(光源引导信号)将车引入停车场,从而实现自动泊车过程。 随着我国汽车数量逐年急剧增多,泊车位、停车场的数量却跟不上其增长的步伐,越来越多的人为如何泊车而发愁。日益拥挤的泊车环境要求人们对汽车的泊车技术更加地娴熟,这就更加重了人们工作之外的紧张情绪,降低了人们的生活质量。因此,如何解决泊车过程中的不便利,消除安全隐患,迅速、准确、安全地将汽车停靠到合适的位置,逐渐引起了人们的关注。 一、系统的工作原理及功能 智能泊车系统可分为控制部
[单片机]
基于Microchip单片机及收发器实现的低成本LIN总线
随着汽车总线应用的日益普及以及对汽车成本的要求越来越严格,LIN总线的市场占有率越来越高。本文从低成本的角度来实现LIN总线的节点,具有非常高的实用价值。 1 LIN的基本知识与发展 1.1 LIN的基本知识 局域互连网络LIN(Local Interconnect Network)是低成本的串行通信网络,用于实现汽车中的分布式电子系统控制,是现有多种汽车网络在功能上的补充;同时它也是一个开放的标准,作为CAN总线的子总线,能缓解CAN总线数据拥挤的现状。 由于LIN总线是可靠、低成本、开放标准的网络解决方案,它可以简化现存的多点解决方案,并且能降低在汽车电子领域中的开发、生产、服务和后勤成本。
[单片机]
51单片机驱动16*16点阵显示生日快乐程序
自己亲手做的一个点阵屏 仿真+实物, 送给女朋友的生日礼物 单片机+液晶显示 带仿真文件 妞都狠喜欢这个了,显示生日快乐4个字然后还有心型,还有i love you,全部源码和仿真文件的下载地址是:http://www.51hei.com/bbs/dpj-18851-1.html 下面是部分源码预览: #include at89x51.h #include DS1302.h #define din P3_2 #define load P3_3 #define clk P3_4 #define uchar unsigned char #define uint unsigned int unsigned char code
[单片机]
基于MTV412微控制器1对8的ISP系统
引 言 随着微控制器应用领域的不断扩展和深入,越来越多种类的微控制器具有ISP(In Systern Programming,在系统编程)功能。使用ISP可以使工厂在产品设计、制造过程中不必把微控制器从目标板中拔出,通过I2C实现在线体上程序升级。目前,在国内一线工厂,主设备(上位机)一般都用PC,这样不仅浪费资源,而且灵活性较差;同时由于在线体上只能对单个从设备进行程序更新,严重影响了工厂的生产效率。为此,本文设计了一种基于MTV412微控制器的l对8的ISP系统,主设备采用Myson公司的MTV412,可以同时对8台从设备进行在线程序更新。 目前,51内核的微控制器ISP模式一般分为两大类:一类是使用JTAG协议的IS
[单片机]
2012年MCU低功耗之王到底花落谁家?
低功耗,拼的到底是什么? 低功耗一直是各大芯片厂商的兵家必争之地。今年3月份以来,市场上一下子出来很多基于M0、M3内核的产品,瑞萨、飞思卡尔、德仪、Microchip这四大家族各自标榜着自家产品的低功耗技压群雄,每个厂商对于降低功耗都有不同的处理方式,然而低功耗之战,拼的到底是什么? 飞思卡尔今年8月份举办的FTF北京站上的一例功耗对比的demo演示引发了一系列的低功耗之争,在那一场比赛中Kinetis L完胜。但是,也有业内人士表示,这个实验只是通过跑一段程序就说明哪家MCU更省电,有些片面,毕竟MCU还要从外设功耗、待机功耗等综合考量。于是,MCU几大家族纷纷搬出自己的看家之作,TI的金刚狼、瑞萨的RL78家族、Micr
[单片机]
单片机控制LED灯电路图
单片机控制电路由ATMEL公司的ATmega8L型单片机、滤波电容和A/D转换电路构成,用于采集加速度传感器信号,将采集到的信号与预先设置的阈值相比较,控制发光二极管的闪烁,如上图所示。ATmega8L每个端口引脚都有3个寄存器位:DDxn、 PORTxn和PINxn。DDxn位于DDRx寄存器,PORTxn位于PORTx寄存器,PINxn位于PINx寄存器。DDxn用于选择引脚方向,DDxn为“1”时,Pxn设置为输出,否则设置为输入。当引脚置为输入时,PORTxn为“1”,上拉电阻使能。如果需要关闭该上拉电阻,可将 PORTxn清零,或者将该引脚置为输出。复位时各引脚为高阻态,即使此时并没有时钟在运行。当引脚配置为输出时,若P
[电源管理]