特斯拉被曝低级漏洞:用树莓派DIY车钥匙,开锁仅需90秒

源码共读

共 2812字,需浏览 6分钟

 ·

2020-12-06 17:19

Python实战社群

Java实战社群

长按识别下方二维码,按需求添加

扫码关注添加客服

进Python社群▲

扫码关注添加客服

进Java社群


贾浩楠 木易 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

“本文经AI新媒体量子位(公众号 ID: QbitAI)授权转载,转载请联系出处”

一辆售价80-90万的特斯拉Model X,只用2000块就能开走???

这不是特斯拉在搞什么购车金融方案,而是比利时鲁汶大学的研究人员攻破了高端车型Model X的安全漏洞

他们只用2000元左右,拿树莓派电脑DIY了一个「车钥匙」,90秒打开车门,不到几分钟,就能把车开走了。

无钥匙进入,真正变成了字面意义上的「无钥匙进入」。

那么,问题出在哪里?特斯拉自己又是怎么解释的?

第一个漏洞:怎么进入汽车?

复制这把车钥匙的方法,就是偷偷坐在你旁边。当你和朋友谈笑风生的时候,你的车钥匙已经在神不知鬼不觉中被复制了。

这是攻击者在演示如何接近车主,在近距离(15米内)中,用自己在网上购买的车身控制模块(BCM)去唤醒车主智能钥匙的蓝牙。

现实中,黑客当然不可能手捧着开发板从你旁边招摇走过,但是把它藏在背包里是完全没问题的。

攻击者需要先从目标汽车的挡风玻璃上读取了一串数字:车辆识别号的最后五位数字。

通过这串数字,攻击者便可以为他们的盗版BCM创建一个代码,用于证明其身份。

相当于「再造」一个车机系统。

然后,拿着这一套克隆BCM,唤醒靠近的车钥匙,执行下一步的破解步骤。

而这一步的关键,就是重写车主钥匙上的固件程序。

Model X的密钥卡,通过蓝牙与Model X内部的计算机连接,然后无线接收固件更新。

但是,这其中存在一个重大漏洞:Model X密钥的固件更新缺乏加密签名,以证明更新固件更新来源的安全性。

通俗来说,就是证明更新来源是官方的、安全的,而Model X的车钥匙并不具备验证这一步。

所以黑客记录下挡风玻璃的后五位数,就能把树莓派伪装成Model X,诱骗你的车钥匙更新固件。

这个固件是黑客镜像设计的,它可以查询车钥匙里的安全芯片,为车辆生成解锁代码。

于是,攻击者便非常顺利地通过蓝牙,连接上目标车辆的密钥卡,重写固件。

当固件被更新为攻击者的版本后,便可以用它来查询密钥卡内的安全芯片(secure enclave chip)。

取得解锁代码之后,通过蓝牙将代码发送回你的车,就这样「门户大开」了。

整个过程,只需要90秒,是不是有「谍战大片」那味了。

第二个漏洞:怎么启动汽车?

坐进车里,「偷车」只算完成了一半。

将特斯拉Model X启动并开走,还需要一些「体力活」。

上一步重写钥匙固件、破解安全芯片的方式,相当于用DIY主板上的蓝牙装置,复制了一把钥匙,目的是破解车门。

现在要做的就是让真正的车机系统认可这把假钥匙,从而启动车辆。

首先是拆下车内的屏幕下方的储物盒,在操作台内部有一个接口(物理接口),直接连接到车辆控制系统的核心部分,即CAN总线,其中包括了车辆本身的BCM。

把DIY电脑直接插在接口上,就可以直接向车辆本身的BCM发送指令。

发送的指令,是让车辆本身的电脑跟黑客自己生成的钥匙匹配,这样就能轻松的启动车辆。

问题出在哪里呢?DIY生成的的假钥匙,为什么毫无障碍的就匹配上了车载系统?

其实,特斯拉的车钥匙上本来是带有独特的密码证书,以此来验证真实性。

但是,车上的BCM从头到尾都没有检查过证书。

手脚利索的老哥,从拆储物盒到开走汽车,也就几分钟时间。

这不是第一次了

而这,已经不是特斯拉第一次在无线密钥上被攻破了。

之前,特斯拉Model S也在密钥问题上被研究人员攻破过。

先前的特斯拉Model S,是基于加密的密钥卡代码来控制车内设备,触发解锁并禁用其防盗锁。

2017年夏天,来自KU Leuven的研究团队发现:由一家名为Pektron的制造商所生产的特斯拉Model S无线密钥卡,只使用了一个弱的40位密码进行加密。

研究人员发现,一旦他们从任何给定的密钥卡中获得了两个代码,他们就可以以此类推进行尝试猜测,直到找到解锁汽车的密钥。

之后,他们计算可能组合,并整理成表。

有了这张表和这两个代码,研究者表示,他们可以在1.6秒内找到正确的密钥来「偷」你的车。

研究人员在2017年8月将漏洞的研究发现告诉给了特斯拉。特斯拉对他们的研究表示了感谢,并向他们支付了10000美元的“赏金”。

但是,直到2018年下半年的加密升级和添加PIN码,这个加密隐患才得以解决。

特斯拉怎么说?

鲁汶大学的研究人员已于今年8月17号通知了特斯拉公司该安全问题,特斯拉在确认安全漏洞之后已经开始着手对安全漏洞进行修复。

本周开始,特斯拉将着手进行漏洞的更新修补推送。

这些措施包括两个方面,一是车钥匙本身对于固件更新的来源验证。

第二部分是车辆BCM对钥匙安全证书的漏检问题修复。

这些更新会在一个月内陆续覆盖所有有风险的车型。

发现了此漏洞的研究人员说,特斯拉的无钥匙进入技术与其他车相比,并没本质区别。

都是用低频无线电波(NFC)发送或接受解锁码来解锁车辆。

特斯拉的独特之处,在于设计了能让车钥匙固件接受OTA更新的蓝牙部分。

正式在OTA这个节点上的安全漏洞,让黑客可以轻松改写固件,从而获取访问底层安全芯片的权限,生成对应解锁码。

而在启动阶段,也缺乏对无线射频信号来源的有效身份核验。

同时,在链接车辆控制模块的物理接口上,特斯拉做的,也未免太随意了。

那么,没有蓝牙OTA环节的无钥匙进入,就没有风险吗?

也不是。

此前,特斯拉安全部门曾表示,NFC中继攻击,几乎是无解的。

这种方法简单粗暴,就是在一定范围内放大车钥匙的NFC信号,从而解锁和启动车辆。

所以,不光是特斯拉,所有采用NFC无钥匙进入技术的车型,都面临风险。

以后,还能放心使用无钥匙进入吗?

参考链接:
https://www.wired.com/story/tesla-model-x-hack-bluetooth/

https://www.wired.com/story/hackers-steal-tesla-model-s-seconds-key-fob/
https://mashable.com/article/model-s-tesla-relay-attack/

程序员专栏
 扫码关注填加客服 
长按识别下方二维码进群

近期精彩内容推荐:  

 员工因上厕所时间超长被开除了

 程序员连续15天加班到凌晨2点在餐厅泪崩!

 还在try...catch?如果是那你就out了!

 Python很慢?Python之父一句话亮了




在看点这里好文分享给更多人↓↓

浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报