快来看看你的MCU是怎么被破解的.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
快来看看你的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中,在主MCU之外往往通过SPI或者I IC接口来连接加密芯片对系统进行保护。 加密原理: MCU 和加密芯片各存储一条 认证秘钥,存储同样的加密 算法; MCU 产生随机数发给加密芯片,后者用秘钥加密后将密文返回,此时 MCU 解密后,比对明文是否和生成的随机数相等。如果相等,程序正常运行; 如果不相等,出错处理。 因为盗版商没有这条秘钥,加密芯片与 MCU 交互的数据又是随机变化的,无法找到规律,所以只能把加密芯片的程序破解了,再复制一片加密芯片才能让 MCU 的程序跑起来。而加密芯片不同于通用 MCU,它内部有很多安全机制,破解难度非常大。 这种加密方案看似非常安全,但其实主MCU存在安全漏洞,依然会被拷贝出固件,执行类似破解唯一ID加密的方法即可,因此这种加密芯片只能保护个别数据,无法对整个系统进行全面的保护。 硬件破解 前面所讲的都有一个前提,那就是用户忘记关闭调试接口,或者用的OTA程序被破解利用,使得黑客获取到了芯片内部的固件程序。 接下来我们聊一下另一个情况, 工程师认真,没有留下调试接口,同时OTA逻辑也设计的非常可靠,具备了各种保护逻辑和防重放措施,保证不被黑客 检测到重复的命令信息。 难道这样就没办法破解了吗?很遗憾,这才是真正研究芯片破解技术的专业人员的起步环境。 全球有很多做芯片破解的公司和研究机构,他们有的甚至在一些院校实验室和研究所里面,他们往往会为芯片设计公司服务,来帮助设计公司提高自己的芯片安全指标,当然也可以提供芯片破译服务给有利可图者提供服务。 芯片的安全就是攻防对决,不断提高技术水平的过程,接下来我们看一下硬件上是怎么破解一颗芯片的。 流程如下: 1、测试使用高档 编程器等设备测试芯片是否正常,并把配置字保存。 2、开盖采用手工或专用开盖设备进行开盖处理,这里说的开盖并不是说单片机或者其他 MCU

文档评论(0)

wu9872 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档