特斯拉被曝低級(jí)漏洞:用樹莓派DIY車鑰匙,開鎖僅需90秒
賈浩楠 木易 發(fā)自 凹非寺?
量子位 報(bào)道 | 公眾號(hào) QbitAI
一輛售價(jià)80-90萬(wàn)的特斯拉Model X,只用2000塊就能開走???
這不是特斯拉在搞什么購(gòu)車金融方案,而是比利時(shí)魯汶大學(xué)的研究人員攻破了高端車型Model?X的安全漏洞!

他們只用2000元左右,拿樹莓派電腦DIY了一個(gè)「車鑰匙」,90秒打開車門,不到幾分鐘,就能把車開走了。
無(wú)鑰匙進(jìn)入,真正變成了字面意義上的「無(wú)鑰匙進(jìn)入」。
那么,問題出在哪里?特斯拉自己又是怎么解釋的?
第一個(gè)漏洞:怎么進(jìn)入汽車?
復(fù)制這把車鑰匙的方法,就是偷偷坐在你旁邊。當(dāng)你和朋友談笑風(fēng)生的時(shí)候,你的車鑰匙已經(jīng)在神不知鬼不覺中被復(fù)制了。

這是攻擊者在演示如何接近車主,在近距離(15米內(nèi))中,用自己在網(wǎng)上購(gòu)買的車身控制模塊(BCM)去喚醒車主智能鑰匙的藍(lán)牙。
現(xiàn)實(shí)中,黑客當(dāng)然不可能手捧著開發(fā)板從你旁邊招搖走過,但是把它藏在背包里是完全沒問題的。
攻擊者需要先從目標(biāo)汽車的擋風(fēng)玻璃上讀取了一串?dāng)?shù)字:車輛識(shí)別號(hào)的最后五位數(shù)字。

通過這串?dāng)?shù)字,攻擊者便可以為他們的盜版BCM創(chuàng)建一個(gè)代碼,用于證明其身份。
相當(dāng)于「再造」一個(gè)車機(jī)系統(tǒng)。
然后,拿著這一套克隆BCM,喚醒靠近的車鑰匙,執(zhí)行下一步的破解步驟。

而這一步的關(guān)鍵,就是重寫車主鑰匙上的固件程序。
Model X的密鑰卡,通過藍(lán)牙與Model X內(nèi)部的計(jì)算機(jī)連接,然后無(wú)線接收固件更新。
但是,這其中存在一個(gè)重大漏洞:Model X密鑰的固件更新缺乏加密簽名,以證明更新固件更新來源的安全性。
通俗來說,就是證明更新來源是官方的、安全的,而Model X的車鑰匙并不具備驗(yàn)證這一步。
所以黑客記錄下?lián)躏L(fēng)玻璃的后五位數(shù),就能把樹莓派偽裝成Model X,誘騙你的車鑰匙更新固件。

這個(gè)固件是黑客鏡像設(shè)計(jì)的,它可以查詢車鑰匙里的安全芯片,為車輛生成解鎖代碼。
于是,攻擊者便非常順利地通過藍(lán)牙,連接上目標(biāo)車輛的密鑰卡,重寫固件。
當(dāng)固件被更新為攻擊者的版本后,便可以用它來查詢密鑰卡內(nèi)的安全芯片(secure enclave chip)。
取得解鎖代碼之后,通過藍(lán)牙將代碼發(fā)送回你的車,就這樣「門戶大開」了。

整個(gè)過程,只需要90秒,是不是有「諜戰(zhàn)大片」那味了。
第二個(gè)漏洞:怎么啟動(dòng)汽車?
坐進(jìn)車?yán)?,「偷車」只算完成了一半?/p>
將特斯拉Model X啟動(dòng)并開走,還需要一些「體力活」。
上一步重寫鑰匙固件、破解安全芯片的方式,相當(dāng)于用DIY主板上的藍(lán)牙裝置,復(fù)制了一把鑰匙,目的是破解車門。
現(xiàn)在要做的就是讓真正的車機(jī)系統(tǒng)認(rèn)可這把假鑰匙,從而啟動(dòng)車輛。

首先是拆下車內(nèi)的屏幕下方的儲(chǔ)物盒,在操作臺(tái)內(nèi)部有一個(gè)接口(物理接口),直接連接到車輛控制系統(tǒng)的核心部分,即CAN總線,其中包括了車輛本身的BCM。
把DIY電腦直接插在接口上,就可以直接向車輛本身的BCM發(fā)送指令。

發(fā)送的指令,是讓車輛本身的電腦跟黑客自己生成的鑰匙匹配,這樣就能輕松的啟動(dòng)車輛。

問題出在哪里呢?DIY生成的的假鑰匙,為什么毫無(wú)障礙的就匹配上了車載系統(tǒng)?
其實(shí),特斯拉的車鑰匙上本來是帶有獨(dú)特的密碼證書,以此來驗(yàn)證真實(shí)性。
但是,車上的BCM從頭到尾都沒有檢查過證書。
手腳利索的老哥,從拆儲(chǔ)物盒到開走汽車,也就幾分鐘時(shí)間。
這不是第一次了
而這,已經(jīng)不是特斯拉第一次在無(wú)線密鑰上被攻破了。
之前,特斯拉Model S也在密鑰問題上被研究人員攻破過。

先前的特斯拉Model S,是基于加密的密鑰卡代碼來控制車內(nèi)設(shè)備,觸發(fā)解鎖并禁用其防盜鎖。
2017年夏天,來自KU Leuven的研究團(tuán)隊(duì)發(fā)現(xiàn):由一家名為Pektron的制造商所生產(chǎn)的特斯拉Model S無(wú)線密鑰卡,只使用了一個(gè)弱的40位密碼進(jìn)行加密。
研究人員發(fā)現(xiàn),一旦他們從任何給定的密鑰卡中獲得了兩個(gè)代碼,他們就可以以此類推進(jìn)行嘗試猜測(cè),直到找到解鎖汽車的密鑰。
之后,他們計(jì)算可能組合,并整理成表。
有了這張表和這兩個(gè)代碼,研究者表示,他們可以在1.6秒內(nèi)找到正確的密鑰來「偷」你的車。

研究人員在2017年8月將漏洞的研究發(fā)現(xiàn)告訴給了特斯拉。特斯拉對(duì)他們的研究表示了感謝,并向他們支付了10000美元的“賞金”。
但是,直到2018年下半年的加密升級(jí)和添加PIN碼,這個(gè)加密隱患才得以解決。
特斯拉怎么說?
魯汶大學(xué)的研究人員已于今年8月17號(hào)通知了特斯拉公司該安全問題,特斯拉在確認(rèn)安全漏洞之后已經(jīng)開始著手對(duì)安全漏洞進(jìn)行修復(fù)。
本周開始,特斯拉將著手進(jìn)行漏洞的更新修補(bǔ)推送。
這些措施包括兩個(gè)方面,一是車鑰匙本身對(duì)于固件更新的來源驗(yàn)證。
第二部分是車輛BCM對(duì)鑰匙安全證書的漏檢問題修復(fù)。
這些更新會(huì)在一個(gè)月內(nèi)陸續(xù)覆蓋所有有風(fēng)險(xiǎn)的車型。

發(fā)現(xiàn)了此漏洞的研究人員說,特斯拉的無(wú)鑰匙進(jìn)入技術(shù)與其他車相比,并沒本質(zhì)區(qū)別。
都是用低頻無(wú)線電波(NFC)發(fā)送或接受解鎖碼來解鎖車輛。
特斯拉的獨(dú)特之處,在于設(shè)計(jì)了能讓車鑰匙固件接受OTA更新的藍(lán)牙部分。
正式在OTA這個(gè)節(jié)點(diǎn)上的安全漏洞,讓黑客可以輕松改寫固件,從而獲取訪問底層安全芯片的權(quán)限,生成對(duì)應(yīng)解鎖碼。
而在啟動(dòng)階段,也缺乏對(duì)無(wú)線射頻信號(hào)來源的有效身份核驗(yàn)。
同時(shí),在鏈接車輛控制模塊的物理接口上,特斯拉做的,也未免太隨意了。
那么,沒有藍(lán)牙OTA環(huán)節(jié)的無(wú)鑰匙進(jìn)入,就沒有風(fēng)險(xiǎn)嗎?
也不是。

此前,特斯拉安全部門曾表示,NFC中繼攻擊,幾乎是無(wú)解的。
這種方法簡(jiǎn)單粗暴,就是在一定范圍內(nèi)放大車鑰匙的NFC信號(hào),從而解鎖和啟動(dòng)車輛。
所以,不光是特斯拉,所有采用NFC無(wú)鑰匙進(jìn)入技術(shù)的車型,都面臨風(fēng)險(xiǎn)。
以后,還能放心使用無(wú)鑰匙進(jìn)入嗎?
參考鏈接:
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/
