1月11日,一位来自德国的19岁年轻黑客突然发推示意,自己成功地控制了10个国度的20多辆特斯拉的。
随后,这个数字很快就参与到了13个国度和超越25辆特斯拉。
简而言之,他能远程让被黑掉的特斯拉汽车口头:
David Colombo示意,只管没有取得任何转向、减速、刹车和其余驾驶举措的权限,不过通常上可以经过破绽开启呼唤形式让车辆智能移动。
最近,他在团体博客上发布了自己如何做到的技术操作流程、来龙去脉。
不如咱们先来看看那些被「黑」了的特斯拉们都到过哪里。
一辆特斯拉Model 3在比利时(大局部时期)
一辆特斯拉Model 3在英国(数过伦敦而不入)
一辆特斯拉Model Y在佛罗里达州
一辆特斯拉Model Y在加拿大的基奇纳及周边地域
Colombo在几个小时内就找到了来自13个国度的25辆以上的特斯拉。包含德国、比利时、芬兰、丹麦、英国、美国、加拿大、意大利、爱尔兰、法国、奥天时和瑞士。
还有大概至少30多个来自中国,不过Colombo十分审慎,并没有对这些车下手。
破绽如何被发现
事情的原因要从去年说起,Colombo正预备与一家来自巴黎的SaaS公司客户,探讨安保审计的疑问。
而后,他的猎奇心就被激起了。
在正式见面之前,他想偷偷看一下这家公司的基础设备,比如取得一些关于他们经常使用什么服务敌对台的基本信息。
Colombo想着,假设很快能找到一些过期的软件或暴露的备份数据库,就可以在会议上向他们展现了。
在做一些基本的子域罗列时,他发现了一个「backup.redacted.com」域名。
但除了一个个别的「this works」页面外,没有任何物品在运转。
在启动了一个十分繁难的nmap扫描之后发生了一些结果,但只是发现了remoteanything和一些「游戏主机」端口。
Colombo尝试经过telnet衔接,但没有成功。
不过,当经过阅读器访问时,就会发现这些端口居然指向了——TeslaMate。
如今看起来,就幽默多了。
但是,尝试访问Dashboard时,只给了一个失误,并没有成功。
但是,猎奇心再一次性施展了作用。
TeslaMate是特斯拉的一个自我托管的数据记载器,而且它是开源的。
通常上,它只用于提取数据和存储以及显示,并不能运转任何命令,比如经常使用TeslaMate解锁车门。
经过检查Docker文件,Colombo发现它还带来了一个Grafana的装置。
进入之后Colombo看到了少量的数据,包含特斯拉路径的路途、曾充电位置、目前的位置、惯常停车位置、车辆后退时段、出行的速度、导航恳求、软件降级的历史,甚至特斯拉汽车周围的天气历史等等。
Colombo示意,显然自己不应该从这个端口知道,这家SaaS公司的CTO去年去哪里度假了。
那么,假设TeslaMate能够提取一切的车辆数据,它或者也有方法向特斯拉发送命令?
在发生这种想法之后,Colombo花了点时期阅读TeslaMate的源代码,以便弄分明认证是如何启动的、特斯拉的证书如何在运行程序中流动、以及它在哪里存储用户的API密钥。
结果有些出人预料,TeslaMate将API密钥保留在了和一切其余数据相反的位置,既没有独自存储,也没有加密。
那么,假设Grafana可以访问车辆数据,而API密钥存储在车辆数据一边,Grafana可以读取和输入API密钥吗?
用Grafana Explore来运转自定义查问试试?但这须要认证,真是无奈。
不过,有没有据说过这个悠远的网络安保疑问叫做「自动明码」?
是的,TeslaMate Docker的Grafana装置时带有自动凭证。
也有或者在没有经过Grafana端登录的状况下,以未经授权的匿名用户身份查问token。
试着用admin:admin登录,果真成功了。
为Grafana(Explore)树立一个查问字符串,并查问API token,这之后就没有什么神奇了。
所以说,软件用自动值初始化的自动值是为了让治理员繁难去更改的,实践上并不安保。
开发者通常选用自动值,让软件在开箱后尽或者地放开和易于经常使用。但是,当自动值不安保而治理员不扭转它时,这种便利是有代价的。
取得对环球各地的随机特斯拉的访问的环节:
除了登录之外,在破绽的加持下,即使是车主扭转了治理明码,依然可以经过Grafana的API端点,以未经授权的匿名Grafana用户身份对TeslaMate数据源运转恣意恳求。
不过这只影响到TeslaMate docker,而且如今补丁也曾经发布了,也就是1.25.1版本。
那么,假设发现了这样的破绽,该怎样做?
你应该将破绽报告给担任的团队。
假设找不到又该怎样办呢?
抛开玩笑话不谈,Colombo示意,自己发那条推特只是由于很丧气。
花了一终日寻觅后,只能咨询到两位特斯拉车主并且告知他们。
另外,关于这条推文或者惹起的一切凌乱和猜想,Colombo深表歉意。
而后……这条推特就火了。
为了尊重受影响的特斯拉车主的隐衷,依据他的要求删掉了车主身份信息。在这篇文章中,受影响的特斯拉的名字更改为「蓝色凡人」。
多亏了这条推文,Colombo找到了另一位来自爱尔兰的特斯拉车主。
但是,车主屡次重置特斯拉帐户明码后,也没能撤销API token。
好在经过了4小时的不懈努力,终于经过一个未被记载的API端点撤销了密钥。
当Colombo发现没有非法的路径找到其余受影响的车主之后,便和特斯拉产品安保团队取得了咨询。(推特上有网友「支招」,在特斯拉汽车屏幕上放「你被黑了」的视频)
特斯拉示意他们正在考查这个疑问,而后在不久之后就撤销了一切受影响的和遗留的token。
据特斯拉安保团队称,截至2022年1月13日,一切被影响的用户应该都收到了电子邮件通知。
所以假设特斯拉车主曾经装置过TeslaMate,就去审核一下你的邮箱。
但是,特斯拉安保团队第二次撤销token后,一些特斯拉访问token依然地下在互联网上,或者是由于用户又登录了易受攻打的TeslaMate.
因此,Colombo写了一个Python脚原本智能从易受攻打的实例中撤销暴露的访问token。
坏信息是,第3版token如同没有方法撤销。
发布破绽
鉴于有相当多的特斯拉车主遭到影响,所以Colombo放开取得该破绽的CVE编号。
「TeslaMate 1.25.1 之前的自动 Docker 性能准许攻打者失掉受益者生成的token,从而使他们能够经过 Tesla 的 API 口头未经授权的操作,例如控制车辆的某些关键性能或暴露敏感信息。」
须要了解的是,这是一个开源名目,随着时期的推移而开展,这样的事情是有或者会出现。
在此,Colombo也给出了一些倡导:
就是别把关键物件连上互联网。这很繁难。
假设你必定把一些物品联网,必定确保它是被修正到安保设置水平,而不是用自动设置裸奔,自动设置或者会不安保。
完整的时期线
以下是David Colombo记载的事情时期线,一切时期都是欧洲中部
2021–10–29:第一次性据说这件事(发现了第一个被影响的第三打算例)
2022–01–09:全网搜查被影响的第三打算例
2022–01–10:发如今12个国度中有超越20例
2022–01–10:试图找到车主的身份信息
2022–01–10:我把这件事汇报给两个我能找到的特斯拉车主
2022–01–10:我发了条推特,由于我不能确认更多的特斯拉车主
2022-01-10:已知的案例参与到了13个国度中超越25例
2022-01-10:我和出名网络安保专家John Jackson交换,他介绍我去搞一个CVE-ID,如此一来这件事就可以更有效的被解决了
2022-01-11:去MITRE放开一个CVE-ID,并提供了一些初步信息
2022-01-11:预备了一份具体的记载,形容整个状况
2022-01-11:咨询了特斯拉消费安保组,让他们尽快告知被影响的车主
2022-01-11:咨询了第三方的培修人员,让他们尽快预备一个补丁
2022-01-11:和特斯拉消费安保组共享无关被影响的车主的更多信息
2022-01-11:特斯拉消费安保组示意他们正在考查这些案例
2022-01-12:第三方的保养人员发布了1.25.1版本,其中有一个局部补丁
2022-01-12:特斯拉在协调环球时6:30,欧州中部时期7:30,召回了数千个潜在被影响的API token
2022-01-12:特斯拉强迫一些被影响的用户重置他们的明码
2022-01-12:期待特斯拉消费安保组的进一步回复
2022-01-12:和第三方保养人员一起开发更多潜在的补丁(加密关键访问token)
2022-01-13:特斯拉消费安保组示意他们召回了一切受影响的API token,并且经过邮件和推送的通知告知了一切被影响的特斯拉车主
2022-01-13:有些之前受过影响的特斯拉车主还在受影响
2022-01-18:再一次性和特斯拉交涉,期待特斯拉消费安保组的进一步通知
2022-01-19:特斯拉召回了另一批访问token
2022-01-10:发现了另一处破绽,并且做了汇报,这次的破绽间接影响了特斯拉的API
2022-01-22:特斯拉抵赖了该处新增破绽,并且在消费中启动了弥补
何许人也?
按David Colombo的自述,他现年19岁,家住德国巴伐利亚州,离慕尼黑车程两小时的中央。
Colombo自称10岁开局写码,从此扎进网络安保的环球里。15岁实践停学,方式上是向德国商务部放开了每周只要2天去学校点卯的特殊容许。
实践上学校也不太情愿管他,毕竟他真上学时,学校的信息大屏幕经常无端黑屏缺点。
David Colombo如今是个工具现代但方式古典的小作坊主:开了家「Colombo科技」的一人作坊式公司、自学编程手艺、自己招徕白帽黑客业务。
顾客包含从红牛公司到美国国防部的各种须要验证网络安保的机构实体。