OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9038|回复: 31

设备被破解后的无奈_妥协or宣战?

[复制链接]

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
发表于 2021-1-29 19:58:28 | 显示全部楼层 |阅读模式
100金钱
近期设计了一款手持设备,使用了STM32做MCU,另外上了一片DS2411作为硬件ID,无奈还是被破解了,盗版猖獗,无可奈何!

软件加密方案解析:
1. STM32的ID,常规方法就是读取STM32的ID后通过一系列算法加密为一段密文(所谓的EID)保存在板子上,软件会对这段密文做校验;
2. 硬件DS2411,通过通讯的方案获取ID后,类似1中方法生成一段密文EID保存在板子上,软件会对这段密文做校验;

上述两个方案即我目前对STM32的软件加密保护,当然具体实施的时候还是有很多细节问题:
(1)不能显示出现STM32的ID的地址,而是应该通过算法计算得到,避免反汇编时候找到这个地址;
(2)存储EID的位置做一些密文干扰保护;
(3)读保护等。。。


其实对于非专业做破解的人员来说,我们真的没有太多精力和能力来处理加密保护的事情,所以这样的结果确实有点打击人。。。哎

加密保护我已经升级了,可是第一批设备还是被破解了,很大损失,请问还能有什么好方法么?

下面曝光一下咸鱼专门破解别人设备的人,大家做开发的一定小心,多投入精力做加密保护:

专门盗版设备的人

专门盗版设备的人







正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-1-29 20:00:45 | 显示全部楼层
或许只能怪自己学艺不精。。。
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2021-1-29 22:06:00 | 显示全部楼层
stm32本身就可以硬件加密的
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2021-1-30 06:06:17 | 显示全部楼层
用Level 2 读保护吗?
回复

使用道具 举报

8

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2018-12-21
在线时间
126 小时
发表于 2021-1-30 08:44:57 | 显示全部楼层
太正常了,现在搞逆向分析的多的是,就看雇主给不给得起钱了。
魔高一尺,道高一丈,此消彼长。没有完全破解不了的东西,时间和成本的问题。
所以主要还是提高破解难度,进而提高破解成本,让盗版者放弃破解。
回复

使用道具 举报

8

主题

154

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
439
金钱
439
注册时间
2018-12-21
在线时间
126 小时
发表于 2021-1-30 08:46:05 | 显示全部楼层
另外,逆向工程的人不怕你曝光,就怕你不知道,现在各种电商App都有这种逆向的广告,有的还说自己非常牛。
回复

使用道具 举报

3

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1087
金钱
1087
注册时间
2018-12-24
在线时间
113 小时
发表于 2021-1-30 09:00:44 | 显示全部楼层
有好多公司都专门干这活,破解抄板什么的
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2021-1-30 11:54:52 | 显示全部楼层
1、stm32本身是可以加密的
2、最好把所有芯片的丝印磨掉
3、个别器件使用特别小众的容易让让误解的,比如你的是电感但是很多人一看以为是电阻或者电容
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2021-1-30 12:08:23 | 显示全部楼层
只依靠uid是没用的,这个我发帖子讲过的
下次你再想到什么保护自己代码的新方法, 做好了, 就先出钱去某宝找个贼人破解, 贼人最后给你退钱说破不了你才用啊。
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-1-30 13:06:44 | 显示全部楼层
三叶草 发表于 2021-1-30 11:54
1、stm32本身是可以加密的
2、最好把所有芯片的丝印磨掉
3、个别器件使用特别小众的容易让让误解的,比如 ...

1. STM32本身加密,是指读保护和写保护?
2. 丝印打磨这个只能对付普通人,这点专门咨询过一个破解的人,说没啥用;主要是咱们不可能每次都换一个很冷门的MCU来做方案;
3. 这点不晓得对于抄板的人而言是不是阻碍。。。
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-1-30 13:09:03 | 显示全部楼层
edmund1234 发表于 2021-1-30 12:08
只依靠uid是没用的,这个我发帖子讲过的
下次你再想到什么保护自己代码的新方法, 做好了, 就先出钱去某 ...

这个STM32的ID和DS2411的ID,依靠两种ID,其实破解成本已经上万了(某宝贼人介绍),个人出这个钱还是有点肉疼的。。。
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-1-30 13:10:45 | 显示全部楼层
小灰灰Veni 发表于 2021-1-30 09:00
有好多公司都专门干这活,破解抄板什么的

其实我不想怪那些做破解的技术人员,说得好听点叫“逆向工程师”。其实我们应该提防的是那些花钱找人破解后自己生产的人。。。
回复

使用道具 举报

6

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2020-5-18
在线时间
165 小时
发表于 2021-1-30 13:35:06 | 显示全部楼层
abc82465zz 发表于 2021-1-30 13:10
其实我不想怪那些做破解的技术人员,说得好听点叫“逆向工程师”。其实我们应该提防的是那些花钱找人破解 ...

你不怪那些搞破解的?那么说的话有一天你有破解这个技术了也会去破解别人辛苦才研发出来的产品是吗?这跟寄生虫有什么分别?(破解外国或者只是自用除外)所以你问妥协还是宣战,当然是宣战。可别糊涂了。
回复

使用道具 举报

3

主题

1907

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4106
金钱
4106
注册时间
2018-8-14
在线时间
696 小时
发表于 2021-1-30 15:23:07 | 显示全部楼层
abc82465zz 发表于 2021-1-30 13:09
这个STM32的ID和DS2411的ID,依靠两种ID,其实破解成本已经上万了(某宝贼人介绍),个人出这个钱还是有 ...

那你还是老老实实的用Level 2 吧
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-1-30 16:33:35 | 显示全部楼层
xuetu100 发表于 2021-1-30 13:35
你不怪那些搞破解的?那么说的话有一天你有破解这个技术了也会去破解别人辛苦才研发出来的产品是吗?这跟 ...

坦白来讲,可以做的事情很有限。只能后续产品提升加密性能,可是已经被破解的那批,技术上确实已经没什么办法了。
回复

使用道具 举报

3

主题

93

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
459
金钱
459
注册时间
2014-3-7
在线时间
51 小时
发表于 2021-1-31 12:07:49 | 显示全部楼层
能被破解的 说明也没啥技术难度。 就算人家不破解 也只是花一些工作量罢了。
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-2-1 08:45:41 | 显示全部楼层
eydj2008 发表于 2021-1-31 12:07
能被破解的 说明也没啥技术难度。 就算人家不破解 也只是花一些工作量罢了。

你错了,破解和本身功能的技术难度无关。再简单的功能开发,给你几千元你给做么?然而STM32的ID加密这种破解,几千元就搞定了。
回复

使用道具 举报

80

主题

931

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3348
金钱
3348
注册时间
2013-5-28
在线时间
468 小时
发表于 2021-2-1 14:26:49 | 显示全部楼层
我是明修栈道,暗渡陈仓.
有明码ID,有隐藏ID,有扰码.
首先锁死是明码ID,这个ID改了,设备就能运行.
但是隐藏ID校验失败,则会在一定时间后,失效,全片擦除,疯狂写flash,锁死.确保人家测试都正常啊,就是让他死客户手里.
回复

使用道具 举报

2

主题

685

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3448
金钱
3448
注册时间
2017-7-4
在线时间
869 小时
发表于 2021-2-1 15:20:54 | 显示全部楼层
加熔断机制。破解了触发flash熔断自毁(擦除)
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-2-2 09:06:27 | 显示全部楼层
Acuity 发表于 2021-2-1 15:20
加熔断机制。破解了触发flash熔断自毁(擦除)

但凡被人读出Bin文件后,别人是可以批量刷的,发现有问题就反汇编找问题了。而且他们不会只有一块母片来破解的。。。
回复

使用道具 举报

3

主题

93

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1087
金钱
1087
注册时间
2018-12-24
在线时间
113 小时
发表于 2021-2-2 09:20:24 | 显示全部楼层
edmund1234 发表于 2021-1-30 15:23
那你还是老老实实的用Level 2 吧

话说L2能百分百确保安全吗
回复

使用道具 举报

46

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1128
金钱
1128
注册时间
2016-3-25
在线时间
365 小时
发表于 2021-2-2 10:07:55 | 显示全部楼层
个人建议:

   日前主要破解方法:探针技术(物理破解)
          这种方法重新改变芯片内部线路的方法,这种方法所读取出来的程序正确率为100%。首先是解除封闭,当晶片裸露出来后,用高倍显微镜和FIB(聚焦离子束设备),查找芯片的加密位置,通过改变其线路的方法,将加密芯片变为不加密的一个状态,然后再用编程器,将芯片内部的程序读取出来。

   所以除了添加普通加密手段外,可以采用偏门的IC,这样的IC资料相对较少,所以增加破解难度和成本,如果破解成本远远高于回收效益,那么他们就会知难而退!

日前主主流的IC基本上都是可以破解的。
代写STM32各类驱动,DEMO程序
回复

使用道具 举报

46

主题

200

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1128
金钱
1128
注册时间
2016-3-25
在线时间
365 小时
发表于 2021-2-2 10:18:13 | 显示全部楼层
聚东风 发表于 2021-2-1 14:26
我是明修栈道,暗渡陈仓.
有明码ID,有隐藏ID,有扰码.
首先锁死是明码ID,这个ID改了,设备就能运行.

楼主这个还是比较高明,样他们量产后,把产品交客户手里,用到一段时间出各种问题,让他们摸不着头脑,直接把客户搞死

   芯片UID加密不要把UID明文保存,都是通过多层算法加密然后保存。最好是多个模块交叉验证。验证不通过就直接擦除应用程序或者像楼主一的思路一样,不定时异常。比这个产品是密码锁,如果验证不通过,不定时的给开锁,吓死客户去,哈哈……(我本心不坏的哈)
代写STM32各类驱动,DEMO程序
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13118
金钱
13118
注册时间
2012-11-26
在线时间
3813 小时
发表于 2021-2-2 11:41:43 | 显示全部楼层
edmund1234 发表于 2021-1-30 06:06
用Level 2 读保护吗?

读保护是最最最低级的保护。。。
学无止境
回复

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2021-2-2 15:28:30 | 显示全部楼层
本帖最后由 y284858 于 2021-2-2 15:32 编辑

或者再加入一个程序完整性校验,对flash上的程序通过校验算法生成校验码,在运行一段时间或启动一定次数后校验并且建议将一些校验的保护动作不要立即执行,加入一些延时(例如一个月后)使得破解者不能立即测试出他们是否完成破解,
如果破解者没能在当时测试出来其中一个保护动作,在破解的产品最终流向市场后可能会对破解者造成巨大的损失,使其后续补敢在使用破解程序。
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-2-4 11:54:26 | 显示全部楼层
y284858 发表于 2021-2-2 15:28
或者再加入一个程序完整性校验,对flash上的程序通过校验算法生成校验码,在运行一段时间或启动一定次数后 ...

这些措施都是有的,不过这些就属于常规套路,破解的技术人员远比咱们要专业的多,目前只能依靠外围硬件加密芯片,而且是那种自己可以写入算法的。
回复

使用道具 举报

3

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
530
金钱
530
注册时间
2017-7-25
在线时间
188 小时
发表于 2021-2-4 17:00:12 | 显示全部楼层
http://www.openedv.com/forum.php?mod=viewthread&tid=64685
之前论坛有人分享过, 可能参考下
回复

使用道具 举报

4

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2019-5-11
在线时间
39 小时
发表于 2021-2-5 15:39:01 | 显示全部楼层
这个读HEX来量产有啥太大的意义?
毕竟只是ARM处理器,本身开发难度就不大。
另外,你的设备联网嘛?要是联网的话,在服务器做加解密验证就好了。
或者开发上位机软件,每多少个人给设备授权一次。
就是相对来说比较麻烦
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-2-5 16:09:11 | 显示全部楼层
ma3264175 发表于 2021-2-5 15:39
这个读HEX来量产有啥太大的意义?
毕竟只是ARM处理器,本身开发难度就不大。
另外,你的设备联网嘛?要 ...

1. 特定算法的一套东西他们实现不了,所以破解;
2. 开发难度再小,和破解成本对比呢?破解成本很低;
3. 一般破解对象都是一些不带联网的小型仪器;
4. 具体方法有很多,我也升级了,然而破解的技术员在这方面还是比较厉害的,所以不清楚这些是否防的住。。。
回复

使用道具 举报

4

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2019-5-11
在线时间
39 小时
发表于 2021-2-5 16:18:35 | 显示全部楼层
本帖最后由 ma3264175 于 2021-2-5 16:20 编辑
abc82465zz 发表于 2021-2-5 16:09
1. 特定算法的一套东西他们实现不了,所以破解;
2. 开发难度再小,和破解成本对比呢?破解成本很低;
...

这个只要你把产品给别人,理论上来说很难。
因为不管你使用什么方式的加密,别人可以通过抓取你的实时通讯数据来破解。
但是也不是所有销售脚都做不了的,可以通过一些硬件配合软件的加密,比如专用加密芯片。
每一台机器MCU程序与加密芯片进行 公私钥加解密进行。
举个例子,
假如; 有一个专用的加密flash 你MCU上电读取这个flash 进行验证。然后通过在运行,否则内部记录失败,连续失败多少次 直接把自己格式化。
这个加解密算法 你用上位机做个 双螺旋 即:每一台设备的加解密都不一样,且唯一对应。就是A与A1 可以 A与B1都不行
基本就行了。 但是这样对于批量生产难度太大。这个前提是,你的加密FLASH不会被读取。
回复

使用道具 举报

7

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-12-29
在线时间
70 小时
 楼主| 发表于 2021-2-5 23:41:04 | 显示全部楼层
ma3264175 发表于 2021-2-5 16:18
这个只要你把产品给别人,理论上来说很难。
因为不管你使用什么方式的加密,别人可以通过抓取你的实时通 ...

方法是有很多的,目前我总合了解下来,外置可编程算法的加密芯片较为可靠一些,主MCU运行程序,一些必要的算法由加密芯片来运算得到,这样即使破解了主MCU,也一样无法使用。除此以外,类似密钥校验这类的外置加密芯片,也是防不住的,因为主MCU要存储密钥,而主MCU本身就是弱安全端。
回复

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2021-3-3 14:27:26 | 显示全部楼层
abc82465zz 发表于 2021-2-4 11:54
这些措施都是有的,不过这些就属于常规套路,破解的技术人员远比咱们要专业的多,目前只能依靠外围硬件加 ...

我就想到这些东东,复杂的我也不会,哎,破解成本太低了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 05:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表