首页>>科技 >>内容

大奔来了快来看,快来看看你的MCU是怎么被破解的

发布时间:2023-08-25 20:30:10编辑:温柔的背包来源:

很多朋友对大奔来了快来看,快来看看你的MCU是怎么被破解的不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。

大奔来了快来看,快来看看你的MCU是怎么被破解的

大家可能都知道破解51单片机非常容易,但是为什么容易以及如何破解可能很多人都不清楚。其实单片机的破解并不像我们的开发项目那么复杂。有时发现漏洞,用一个小技巧就可能获取或篡改用户程序。业界有多种解密方法。每个人能破解的思维方式也不同。但一般是下面这样的。

软件破解

使用软件破解目标MCU的方法,并且使用该方法,不会对目标MCU部件造成物理损坏。

这种破解方法最早主要用于WINBONGD、SYNCMOS单片机和GAL门阵列。这类软件解密设备按照一定的步骤进行操作,执行芯片上的程序并将指令发送到芯片外部,然后利用解密设备进行拦截,从而对芯片内部的程序进行解密(GAL采用逻辑猜测) ),即可获得加密后的单片机中的程序。

另外,也适用于现在市场上比较常见的ARM系列芯片。比如我们发布产品的时候,没有关闭相关的调试接口,比如SWD接口,那么代码破解者就可以利用这个调试接口来转换我们自己写的代码。一段代码被烧录到MCU的RAM中,这段代码就会被执行,这段代码可以从芯片中逐字节读取我们存储在Flash中的固件程序。

除了用于调试的SWD接口外,带有OTA功能的产品也要注意保护自己的OTA通道。一旦OTA进程被发现,黑客就有机会利用这个接口运行自己的程序,从而复制Flash中的信息。得到它。

芯片唯一ID

以上都是利用芯片本身或者软件漏洞获取用户固件的情况,所以有人会说我在程序运行过程中利用芯片的唯一ID来验证ID,所以即使固件被拷贝出来,没有办法批量生产。

那么,在芯片设计中添加的唯一ID确实给芯片的破解增加了一些难度,但黑客往往会采取不寻常的路径。

首先,这种唯一ID在硬件上存在漏洞,有机会被篡改,ID或者读取ID的地址。然后我们就可以从软件中破解它了。

破解方法:

1、首先按照上面提到的获取固件的破解方法获取MCU的HEX文件。 2.使用软件反编译HEX。目前有很多反编译软件。 3、在反编译的程序中,找到比较点,如图3所示,CJNE语句可能就是比较点。因此,只要删除箭头2这行,然后再次将汇编语言下载到单片机中,破解工作就完成了。此时,即使没有加密芯片,MCU也能正常运行。

加密芯片安全吗?

关于加密芯片,我想说的是,加密芯片本身是非常安全的,它内部设计了相关的防硬件破解措施。一旦对芯片进行硬件检测和破解,其内部保护电路就会被触发,其所有数据都会被擦除。

但我们的产品是一个系统,并不是一个单独的加密芯片,一旦我们的功能主要部分暴露在非安全区域,就会给黑客带来可乘之机,比如一般智能硬件产品的功能实现。它位于系统的主MCU内,而在主MCU外部,往往通过SPI或IIC接口连接加密芯片,以保护系统。

加密原理:

MCU和加密芯片各自存储认证密钥和相同的加密算法;

MCU生成随机数并发送给加密芯片,加密芯片用秘钥对密文进行加密后返回。此时,MCU解密后,比较明文是否等于生成的随机数。如果相等,则程序正常运行;如果不相等,则错误处理。

因为盗版者没有这个密钥,而且加密芯片和MCU之间交换的数据随机变化,无法找到规律,所以只能破解加密芯片的程序,然后复制另一个加密芯片使MCU程序运行。加密芯片与通用MCU不同。它内部有很多安全机制,破解起来非常困难。

这种加密方案看似很安全,但实际上主MCU存在安全漏洞,固件依然会被复制出来,类似破解唯一ID加密的方法就足够了。因此,这种加密芯片只能保护个人数据,并不能保护整个系统。进行全面保护。

硬件破解

以上这一切都有一个前提,那就是用户忘记关闭调试界面,或者使用的OTA程序被破解利用,从而让黑客获取了芯片内部的固件程序。

接下来,我们来说说另一种情况。工程师很认真,不留调试界面。同时,OTA逻辑也设计得非常可靠,具有各种保护逻辑和防重放措施,保证重复的命令信息不会被黑客检测到。

难道这样就没有办法破解了吗?不幸的是,这对于真正研究芯片破解技术的专业人士来说是起始环境。

全球范围内有很多芯片破解公司和研究机构,有的甚至在一些大学实验室和研究所里。他们经常为芯片设计公司服务,帮助设计公司提高芯片安全指标。当然,他们也可以为那些盈利的人提供芯片破解服务。

芯片的安全就是攻击和防御、不断提高技术水平的过程。接下来我们就来看看如何在硬件上破解芯片。

流程如下:

1、 测试使用高端编程器等设备测试芯片是否正常,并保存配置字。

2、 手动或通过专用设备打开盖子。这里所说的盖子并不代表该MCU或者其他MCU真的有盖子。 MCU实际上是一个大规模集成电路,由N个电路组成,而晶圆是集成电路的载体。晶圆封装后,就形成了我们日常生活中使用的IC芯片。封装类型有很多种,比如TSSOP28、QFN28等,大家可以自行去百度搜索,这里不再赘述。

3、 进行电路修改对于不同的芯片,提供相应的图纸让厂家进行电路修改,目的是使MCU的存储区域可读。有些MCU默认是不允许读取Flash或E2PROM中的数据的,因为有硬件电路进行保护,一旦加密连接被切断,程序就会暴露,无法读取。如图2所示

(切断加密熔丝,这样可以直接读取芯片内部程序)

4、 读取程序取回修改后的MCU,直接使用编程器读取程序,可以是HEX文件,也可以是BIN文件。

5、 给客户烧写样本根据读取的程序和配置,烧录到目标MCU中,从而完成MCU的破解。至此,硬件破解方法已经成功完成。

其他硬件黑客

打开盖子修改电路,打破芯片设置的读保护,从而破译芯片。这其实是最常用的方法。对于很多具有熔丝位、防护措施较高的芯片来说,破译方法还是多种多样的。让我们在下面简要列出它们:

**电子检测攻击**

该技术通常以高时间分辨率监控正常操作期间处理器的所有电源和接口连接的模拟特性,并通过监控其电磁辐射特性进行攻击。由于单片机是一种有源电子设备,当它执行不同的指令时,相应的电源功耗也会发生相应的变化。这样,利用专用电子测量仪器和数理统计方法分析检测这些变化,就可以得到单片机中具体的关键信息。

**故障生成技术**

该技术利用异常操作条件使处理器跳闸,然后提供额外的访问权限来实施攻击。最广泛使用的故障生成攻击包括电压冲击和时钟冲击。处理器执行了错误的操作。电源和时钟瞬变可能会影响某些处理器中各个指令的解码和执行。

**探针技术**

该技术是直接暴露芯片内部连线,然后对单片机进行观察、阻断、干扰,从而达到攻击的目的。

**紫外线攻击方法**

紫外线攻击也叫紫外线攻击法,就是用紫外线照射芯片,使加密的芯片变成未加密的芯片,然后直接用编程器转换程序。此方法适用于OTP芯片。做单片机的工程师都知道,OTP OTP芯片采用陶瓷封装,其中有一半是石英玻璃。这种可以直接用紫外线照射。如果是塑料包装的话,需要先密封。只有将芯片打开并露出晶圆后才能通过芯片。这种芯片的加密性比较差,解密基本不需要任何成本,所以市场上这种芯片解密的价格很便宜,比如SONIX SN8P2511解密、飞凌单片解密等,价格为非常便宜。

**FIB恢复加密熔断方法**

这种方法适用于很多带有熔丝加密的芯片。最有特色的芯片是TI的MSP430的解密方法,因为MSP430在加密时需要烧掉熔丝,所以只要能恢复熔丝,就变得正常了。解密公司使用探针来连接熔丝位。有些人没有太多的解密设备,因此需要请其他半导体电路修改公司来修改电路。通常可以使用FIB(聚焦离子束)设备。目前国内这些设备的二手设备有很多,而且价格也很便宜。一些有实力的解密公司已经配置了自己的设备。基于对设备和耗材的需要,这种方法并不是一个好的方法,但是如果没有更好的方法,很多芯片都需要这种方法来实现。

**如何修改加密行**

目前市场上的CPLD和DSP芯片设计复杂,加密性能较高。使用上述方法很难解密,因此需要分析芯片结构,然后找到加密电路,然后使用器件修改芯片电路。对芯片的电路进行一些改动,使加密电路失效,使加密的DSP或CPLD变成未加密的芯片,从而可以读取代码。如TMS320LF2407A解密、TMS320F28335解密、TMS320F2812解密就是采用这种方法。

以上知识分享希望能够帮助到大家!