首页
社区
课程
招聘
侠盗猎车 -- 玩转滚动码(上)
发表于: 2021-12-21 18:13 24376

侠盗猎车 -- 玩转滚动码(上)

2021-12-21 18:13
24376

大家好, 我是星舆车联网实验室Kevin2600。团队成员在漏洞挖掘, 硬件逆向与AI大数据方面有着丰富经验, 连续在GeekPwn等破解赛事中斩获奖项。发现众多产品高危漏洞,并获相关厂商致谢。团队研究成果多次发表于DEFCON等国内外顶级安全会议, 并成功入选特斯拉漏洞名人堂。

在前两篇侠盗猎车系列文章中, 我们介绍了固定码逆向分析的思路和原理。感兴趣的同学可去(https://bbs.pediy.com/thread-269716.htm和(https://bbs.pediy.com/thread-270069.htm) 复习一波。值得一提的是其中一个测试目标无线门锁, 在锁的接收端与遥控器部分都带有一个8 bits的DIP开关。每一bit又可有上中下3种变化码位。只有当两边的bits拨码位相匹配时, 遥控器才能将门锁打开。

相对传统不可更改的固定码而言, 这大大提升了无线门锁的码位空间。以下是分别代表了3段不同拨码位的信号频谱图, 可以看出这3段信号的后半部分完全相同, 而每段第1位的信号却各不相同, 因为随着1st bit拨码位的更改, 以其相对应的信号也随之改变。是不是发现有点滚动码的意思了, 这种设计给重放攻击带来一定困扰。

不过其影响非常有限, 因为拨码仅8bits, 3^8 总共只有6561种组合。对于如今电脑算力实在不费吹灰之力, 且大多数的无线门锁系统并没有防爆破机制。这里跟大家推荐一款为无线信号逆向破解而生的软件Universe Radio Hacker。想要逆向常见的无线钥匙系统使用URH足够了。如下图通过URH来判断无线信号的频率范围和调制方式。

在捕捉到无线门锁的信号后, 还可以通过URH进行可视化分析。如下图门锁遥控信号的固定码一览无余。

前面提到过此款无线门锁的拨码变化空间有限, 所以可以在分析完信号结构后生成所有可能的排列组合, 通过URH的Fuzzing 功能对门锁进行爆破攻击。

以下是URH爆破无线门锁指令演示视频 (06eK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6L8%4g2@1N6h3u0W2i4K6u0W2j5$3!0E0i4K6u0r3N6$3q4@1j5$3S2Q4x3@1k6$3i4K6y4p5P5s2g2u0L8%4g2W2K9X3u0j5M7%4y4Q4x3U0V1`.

传统的爆破攻击往往需要很长的时间, 从实战角度来说我们还需要进行优化。这里要跟大家介绍下De Bruijn序列, 这是由荷兰数学家Nicolas Govert de Bruijn命名而来。De Bruijn序列的表达式为B (k,n)。我们用常见的银行ATM密码举个例子, k为所有的数字组合{0,1,2,3,4,5,6,7,8,9}, n则是密码的总长度假设为4, 因此De Bruijn表达式为B (10,4)。

这样的密码总共可有10,000种组合, 如果每组都单独尝试仍需要花很长的时间。电子电路中还有一个shift register的概念, 如下图中只出现了1组数列, 但却可用于3次密码尝试。因为如果采用了shift register机制, 每次尝试电路寄存器都自动向前移动一位。

在举个例子我们用二进制数列来分别表示1,2,3,4:

现在假设密码是111111000000。我们首先尝试0111111000000 这12bits数列, 这显然不对, 但如果目标系统用shift register, 我们则无需在尝试另一组12bts数列, 因为shift register 每次仅向前移动1bit 变为111111000000, 密码正确。在无线指令爆破攻击中, 我们可以提前生成具有De Bruijn序列特性的数组。从而大大减少了所需时间。以下是利用De Bruijn序列爆破无线门铃视频 (4f2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6L8%4g2@1N6h3u0W2i4K6u0W2j5$3!0E0i4K6u0r3N6$3q4@1j5$3S2Q4x3@1k6$3i4K6y4p5L8K6y4o6K9X3q4E0N6q4k6T1K9W2q4Q4x3U0V1`.

但当我们的目标是汽车钥匙滚动码的时候, 即使De Bruijn序列也不够用。这就需要我们找到滚动码算法或者系统本身的设计缺陷。敬请期待玩转滚动码 (中) 篇的内容。以下是某款汽车滚动码缺陷演示视频 (722K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6%4N6%4N6Q4x3X3g2&6L8%4g2@1N6h3u0W2i4K6u0W2j5$3!0E0i4K6u0r3N6$3q4@1j5$3S2Q4x3@1k6$3i4K6y4p5z5f1A6w2k6K6y4u0g2f1A6k6f1q4g2Q4x3U0V1`.

828K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4S2L8i4W2Q4x3X3g2H3L8q4)9J5c8X3!0H3k6h3&6K6k6i4y4S2L8h3g2Q4x3V1j5`.

a00K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6B7L8%4m8G2K9r3I4Q4x3V1k6#2M7X3R3`.


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

最后于 2022-1-11 12:17 被星舆实验室编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (4)
雪    币: 58782
活跃值: (21900)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
谢谢分享,期待更多的内容!
2021-12-21 18:29
2
雪    币: 191
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
2021-12-22 22:41
0
雪    币: 1595
活跃值: (682)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢分享
2021-12-23 21:54
0
雪    币: 5088
活跃值: (5845)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢分享
2021-12-25 12:10
0
游客
登录 | 注册 方可回帖
返回