特斯拉被曝低级漏洞:用树莓派DIY车钥匙,开锁仅需90秒
贾浩楠 木易 发自 凹非寺
量子位 报道 | 公众号 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/
— 完 —
本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。
量子位年度智能商业大会启幕,大咖已就位!
12月16日,李开复博士、尹浩院士、清华唐杰教授,以及来自小米、美团、爱奇艺、小冰、亚信、浪潮、容联、澎思、地平线、G7等知名AI大厂的大咖嘉宾将齐聚MEET2021大会,期待关注AI的朋友报名参会、共探新形势下智能产业发展之路。
▽早鸟票限时优惠,扫码锁定席位吧~
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
一键三连「分享」、「点赞」和「在看」
科技前沿进展日日相见~
特斯拉被曝低级漏洞:用树莓派DIY车钥匙,开锁仅需90秒相关推荐
- 用树莓派DIY车钥匙,开锁仅需90秒
贾浩楠 木易 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一辆售价80-90万的特斯拉Model X,只用2000块就能开走??? 这不是特斯拉在搞什么购车金融方案,而是比利时鲁汶大学的研 ...
- CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)—(准确度高达100%)
CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)-(准确度高达100%) 目录 基于DIY人脸图像数据集( ...
- 2D图像转3D仅需5秒,特斯拉的自动驾驶技术有救了?
来源:科技智谷 编译:徐浩 75年前,宝丽来相机拍摄出第一张即时照片,是人类第一次以逼真的二维图像快速捕捉三维世界,具有划时代的意义.今天,人工智能的研究人员正在进行相反的工作,力求在几秒钟的时间内将 ...
- 基于树莓派实现人脸识别开锁
人脸识别的环境搭建可以看一下https://blog.csdn.net/weixin_48856218/article/details/124407139?spm=1001.2014.3001.550 ...
- esp32树莓派_用树莓派 DIY 宠物自动喂食机,再也不用担心家里的萌宠了
由于公众号文章的推送规则已经改成了不按照发布时间排序,所以为了大家能够准时收到我们的文章推送,请记得猛戳右下角的「在看」,并点击公号主页右上角的" ... "将 程序员极客实验室 ...
- 10秒破解一辆特斯拉?!网安人员再曝特斯拉低级漏洞,成本只要1000块?
明敏 发自 凹非寺 量子位 | 公众号 QbitAI 特斯拉又被曝出安全隐患?? 这次出问题的是"无钥匙进入系统". 一位网安人员发现,通过中继攻击,只需10秒就能解锁一辆Mode ...
- 20210728用树莓派 DIY 四轴飞行器(硬件、故障保护、遥控、飞行模式)
https://mbb.eet-china.com/forum/topic/92385_1_1.html 20210728用树莓派 DIY 四轴飞行器(硬件.故障保护.遥控.飞行模式) 2021-7- ...
- 特斯拉被曝储存大量未加密个人数据 | 极客头条
点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」,购票请扫码咨询 ↑↑↑ 编译丨王哲 来源丨猎云网( ID:ilieyun) 编者按:特斯拉是否明确界定了数据安全的目标?它现有的规则又 ...
- 为了杀蚊子,这位博士用树莓派DIY了一把激光枪!网友:伤到人怎么办?
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:学术头条 本文约1057字,建议阅读3分钟. 本文介绍了国外博 ...
最新文章
- c语言实现将字符串首尾*删除,C语言实现Trim()函数:删除字符串首尾空格。...
- Magicodes.IE已支持导出Word、Pdf和Html
- Java构建工具:Ant vs. Maven vs Gradle
- Servlet JSP系列文章总结
- 如何在Flutter上优雅地序列化一个对象
- Android中使用AsyncTask实现文件下载以及进度更新提示
- 多线程的那点儿事(之无锁链表)
- Linux 命令(30)—— scp 命令
- html 图片使用scale,CSS scale()用法及代码示例
- 盘点全球8K视频直播的解决方案和成果
- 华为数通笔记-QOS
- 如何使用Global Mapper分幅导出地图
- linux(ubuntu)下安装postgresql+pgAdmin4
- mysql 触发器 instead of_AFTER触发器与INSTEAD OF触发器
- PCI-PCIE中断机制之三
- 微信小程序scroll-view中的坑(因为动态设置高度导致无法下拉)
- 电子计算机能够按照,电子计算机能够快速、自动、准确地按照人们地意图工作的基本思想最主要是什么,由谁在1946年提出的。...
- 6章4节类的声明和对象与方法
- 数据仓库架构演进与菜鸟实时数据仓库设计
- CentOS7和CentOS8 FreeSWITCH 1.10.7 简单图形化界面18--内网的讯时FXO网关SIP对接到内网的FreeSWITCH
热门文章
- slot具名卡槽和props
- 10个顶级jQuery Date弹出插件
- 苹果手机之间怎么传照片_如何使用蓝牙手机之间传照片
- win10打开计算机黑屏怎么办,win10电脑黑屏只有鼠标箭头怎么办_win10电脑打开黑屏只有鼠标的解决方法...
- 【ReID】ABD-Net: Attentive but Diverse Person Re-Identification
- 联想电脑安装Ubuntu后无法进入bios
- 编程的教学方法和学习方法的思考
- 如何理解论文中常见的Top-1错误率和Top-5错误率?
- 用PXE方法从裸机批量推Oracle 11gR2 RAC环境
- MMS流媒体下载原理