首页 > 其他分享 >【射频】汽车远程无钥匙进入系统与滚动码

【射频】汽车远程无钥匙进入系统与滚动码

时间:2023-03-23 17:13:59浏览次数:48  
标签:滚动 解锁 RollJam 钥匙 信号 RollBack 远程 射频

目录

概述

事件

  • 本田车的无钥匙汽车盗窃事件中,这些攻击存在一个共同点,就是它们都欺骗了车辆的远程无钥匙进入 (remote keyless entre,RKE)系统

原理

  • RKE系统的用户只需按下钥匙上的一个按键就可以打开车门和关闭车门。但RKE技术带来便利性的同时也存在安全性的问题。大多数低端的RKE系统发送器在每次按下按钮时都发送一个固定的识别码,低端系统中的惟一识别码通常是一个相对较小的数字。这些缺点为老道的窃贼们创造了机会,使他们能制造出一个能“截获”信号并重发的设备,或能快速“扫描”所有可能的识别码直到找到正确识别码的设备。采用滚动码加密技术可以大大改善固定码方式的安全性,因为每次遥控器发出的信息都是独一无二的,而且滚动码不存在简单的变化规律,这就有效的防止了简单的重放攻击,也无法被扫描。

  • 采用了滚动码技术的 RKE 系统也并非牢不可破,2015年DefCon 大会上Kamkar分享的RollJam 被证明可以被利用并攻击所有基于滚动码的系统。通过信号干扰、捕获和重放,攻击者可以获取到尚未使用的有效滚动码。但是RollJam需要持续的部署直到被利用,因为一旦在没有 RollJam 的情况下再次使用了遥控钥匙,RollJam捕获的信号就会失效。

  • 本议题提出了一种针对RKE系统的新型攻击 RollBack,它的特殊之处在于即使捕获到的滚动码已失效,也可以利用其触发RKE 系统中类似回滚的机制,并使得重放的信号被成功执行。此外,受害者仍然可以使用车钥匙,而且不易发觉遭受到了攻击。

  • 与 RollJam 不同的是,它只需要一次信号捕获,就可以在未来的任何时间利用任意次数。这种与时间无关的特性对攻击者特别具有吸引力,尤其是在汽车共享/租赁场景中。针对不同汽车制造商、车辆型号和 RKE 制造商的持续分析,其中约 70% 的汽车易受 RollBack 的影响,并预计全球范围内的影响会更大。

滚动码

滚动码介绍

  • 滚动码(Rolling codes),也称为跳跃码,是一种特殊类型的加密系统,用于无线无钥匙进入装置。
  • 过去,车主只需按一下按钮,遥控器就会将解锁码传送到汽车接收器上。
  • 这种方法有一个明显的缺陷,即任何人都可以在信号传输时接收到信号,然后在未经其允许的情况下使用该代码解锁车主的汽车。
  • 为此,滚动码技术出现了,它确保了每次传输的代码都是唯一的、不规则的、且不重复。

滚动码正常工作流程

1、车钥匙里存有当前的滚动码。当按下车钥匙按钮时,滚动码加上功能码(比如开门,关门等)一起发送给汽车。

2、汽车也存有当前的滚动码。当汽车收到同样的滚动码时,它就执行相应的操作。如果收到的数据不匹配,就不执行任何动作。

3、车钥匙和汽车里的滚动码是始终保持同步的。

4、如果在车钥匙距离车很远时误触了几次车钥匙按钮,或者钥匙发出的信号被故意拦截未被车辆接收,那么车钥匙中的滚动码就会前进好几步,此时跟车内的码就不同步了。这种情况下,汽车允许接收当前码之后指定数量的码,只要车钥匙发送的码在这个窗口之内,汽车都认为是有效的,成功接收后,计数器会再次重新同步。

5、如果车钥匙被误按超过设定次数,车钥匙和车就会彻底失去同步,这时候就只能想办法恢复同步了。

滚动码攻击场景工作流程

如果攻击者能够捕捉到车辆附近意外按下按钮的信号,那么就有可能通过重放该信号来解锁车辆。但是在实际情况下,要从随机的人那里获取这些信号是相当不现实的。

RollJam

RollJam介绍

RollJam 设备是款无线电装置,比手机还小,售价32美元,设计的目的在于破坏“滚动码”的安全性。

RollJam工作流程

当受害者首次按下钥匙按钮时,RollJam利用廉价的无线电设备在汽车使用的常见频率波段上发送噪声,拦截信号Unlock1使其不能被车辆接收,与此同时保存截获到钥匙发出的Unlock1信号。

当首个钥匙信号遭到拦截,且未能解锁车门时,车主极大概率会再次尝试。在第二次按下钥匙按钮时,RollJam会再次拦截信号Unlock2,不过也会在同时传送第一次的信号Unlock1,这次车门被解锁了,通常用户会忽视之前的解锁失败。但是RollJam却获取了第二个有效的信号。如果RollJam安装在汽车上或藏在车库附近,它就可以重复拦截信号,不管车主进行了多少次解锁,它都始终传送上一个信号,然后储存下一个信号。RollJam的安装者不管何时取回这一装置,他都会得到一个未使用且有效的滚动码信号。

RollJam的两个主要缺点

1、攻击者必须非常精确的掌握时机。如果其未能及时利用获取到的滚动码信号,一旦车主再次解锁了车辆,就需要重复之前的过程再次获取新信号。

2、当攻击者想再次打开同一辆车时,必须从头开始重做所有事情。

RollBack:与时间无关的重新同步攻击

RollBack概述

  • 捕获并重放两个连续的解锁信号就能够解锁汽车

详细过程

当受害者首次按下钥匙按钮时,RollBack设备发送噪声拦截信号Unlock1,与此同时截获该信号。

当首个信号遭到拦截未能解锁车门时,受害者极大概率会再次尝试。在第二次按下钥匙按钮时,RollBack不会拦截信号Unlock2,只会捕获它,因为车辆顺利接收到了Unlock2,车门被解锁了。

接下来,车主如往常一样使用车钥匙开锁、关锁,可能会重复 n 次。

接下来攻击者控制 RollBack设备重放之前捕获的两个连续“解锁”信号 Unlock1和 Unlock2,当重放Unlock1时,车门还是处于锁定状态,但是重放Unlock2 之后,车门被打开了。

上述场景中滚动码的变化过程

攻击者重放了连续的两个滚动码之后,车辆中的滚动码计数器重新同步到了之前的滚动码n,因此会响应 n+1 次发送的命令。

RollBack 两个明显特点:与时间无关

一旦攻击者捕获到信号,无论车主使用钥匙解锁关锁汽车多少次,都可以在未来的任何时间启动 RollBack。

RollBack 成功利用一次后,它还可以根据需要再重新利用多次,而无需从头开始重做任何事情。
简而言之,一次捕获两个信号,就可以无限期地访问该车辆。

RollBack的影响因素

首先是需要重放的信号数(SIGNALS)。在上面的例子中重放的信号数是2,然而,其他易受攻击的系统可能需要更多。因此,RollBack的第一个(也是最重要的)属性是攻击者必须捕获(和重放)的信号数量。

其次观察到的现象是,对于有些车辆比如马自达,攻击者必须严格按照相同的、连续的顺序重放信号,也就是说,不能错过中间的任何信号。但是也发现有些易受攻击的车辆(比如起亚)并不特别关心这个问题,捕获的任意两个非严格连续信号重放都是有效的。因此,把第二个需要注意的属性称为SEQUENCE,它可以是严格的(就像前面提到的日产汽车的情况,必须是连续的两个信号);也可以是松散的,即只要是按照捕获的顺序重放信号即可。

第三个属性称为TIMEFRAME,表示重放时相邻两个信号之间可以经过的最大秒数。一些车辆对此进行了限制;有些车辆则无限制。捕获信号后,使用Universal Radio Hacker等应用程序在给定的时间范围内重放它们(即修剪信号间的“空噪声”)很容易。

RollBack变体

需要重放2条信号、2条信号无需一定是连续的、信号发送的间隔无要求。
需要重放2条信号、2条信号必须是连续的、信号发送的间隔不能超过N秒。
需要重放3条信号、3条信号必须是连续的、信号发送的间隔无要求。
需要重放5条信号、5条信号必须是连续的、信号发送的间隔无要求。
到目前为止还没有发现 (2,严格,U)、(2,松散,y秒)的组合情况。

受影响的车辆小结

车辆的年龄无关紧要。新款汽车可能与老款汽车一样脆弱。
传动系统(混合动力与汽油)无关紧要。尽管混合动力或纯电动汽车使用更多的软件(因此可能更容易引入应对措施),但 RKE 系统本身似乎是独立的。
大多数测试的亚洲汽车都易受攻击。例如,所有经过测试的马自达、本田和起亚汽车都易受攻击。但是,所有经过测试的丰田汽车都不易受到RollBack的影响。
所有使用2和 Mfr.3制造商提供钥匙的车辆都受到影响,而且它们都只需要两个信号。
大多数使用 Mfr.1 制造商提供钥匙的车辆会受到影响。马自达汽车需要3个信号,本田汽车需要5个。
使用4 制造商提供钥匙的车辆似乎是安全的。

参考

END

标签:滚动,解锁,RollJam,钥匙,信号,RollBack,远程,射频
From: https://www.cnblogs.com/anliux/p/17248157.html

相关文章

  • 海岛能源物联网助力设备远程监控,有效提升设备管理水平
    海岛是海洋资源开发的重要平台。由于远离大陆,资源补给便十分重要,其中能源供给问题更是重中之重。目前近海岛屿的供电主要是依靠海底电缆输电线路和备用柴油发电机,存在设备投......
  • a标签实现下载远程文件
    通过a标签可以下载文件(图片、音频、视频等)constlink=document.createElement('a');link.href=fileurl;link.download=filename;link.click();远程文件地址,直......
  • JNDI RMI 远程访问(LOG4j2漏洞底层原理)
    JDK版本8u112客户端(模拟被攻击的网站)服务端(注册RMI服务,给被攻击网站提供RMI服务)服务端IP192.168.3.175恶意类(客户端发送请求给服务端,服务端再请求恶意类予以......
  • uni-app/微信小程序:scroll-view纵向滚动高度自适应flex布局填充剩余高度
    (目录)文档uni-app文档:https://uniapp.dcloud.net.cn/component/scroll-view.html使用竖向滚动时,需要给<scroll-view>一个固定高度,通过css设置height微信文档......
  • 工业锅炉设备远程监控运维
    ​我国是全球工业锅炉生产应用数量最大、应用范围最广泛的国家,规模以上锅炉生产企业有千余家。我国工业锅炉容量小、数量大、布点散、能耗高,无法做到集中管理和控制,对于锅炉......
  • Win 远程桌面连接
     1) 知道要连接电脑的ip, 电脑账户信息里的名字、密码2) 在另一台win电脑搜索’远程桌面连接’,分别输入以上三个信息,即可连接成功 参考图  ......
  • git一个本地仓库,配置两个远程仓库
    git一个本地仓库,配置两个远程仓库,gitpush的时候会推送到两个远程仓库方法:找到并打开git的配置.git/config。把url改为如下 ......
  • Java远程唤醒mac
    关机的,大家都会……想比我就不说了吧!通过IP,使用shutdown命令,外加参数……附上地址,OK。packagecom.iaiai.test;importjava.net.DatagramPacket;i......
  • 手机怎么远程连接服务器桌面?苹果手机怎么连接服务器?
    现在很多游戏、应用为了体验感好、方便使用都实现了多端同步,服务器远程连接也不例外,今天飞飞给你们分享手机连接服务器远程桌面的操作方法不管是安卓还是苹果手机,咱们都需要......
  • git远程创建新分支
    #git在远端仓库创建新分支dev1.先下载下来项目,然后进入.git目录的同级目录gitclonehttps://xxx.gitcdxxx文件夹2.从现有的分支创建一个新的分支gitcheckout-bdev3.......