GMTC 全球大前端技术大会(北京站)门票 9 折特惠购票最后 10 天,点击立减 ¥480 了解详情
写点什么

特斯拉黑客曾控制整个车队

2020 年 9 月 08 日

特斯拉黑客曾控制整个车队

几年之前,一位黑客曾利用特斯拉服务器中的漏洞,获得对这家汽车制造商整个车队的访问权限。


2017 年 7 月,特斯拉公司 CEO Elon Musk 登上罗得岛州州长协会的舞台,确认称随着汽车制造商逐步转向自动驾驶方向,“车队规模的入侵”已经成为新的头号安全威胁。


他甚至提出了一个具体的场景,称其很有可能在自动驾驶普及之后真实出现:


“在原则上,如果有人成功入侵了所有特斯拉自动驾驶汽车,他们甚至能把车辆全部引导到罗得岛……或者美国境内随便什么地方。这将会成为特斯拉的末日,也会成为自动驾驶汽车用户们的末日。”


在说出这话的时候,Musk 知道虽然公众们在当笑话听,但特斯拉在几个月前已经真实遇到了这样的状况。


特斯拉大劫案

早在 2017 年那会,Jason Hughes 就已经凭借着 WK057 的昵称在特斯拉社区论坛上闯出了名号。


他曾是特斯拉“root access”社区的早期成员。该社区由特斯拉车主建立,通过破解车辆系统提升性能,甚至解锁更多官方尚未发布的新功能。


Hughes 凭借着自己丰富的知识帮助用户修复二手特斯拉汽车,还开发出了不手电蓄能系统与电力转换套件。


最终,他把业余爱好变成了自己的工作,包括通过二手车商转售特斯拉零配件,打造出自己的原创控制器、帮助用户们完成自己的创意小项目。


当时,他还利用自己在破解特斯拉汽车与软件方面的经验,上报过不少汽车制造商系统中的漏洞。


虽然他本身对于白帽黑客业务不太感兴趣,但与大多数科技企业一样,特斯拉也拥有自己的错误报告系统,向发现并上报漏洞的人员提供物质奖励。


所以他偶尔会把自己的发现,上报到这套系统当中。


后来,特斯拉开始向客户发布关于充电站的更多数据,旨在帮助车主们通过导航应用查看特定充电站中有多少个充电桩可用。此举激发了 Hughes 的兴趣,他决定试试手,看能不能把这些数据公开化。


他在采访中表示:


“我在这项功能的服务器端发现了一个漏洞,所以我每隔几分钟就能获取全球各个超级充电站的实时数据。”


他很快在特斯拉汽车俱乐部的论坛上共享了这批数据,并引起了特斯拉官方的不满。


一位疑似特斯拉员工的人士匿名发帖,表示该公司不希望公开这部分信息。


Hughes 则回应称,如果觉得有问题,欢迎特斯拉与他进行讨论。


20 分钟之后,超级充电站网络负责人与特斯拉软件安全负责人就通过电话会议,与 Hughes 取得了联系。


特斯拉方面友好地做出解释,表示他们不希望共享这部分数据。在技术上讲,这些信息只供车辆访问并显示。Hughes 随后同意停止爬取及共享充电站数据。


通过特斯拉的 bug 报告服务,Hughes 凭借此次爆料获得了 5000 美元奖金。


在此之后,Hughes 对特斯拉服务器的理解又深了一层,也意识到其网络并非坚不可摧。于是,他决定再找点 bug,再赚点奖金。


经过一番摸索,他设法找到了一大堆小漏洞。


他在采访中解释道:


“我发现其中某些漏洞可以彼此串连起来,用术语来讲就是构成一条 bug 链,从而获得对特斯拉网络中其他目标的更高访问权。最终,我设法访问到对方网络上的一套服务器镜像存储库,包括「Mothership」。”


Mothership,正是特斯拉用于同客户车队通信的内部服务器名称。


从汽车发往特斯拉的一切远程命令及诊断信息,都将通过“Mothership”实现。


在下载并剖析了存储库中的数据后,Hughes 开始使用自己的汽车经由 VPN 接入 Mothership,并最终成功接入开发者网络连接。


以此为基础,他又在 Mothership 本体中发现一项 bug,允许他伪装成“一辆特斯拉汽车”完成身份验证。


只需要知晓车辆的 VIN 编号,他就能够通过对 Mothership 的完全控制,经由特斯拉“tesladex”数据库访问到所有车辆、获取车辆中的信息,甚至向目标车辆发送命令。


出于好奇,笔者向 Hughes 提供了自己特斯拉 Model S 的 VIN 码,对方则成功发回了关于车辆当前位置等详细信息。



以此为基础,Hughes 决定整理出一份 bug 报告。由于最近已经与特斯拉软件安全主管取得了联系,他决定直接将发现通过邮件发送给对方。


这确实是件大事。


2017 年 3 月的那个星期五,就在收到邮件的几分钟之后,时任安全主管的 AaronSigel 就给 Hughes 打来了电话。


当时,特斯拉提供的自主功能要比当前开放的 Autopilot 与 Full Self-Driving 辅助驾驶包少得多。


因此,Hughes 虽然还无法像 Musk 后来提到的那样真正操控远在天边的其他特斯拉车辆,但却足以实现“移车”功能。



2016 年,特斯拉第一次推出汽车移车功能。车主们可以在无需进入车内的情况下,将汽车向前或向后移动几十英尺。


在特斯拉最近发布的“智能移车”出现之前,车主们主要通过这种方式让车辆顺利进出狭窄的空间及车库。


在电话当中,Hughes 要求 Sigel 向他提供离自己最近的特斯拉汽车的 VIN 码——当然,也就是 Hughes 自己的车。随后,他成功在自己北卡罗来纳州的家中完成了远程移车。


Hughes 曾开玩笑称,这项 bug 报告应该值得上一辆剑士新的特斯拉汽车。


虽然没能拿到新车,但特斯拉方面仍然向他授予远超官方 bug 奖励计划的奖金——50000 美元。



根据这条信息,特斯拉开始对自身网络进行安全审查。


就在当天之内,工程师们结束了通宵工作,设法在几个小时之内修复了 Mothership 中的这项主 bug。


几天之后,他们修复了整条 bug 链,堵上了这个可能导致特斯拉车队遭受远程控制的口子。


如今的特斯拉网络安全态势

好消息是,自那以来,特斯拉极大提升了对网络及整体设施的保护力度。


这家汽车制造商曾在 2018 年,为上报 bug 最高开出 15000 美元的奖金。此外,他们还积极参加黑客会议、扩大安全团队并与黑客社区成员开展交流。


过去几年以来,特斯拉还将其产品作为 Pwn2Own 黑客大赛中的演练目标。


特斯拉公司车辆软件副总裁 DavidLau 最近评论称:


从各个方面来看,我们都是在用最高的安全标准制造汽车;与安全研究领域的合作,也给我们带来了难以估量的巨大助益。自 2014 年启动 bug 奖金计划以来,我们不断增加在安全研究合作方面的投入,以保证所有特斯拉车主都能从安全社区那些最睿智的头脑中受益。我们乐于从 Pwn2Own 的精彩成果中学习并为其提供支持,据此持续改进我们的产品以及对于固有安全系统的设计方法。


此外,据称特斯拉账户很快就会为车主朋友们提供双因素身份验证机制。


总结

虽然爆出了一项重大漏洞,但白帽黑客的重要地位也由此得以显现。随着汽车之间联网通信关系的愈发紧密,黑客们也开始更多关注汽车行业的安全态势变化。


而这样重大漏洞的曝光,实际上也让特斯拉率先积累下行业中的领先优势。


这家汽车制造商的产品,正成长为一种像黑客一样酷炫的新生事物。


只要像 Hughes 这样的好人愿意参与其中,特斯拉就能始终领先恶意方一步,避免 Musk 在演讲中提到的车辆入侵噩梦变成现实。


原文链接:


https://electrek.co/2020/08/27/tesla-hack-control-over-entire-fleet/


2020 年 9 月 08 日 15:091543

评论 1 条评论

发布
用户头像
这个还真的有些科幻
2020 年 09 月 08 日 15:58
回复
没有更多了
发现更多内容

编程核心能力之组合

顿晓

Java 学习 pipe

深入理解编译优化之循环展开和粗化锁

程序那些事

JIT 编译优化 循环展开 粗化锁

第四周

仪轩

cms项目系列(一)——SSM框架搭建

程序员的时光

spring

架构师训练营第4周总结

aoeiuvzcs

Go: 字符串和转换优化

陈思敏捷

go golang string 字符串

分布式缓存

Arthur

我是如何解决邮件焦虑的

vinkyqy

效率 职场 邮件

游戏夜读 | 互动剧的黎明到了?

game1night

java架构-一些设计上的基本常识

猿灯塔

Java

程序员的晚餐 | 7 月 3 日 好久没做饭

清远

美食

面试细节: i = i++和 i = ++i

Java小咖秀

JVM Java 面试 经验分享

高承实:区块链在新基建中的作用和未来发展

CECBC区块链专委会

新基建 政策扶持 技术特征 链上数据 产业场景

农产品电商平台的S曲线分析

石云升

增长 S型曲线 破局点

太牛 了!快码住!GitHub上标星75k!超牛的《Java面试突击版》

犬来八荒

Java git Linux 面试 Java 面试

一个简单的技术选型心得

i风语

Java 架构

Android架构组件-App架构指南,你还不收藏嘛

小吴选手

架构 架构师 架构总结 架构要素 P7架构师

六月我在工作中蜕变,勤奋小人打架终于赢了

程序员小跃

效率工具 加班 沟通 复盘

Week5命题作业

星河寒水

极客大学架构师训练营

Redis系列(五):你要的Redis集群搭建来了,实践与否你自己选!

z小赵

Java redis 分布式 高并发

简直了!顶级架构师分享心得,如何在项目中兼容多种数据库

犬来八荒

Java MySQL 数据库 面试

锦囊篇|一文摸懂SharedPreferences和MMKV(二)

ClericYi

为什么建议项目中统一线程池类?

张挺

Redis分布式锁课堂开课了!

小闫

redis Spring Cloud Redis项目

逆袭之路,普通二本的八年开发码农如何进阿里拿年薪百万

小谈

Java 面试

为什么我建议你读一读历史?

Phoenix

历史 中国历史

ARTS Week6

时之虫

ARTS 打卡计划

理解 Mysql 索引底层原理只需这一篇就够了

小谈

MySQL 数据结构 Spring Cloud Spring Boot Java 面试

阿里技术官:这样带你学Spring全家桶,其实没你想的那么难

小吴选手

spring Spring Cloud Spring Boot

18个Java8日期处理的实践,太有用了建议收藏

码哥小胖

MySQL SQL语法 sql查询

架构师训练营 第 5 周作业

Lingjun

极客大学架构师训练营

openEuler Developer Day 2021

openEuler Developer Day 2021

特斯拉黑客曾控制整个车队-InfoQ