首页 > 其他分享 >侠盗猎车 -- 玩转滚动码(上)

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

时间:2022-11-21 17:33:14浏览次数:40  
标签:-- com De 猎车 侠盗 https 门锁 Bruijn 无线

原文首发于看雪,作者为Kevin2600,文章联系作者授权转载。

0x00 前言

大家好, 我是星舆车联网实验室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拨码位的更改, 以其相对应的信号也随之改变。是不是发现有点滚动码的意思了, 这种设计给重放攻击带来一定困扰。

0x01 爆破

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

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

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

以下是URH爆破无线门锁指令演示视频 (https://www.youtube.com/watch?v=xuIouejbXss)

0x02 De Bruijn 序列

传统的爆破攻击往往需要很长的时间, 从实战角度来说我们还需要进行优化。这里要跟大家介绍下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序列爆破无线门铃视频 (https://www.youtube.com/watch?v=o3CjamtVbjQ)

0x03 总结

但当我们的目标是汽车钥匙滚动码的时候, 即使De Bruijn序列也不够用。这就需要我们找到滚动码算法或者系统本身的设计缺陷。敬请期待玩转滚动码 (中) 篇的内容。以下是某款汽车滚动码缺陷演示视频 (https://www.youtube.com/watch?v=9JKg3IUJYPU)

0x04 文献

http://samy.pl/opensesame/

https://github.com/jopohl/urh

https://www.usenix.org/conference/woot18/presentation/pohl

标签:--,com,De,猎车,侠盗,https,门锁,Bruijn,无线
From: https://www.cnblogs.com/1go0/p/16912081.html

相关文章

  • 加快软盘操作速度的汇编程序源代码
    ;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<;功能:加快软盘的操作速度;来源:《软件报》1995年合订本60页;作者:成都 ......
  • [收藏]全国DNS地址
    香港ns1.netvigator.com205.252.144.228  澳门vassun2.macau.ctm.net202.175.3.8  深圳ns.shenzhen.gd.cn202.96.134.133 202.96.154.8 202.96.154.15 ......
  • SW2023新版本 SOLIDWORKS Simulation仿真功能升级
    ​​SOLIDWORKS2023​​新版本已经与大家见面,今天微辰三维与大家分享SOLIDWORKSSimulation 2023新功能,让我们先一起来看看视频——​​点击观看SOLIDWORKSSimulation 2......
  • 恒创科技:怎么租用靠谱的香港服务器?
    ​怎么找靠谱的香港服务商?对于内地企业来说,经营自己的外贸业务时,是离不开租用海外服务器的,尤其是离不开香港服务器。香港服务器既能够帮助企业在内地管理网站,也方便用......
  • 调用模块的方法
    在开发过程中经常会在当前模块调用其他模块的方法,这个时候就涉及到跨模块调用,我们还可以了解到A和R两个快捷方法的使用。$User=A("User");//实例化UserAction控制器对象......
  • 文件删除与复制 TP 的路径
    if($opt){$dirname=date('Ymd');//设置目录名称$pic='./Public/Item/'.$dirname;//设置目录路径$picmin='./Public/Item/thumb_'.$dirnam......
  • 搭载北京君正X2000主控芯片的成功案例
      汉王e典笔S20Plus搭载北京君正研发的X2000多核异构跨界处理器。君正X2000多核异构跨界处理器主要面向于智能音频、图像识别、智能家电、智能家居、智能办公等五大领......
  • 1.企业微信微盘文件通过API接口下载,2.PHP将文件流生成Excel文件
    1、企业微信微盘文件通过API接口下载,//微盘接口需要的值$data['userid']='';//操作者userid$data['fileid']='';//文件fileid$data_json......
  • Android系统中的root和System权限
     在linux系统中是只有root权限和普通权限的,Android包装了一套自己的权限体系,有platform、media、shared等的权限。Root权限是超级权限,如果得到ROOT权限则可以对系统......
  • 传统 Web 框架部署与迁移
    简介: 与其说Serverless架构是一个新的概念,不如说它是一种全新的思路,一种新的编程范式。与其说Serverless架构是一个新的概念,不如说它是一种全新的思路,一种......