惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
V
V2EX
Jina AI
Jina AI
S
Schneier on Security
Cyberwarzone
Cyberwarzone
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
PCI Perspectives
PCI Perspectives
美团技术团队
小众软件
小众软件
L
LangChain Blog
N
Netflix TechBlog - Medium
大猫的无限游戏
大猫的无限游戏
T
Threatpost
T
Tor Project blog
K
Kaspersky official blog
Microsoft Security Blog
Microsoft Security Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Security Latest
Security Latest
H
Heimdal Security Blog
N
News and Events Feed by Topic
T
Threat Research - Cisco Blogs
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Tailwind CSS Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
M
MIT News - Artificial intelligence
Apple Machine Learning Research
Apple Machine Learning Research
N
News | PayPal Newsroom
I
Intezer
博客园 - 聂微东
U
Unit 42
Cisco Talos Blog
Cisco Talos Blog
量子位
T
The Exploit Database - CXSecurity.com
Last Week in AI
Last Week in AI
博客园_首页
月光博客
月光博客
Webroot Blog
Webroot Blog
I
InfoQ
The Cloudflare Blog
Attack and Defense Labs
Attack and Defense Labs
人人都是产品经理
人人都是产品经理
Project Zero
Project Zero
Hacker News: Ask HN
Hacker News: Ask HN
IT之家
IT之家
Google DeepMind News
Google DeepMind News
C
Cisco Blogs

博客园 - 1go0

各种评价高频 各位大佬 综合模拟六套卷分类去重 心理学六套模拟分类汇总 教育学分类汇总 十五至尊图 基于CS的学习工作流构建思路【补充版】 董宇辉 青年大课演讲稿 生命里,总有一朵祥云为你缭绕 联想 Y700 键盘失灵 解决 202309 项目管理学习笔记 学习速效救心丸 关于职场白嫖 关于时间冗余杀手、职场PUA以及不断刷新三观的事情 软弱退让只能任人宰割 2022年某银行系统内部赛流量分析wp hackrf搭配gr-mixalot唤醒沉睡多年的BP机 电视机为什么会收到邻居游戏机画面? 博文阅读密码验证 - 博客园
侠盗猎车 -- 玩转滚动码(上)
1go0 · 2022-11-21 · via 博客园 - 1go0

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

大家好, 我是星舆车联网实验室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爆破无线门锁指令演示视频 (https://www.youtube.com/watch?v=xuIouejbXss)

传统的爆破攻击往往需要很长的时间, 从实战角度来说我们还需要进行优化。这里要跟大家介绍下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)

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

http://samy.pl/opensesame/

https://github.com/jopohl/urh

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