《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 19歲少年連黑25輛特斯拉,!過(guò)程大揭秘

19歲少年連黑25輛特斯拉!過(guò)程大揭秘

2022-03-20
來(lái)源:互聯(lián)網(wǎng)安全內(nèi)參
關(guān)鍵詞: 特斯拉

  「25輛特斯拉被黑」事件后續(xù):19歲事主在個(gè)人博客上詳細(xì)復(fù)述了完成此舉的前因后果,、操作流程,。此外,相關(guān)軟件漏洞也已成功補(bǔ)上,。

  1月11日,,一位來(lái)自德國(guó)的19歲年輕黑客突然發(fā)推表示,,自己成功地控制了10個(gè)國(guó)家的20多輛特斯拉的,。

  隨后,,這個(gè)數(shù)字很快就增加到了13個(gè)國(guó)家和超過(guò)25輛特斯拉,。

  簡(jiǎn)而言之,他能遠(yuǎn)程讓被黑掉的特斯拉汽車執(zhí)行:

  解鎖車門

  打開(kāi)車窗

  啟動(dòng)無(wú)鑰匙駕駛

  分享視頻到特斯拉

  調(diào)整空調(diào)模式和溫度

  控制喇叭和燈光

  David Colombo表示,,雖然沒(méi)有取得任何轉(zhuǎn)向,、加速、剎車和其他駕駛動(dòng)作的權(quán)限,,不過(guò)理論上可以通過(guò)漏洞開(kāi)啟召喚模式讓車輛自動(dòng)移動(dòng),。

  最近,他在個(gè)人博客上公布了自己如何做到的技術(shù)操作流程,、前因后果。

  不如我們先來(lái)看看那些被「黑」了的特斯拉們都到過(guò)哪里,。

  一輛特斯拉Model Y在加拿大的基奇納及周邊地區(qū)

  Colombo在幾個(gè)小時(shí)內(nèi)就找到了來(lái)自13個(gè)國(guó)家的25輛以上的特斯拉,。包括德國(guó)、比利時(shí),、芬蘭,、丹麥、英國(guó),、美國(guó),、加拿大、意大利,、愛(ài)爾蘭,、法國(guó)、奧地利和瑞士,。

  還有大約至少30多個(gè)來(lái)自中國(guó),,不過(guò)Colombo非常謹(jǐn)慎,并沒(méi)有對(duì)這些車下手,。

  漏洞如何被發(fā)現(xiàn)

  事情的起因要從去年說(shuō)起,,Colombo正準(zhǔn)備與一家來(lái)自巴黎的SaaS公司客戶,討論安全審計(jì)的問(wèn)題,。

  然后,,他的好奇心就被激發(fā)了。

  在正式見(jiàn)面之前,,他想偷偷看一下這家公司的基礎(chǔ)設(shè)施,,比如獲得一些關(guān)于他們使用什么服務(wù)和平臺(tái)的基本信息。

  Colombo想著,,如果很快能找到一些過(guò)時(shí)的軟件或暴露的備份數(shù)據(jù)庫(kù),,就可以在會(huì)議上向他們展示了。

  在做一些基本的子域列舉時(shí),,他發(fā)現(xiàn)了一個(gè)「backup.redacted.com」域名,。

  但除了一個(gè)普通的「this works」頁(yè)面外,,沒(méi)有任何東西在運(yùn)行。

  在進(jìn)行了一個(gè)非常簡(jiǎn)單的nmap掃描之后產(chǎn)生了一些結(jié)果,,但只是發(fā)現(xiàn)了remoteanything和一些「游戲服務(wù)器」端口,。

  事情似乎有些奇怪。

  Colombo嘗試通過(guò)telnet連接,,但沒(méi)有成功,。

  不過(guò),當(dāng)通過(guò)瀏覽器訪問(wèn)時(shí),,就會(huì)發(fā)現(xiàn)這些端口竟然指向了——TeslaMate,。

  現(xiàn)在看起來(lái),就有趣多了,。

  然而,,嘗試訪問(wèn)Dashboard時(shí),只給了一個(gè)錯(cuò)誤,,并沒(méi)有成功,。

  但是,好奇心再一次發(fā)揮了作用,。

  TeslaMate是特斯拉的一個(gè)自我托管的數(shù)據(jù)記錄器,,而且它是開(kāi)源的。

  理論上,,它只用于提取數(shù)據(jù)和存儲(chǔ)以及顯示,,并不能運(yùn)行任何命令,比如使用TeslaMate解鎖車門,。

  通過(guò)查看Docker文件,,Colombo發(fā)現(xiàn)它還帶來(lái)了一個(gè)Grafana的安裝。

  端口5555,,訪問(wèn)了一下試試,?

  果然成了。

  進(jìn)入之后Colombo看到了大量的數(shù)據(jù),,包括特斯拉途徑的路線,、曾充電位置、目前的位置,、慣常停車位置,、車輛行進(jìn)時(shí)段、出行的速度,、導(dǎo)航請(qǐng)求,、軟件更新的歷史,甚至特斯拉汽車周圍的天氣歷史等等,。

  這真是……不妙啊,。

  Colombo表示,,顯然自己不應(yīng)該從這個(gè)端口知道,這家SaaS公司的CTO去年去哪里度假了,。

  那么,,如果TeslaMate能夠提取所有的車輛數(shù)據(jù),它可能也有辦法向特斯拉發(fā)送命令,?

  在產(chǎn)生這種想法之后,,Colombo花了點(diǎn)時(shí)間閱讀TeslaMate的源代碼,以便弄清楚認(rèn)證是如何進(jìn)行的,、特斯拉的證書如何在應(yīng)用程序中流動(dòng),、以及它在哪里存儲(chǔ)用戶的API密鑰。

  結(jié)果有些出乎意料,,TeslaMate將API密鑰保存在了和所有其他數(shù)據(jù)相同的位置,,既沒(méi)有單獨(dú)存儲(chǔ),也沒(méi)有加密,。

  那么,如果Grafana可以訪問(wèn)車輛數(shù)據(jù),,而API密鑰存儲(chǔ)在車輛數(shù)據(jù)一邊,,Grafana可以讀取和輸出API密鑰嗎?

  用Grafana Explore來(lái)運(yùn)行自定義查詢?cè)囋??但這需要認(rèn)證,,真是無(wú)奈。

  不過(guò),,有沒(méi)有聽(tīng)說(shuō)過(guò)這個(gè)遙遠(yuǎn)的網(wǎng)絡(luò)安全問(wèn)題叫做「默認(rèn)密碼」,?

  是的,TeslaMate Docker的Grafana安裝時(shí)帶有默認(rèn)憑證,。

  也有可能在沒(méi)有通過(guò)Grafana端登錄的情況下,,以未經(jīng)授權(quán)的匿名用戶身份查詢token。

  試著用admin:admin登錄,,果然成功了,。

  為Grafana(Explore)建立一個(gè)查詢字符串,并查詢API token,,這之后就沒(méi)有什么神奇了,。

  所以說(shuō),軟件用默認(rèn)值初始化的默認(rèn)值是為了讓管理員方便去更改的,,實(shí)際上并不安全,。

  開(kāi)發(fā)者通常選擇默認(rèn)值,讓軟件在開(kāi)箱后盡可能地開(kāi)放和易于使用,。然而,,當(dāng)默認(rèn)值不安全而管理員不改變它時(shí),,這種便利是有代價(jià)的。

  獲得對(duì)世界各地的隨機(jī)特斯拉的訪問(wèn)的過(guò)程:

  在互聯(lián)網(wǎng)上搜索TeslaMate實(shí)例

  確保它們以不安全的默認(rèn)Docker配置運(yùn)行

  轉(zhuǎn)到3000端口,,訪問(wèn)Grafana Dashboard

  使用默認(rèn)憑證登錄(當(dāng)然,,只有在明確授權(quán)的情況下才可以這樣做)

  轉(zhuǎn)到資源管理器標(biāo)簽

  使用查詢生成器來(lái)提取API并刷新token

  愉快地玩特斯拉吧

  除了登錄之外,在漏洞的加持下,,即便是車主改變了管理密碼,,依然可以通過(guò)Grafana的API端點(diǎn),以未經(jīng)授權(quán)的匿名Grafana用戶身份對(duì)TeslaMate數(shù)據(jù)源運(yùn)行任意請(qǐng)求,。

  不過(guò)這只影響到TeslaMate docker,,而且現(xiàn)在補(bǔ)丁也已經(jīng)發(fā)布了,也就是1.25.1版本,。

  那么,,如果發(fā)現(xiàn)了這樣的漏洞,該怎么做,?

  你應(yīng)該將漏洞報(bào)告給負(fù)責(zé)的團(tuán)隊(duì),。

  如果找不到又該怎么辦呢?

  那就發(fā)條推特吧~

  拋開(kāi)玩笑話不談,,Colombo表示,,自己發(fā)那條推特只是因?yàn)楹芫趩省?/p>

  花了一整天尋找后,只能聯(lián)系到兩位特斯拉車主并且告知他們,。

  另外,,對(duì)于這條推文可能引起的所有混亂和猜測(cè),Colombo深表歉意,。

  然后……這條推特就火了,。

  為了尊重受影響的特斯拉車主的隱私,根據(jù)他的要求刪掉了車主身份信息,。在這篇文章中,,受影響的特斯拉的名字更改為「藍(lán)色巨人」。

  多虧了這條推文,,Colombo找到了另一位來(lái)自愛(ài)爾蘭的特斯拉車主,。

  然而,車主多次重置特斯拉帳戶密碼后,,也沒(méi)能撤銷API token,。

  好在經(jīng)過(guò)了4小時(shí)的不懈努力,終于通過(guò)一個(gè)未被記錄的API端點(diǎn)撤銷了密鑰,。

  聯(lián)系特斯拉

  當(dāng)Colombo發(fā)現(xiàn)沒(méi)有合法的途徑找到其他受影響的車主之后,,便和特斯拉產(chǎn)品安全團(tuán)隊(duì)取得了聯(lián)系。(推特上有網(wǎng)友「支招」,在特斯拉汽車屏幕上放「你被黑了」的視頻)

  特斯拉表示他們正在調(diào)查這個(gè)問(wèn)題,,然后在不久之后就撤銷了所有受影響的和遺留的token,。

  據(jù)特斯拉安全團(tuán)隊(duì)稱,截至2022年1月13日,,所有被影響的用戶應(yīng)該都收到了電子郵件通知,。

  所以如果特斯拉車主曾經(jīng)安裝過(guò)TeslaMate,就去檢查一下你的郵箱,。

  然而,,特斯拉安全團(tuán)隊(duì)第二次撤銷token后,一些特斯拉訪問(wèn)token仍然公開(kāi)在互聯(lián)網(wǎng)上,,可能是因?yàn)橛脩粲值卿浟艘资芄舻腡eslaMate.

  因此,,Colombo寫了一個(gè)Python腳本來(lái)自動(dòng)從易受攻擊的實(shí)例中撤銷暴露的訪問(wèn)token。

  壞消息是,,第3版token好像沒(méi)有辦法撤銷,。

  發(fā)布漏洞

  鑒于有相當(dāng)多的特斯拉車主受到影響,所以Colombo申請(qǐng)獲得該漏洞的CVE編號(hào),。

  CVE-2022–23126 描述:

  「TeslaMate 1.25.1 之前的默認(rèn) Docker 配置允許攻擊者獲取受害者生成的token,,從而使他們能夠通過(guò) Tesla 的 API 執(zhí)行未經(jīng)授權(quán)的操作,例如控制車輛的某些關(guān)鍵功能或泄露敏感信息,?!?/p>

  需要理解的是,這是一個(gè)開(kāi)源項(xiàng)目,,隨著時(shí)間的推移而發(fā)展,這樣的事情是有可能會(huì)發(fā)生,。

  在此,,Colombo也給出了一些建議:

  就是別把重要物件連上互聯(lián)網(wǎng)。這很簡(jiǎn)單,。

  如果你必須把一些東西聯(lián)網(wǎng),,一定確保它是被修改到安全設(shè)置程度,而不是用默認(rèn)設(shè)置裸奔,,默認(rèn)設(shè)置可能會(huì)不安全,。

  完整的時(shí)間線

  以下是David Colombo記錄的事件時(shí)間線,所有時(shí)間都是歐洲中部時(shí)間:

  2021–10–29:第一次聽(tīng)說(shuō)這件事(發(fā)現(xiàn)了第一個(gè)被影響的第三方案例)

  2021–10–29:聯(lián)系車主

  2021–11–01:記錄下案例

  2022–01–09:全網(wǎng)搜索被影響的第三方案例

  2022–01–10:發(fā)現(xiàn)在12個(gè)國(guó)家中有超過(guò)20例

  2022–01–10:試圖找到車主的身份信息

  2022–01–10:我把這件事匯報(bào)給兩個(gè)我能找到的特斯拉車主

  2022–01–10:我發(fā)了條推特,,因?yàn)槲也荒艽_認(rèn)更多的特斯拉車主

  2022–01–10:這條推特火了

  2022-01-10:已知的案例增加到了13個(gè)國(guó)家中超過(guò)25例

  2022-01-10:我和知名網(wǎng)絡(luò)安全專家John Jackson交流,,他推薦我去搞一個(gè)CVE-ID,如此一來(lái)這件事就可以更有效的被處理了

  2022-01-11:去MITRE申請(qǐng)一個(gè)CVE-ID,,并提供了一些初步信息

  2022-01-11:準(zhǔn)備了一份詳細(xì)的記錄,,描述整個(gè)情況

  2022-01-11:聯(lián)系了特斯拉生產(chǎn)安全組,讓他們盡快告知被影響的車主

  2022-01-11:聯(lián)系了第三方的維修人員,讓他們盡快準(zhǔn)備一個(gè)補(bǔ)丁

  2022-01-11:和特斯拉生產(chǎn)安全組共享有關(guān)被影響的車主的更多信息

  2022-01-11:MITRE批準(zhǔn)了我的CVE-ID申請(qǐng),。CVE-2022–23126待定

  2022-01-11:特斯拉生產(chǎn)安全組表示他們正在調(diào)查這些案例

  2022-01-12:第三方的維護(hù)人員發(fā)布了1.25.1版本,,其中有一個(gè)部分補(bǔ)丁

  2022-01-12:特斯拉在協(xié)調(diào)世界時(shí)6:30,歐州中部時(shí)間7:30,,召回了數(shù)千個(gè)潛在被影響的API token

  2022-01-12:特斯拉強(qiáng)制一些被影響的用戶重置他們的密碼

  2022-01-12:等待特斯拉生產(chǎn)安全組的進(jìn)一步回復(fù)

  2022-01-12:和第三方維護(hù)人員一同開(kāi)發(fā)更多潛在的補(bǔ)?。用荜P(guān)鍵訪問(wèn)token)

  2022-01-13:特斯拉生產(chǎn)安全組表示他們召回了所有受影響的API token,并且通過(guò)郵件和推送的通知告知了所有被影響的特斯拉車主

  2022-01-13:有些之前受過(guò)影響的特斯拉車主還在受影響

  2022-01-18:再一次和特斯拉交涉,,等待特斯拉生產(chǎn)安全組的進(jìn)一步通知

  2022-01-19:特斯拉召回了另一批訪問(wèn)token

  2022-01-10:發(fā)現(xiàn)了另一處漏洞,,并且做了匯報(bào),這次的漏洞直接影響了特斯拉的API

  2022-01-22:特斯拉承認(rèn)了該處新增漏洞,,并且在生產(chǎn)中進(jìn)行了補(bǔ)救

  2022-01-24:公開(kāi)發(fā)表這篇記錄

  何許人也,?

  按David Colombo的自述,他現(xiàn)年19歲,,家住德國(guó)巴伐利亞州,,離慕尼黑車程兩小時(shí)的地方。

  Colombo自稱10歲開(kāi)始寫碼,,從此扎進(jìn)網(wǎng)絡(luò)安全的世界里,。15歲實(shí)際輟學(xué),形式上是向德國(guó)商務(wù)部申請(qǐng)了每周只有2天去學(xué)校點(diǎn)卯的特殊許可,。

  實(shí)際上學(xué)校也不太愿意管他,,畢竟他真上學(xué)時(shí),學(xué)校的信息大屏幕經(jīng)常無(wú)故黑屏故障,。

  David Colombo現(xiàn)在是個(gè)工具現(xiàn)代但形式古典的小作坊主:開(kāi)了家「Colombo科技」的一人作坊式公司,、自學(xué)編程手藝、自己招攬白帽黑客業(yè)務(wù),。

  顧客包括從紅牛公司到美國(guó)國(guó)防部的各種需要驗(yàn)證網(wǎng)絡(luò)安全的機(jī)構(gòu)實(shí)體,。




微信圖片_20220318121103.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected]