1. 首頁(yè)
  2. 資訊
  3. 企業(yè)
  4. 車(chē)聯(lián)網(wǎng)安全漏洞挖掘

車(chē)聯(lián)網(wǎng)安全漏洞挖掘

蓋世汽車(chē) 薈薈

小米公司正式成立于2010年4月,是一家專(zhuān)注于高端智能手機(jī)、互聯(lián)網(wǎng)、汽車(chē)智駕網(wǎng)聯(lián)、智能家居生態(tài)鏈建設(shè)的創(chuàng)新型科技企業(yè)。以“讓每個(gè)人都能享受科技的樂(lè)趣”為公司愿景,小米公司應(yīng)用了互聯(lián)網(wǎng)開(kāi)發(fā)模式開(kāi)發(fā)產(chǎn)品的模式,秉承開(kāi)放、不排他、非獨(dú)家的合作策略,和業(yè)界合作伙伴一起推動(dòng)智能生態(tài)鏈建設(shè)。

小米科技車(chē)聯(lián)網(wǎng)高級(jí)安全專(zhuān)家尹小元以《車(chē)聯(lián)網(wǎng)安全漏洞挖掘》為主題,從車(chē)機(jī)固件提取、隱藏調(diào)試分析、常見(jiàn)漏洞挖掘幾個(gè)方面展開(kāi),以下是演講內(nèi)容整理:

車(chē)聯(lián)網(wǎng)安全漏洞挖掘

小米科技車(chē)聯(lián)網(wǎng)高級(jí)安全專(zhuān)家尹小元

今天演講主題是車(chē)聯(lián)網(wǎng)安全的漏洞挖掘,這也是我目前在小米工作的一部分。我今天主要講四個(gè)部分:1、個(gè)人介紹;2、講解車(chē)機(jī)固件提取方法;3、分析調(diào)試模式的方法;4、車(chē)機(jī)端的漏洞挖掘方法。目前我在小米科技做車(chē)聯(lián)網(wǎng)研究,有八年的行業(yè)相關(guān)工作經(jīng)驗(yàn),主要是做Web、APP和lOT等等工作,有多年的甲方車(chē)聯(lián)網(wǎng)安全工作經(jīng)驗(yàn),目前對(duì)車(chē)聯(lián)網(wǎng)安全體系建設(shè)和智能網(wǎng)聯(lián)汽車(chē)漏洞挖掘有比較深入的研究。

車(chē)機(jī)固件提取

車(chē)機(jī)固件提取的第一步是信息收集,首先把設(shè)備拆開(kāi),收集儲(chǔ)存芯片型號(hào)、封裝信息、Datasheet。其中芯片型號(hào)比如說(shuō)SK,SanDisk,Kioxia等等,封裝有OIC,TSOP,BGA等,重要的信息有flash起始位置,大小等信息。接下來(lái)是選擇合適的拆焊工具、根據(jù)封裝選擇編程器,比如RT809H,easyJTAG,西爾特7500,西爾特7500成本較高,使用也較少。,這一步驟主要是根據(jù)封裝選擇合適的編程器和編程器底座。接下來(lái)還要進(jìn)行固件解包、固件逆向,這部分可以分析固件邏輯,是否存在可以利用的算法漏洞,最后是安全漏洞的驗(yàn)證工作。

現(xiàn)在對(duì)提取固件的流程和技術(shù)要點(diǎn)做一下總結(jié):先將芯片用高溫膠帶固定,為了保證其他芯片不受高溫影響,可能需要把其他芯片用高溫膠帶保護(hù)起來(lái)。接下來(lái)需要做預(yù)熱工作,來(lái)回轉(zhuǎn)動(dòng)熱風(fēng)槍以便受熱均勻,讓芯片完整地脫離焊盤(pán)。具體操作中有很多需要注意的要點(diǎn),尤其需要多加練習(xí),比如說(shuō)第一次掌握不好溫度,就很容易損壞芯片,因此這是我們做車(chē)機(jī)固件提取硬件層面中最需要掌握的一項(xiàng)技術(shù)。接下來(lái)是軟件層面,需要先找到對(duì)應(yīng)格式的文件系統(tǒng),通過(guò)dd命令將文件系統(tǒng)提取出來(lái)并進(jìn)行驗(yàn)證,汽車(chē)啟動(dòng)的配置文件、腳本和配置信息和應(yīng)用代碼都在里面,這些是固件逆向所需要的最重要的文件。

隱藏調(diào)試分析

第二部分介紹的是隱藏調(diào)試,隱藏調(diào)試可用簡(jiǎn)單理解為官方“后門(mén)”,通常是為了發(fā)現(xiàn)問(wèn)題或解決問(wèn)題(售后)而預(yù)置的一個(gè)用于調(diào)試分析的功能模塊,工作人員在進(jìn)行維護(hù)時(shí),通常會(huì)點(diǎn)擊特定位置,通過(guò)特定窗口輸入密碼進(jìn)入工程模式。這些密碼會(huì)對(duì)外保密,一方面防止車(chē)主誤操作,另一方面是減少黑客和改裝廠篡改系統(tǒng)的風(fēng)險(xiǎn)。工程模式是檢測(cè)汽車(chē)故障的有效路徑,我們通過(guò)前面的方法把固件提取出來(lái),可以通過(guò)固件逆向獲取“暗碼”。

除此以外,我們還可以通過(guò)搜索引擎、汽車(chē)論壇、汽車(chē)群等方式搜索到“暗碼”。這里就是一個(gè)實(shí)際案例,我們直接通過(guò)搜索引擎拿到相應(yīng)的論壇拿到調(diào)試碼,第二個(gè)通過(guò)汽車(chē)群拿到更新包,通過(guò)逆向拿到調(diào)試碼,最后一個(gè)就是通過(guò)咸魚(yú)買(mǎi)相應(yīng)的車(chē)機(jī)去提固件獲取調(diào)試碼。

常見(jiàn)漏洞挖掘

最后一部分就是常見(jiàn)漏洞挖掘。以特斯拉的車(chē)機(jī)漏洞挖掘?yàn)槔郝┒赐诰蛉藛T首先去拆解硬件,進(jìn)一步分析芯片和調(diào)試口,然后進(jìn)行探測(cè),最后從以太網(wǎng)端口固件進(jìn)入并分析其系統(tǒng)。通過(guò)車(chē)機(jī)逆向,漏洞挖掘人員發(fā)現(xiàn)可以在固件代碼中植入遠(yuǎn)程指令(刷固件),并通過(guò)這些指令達(dá)到控制車(chē)機(jī)的目的。比較有影響的就是國(guó)外黑客查理·米勒通過(guò)遠(yuǎn)程利用的方法,直接讓運(yùn)行的汽車(chē)停下來(lái),導(dǎo)致汽車(chē)事故的案例。

車(chē)聯(lián)網(wǎng)安全漏洞挖掘

圖片來(lái)源:小米官網(wǎng)

這是我們實(shí)際進(jìn)行的一個(gè)車(chē)機(jī)漏洞挖掘,首先是芯片默認(rèn)口令問(wèn)題,我們通過(guò)硬件拆解,我們分析汽車(chē)裝載的AG35芯片,通過(guò)把AG35芯片的外殼去掉,找到USB口并分析走向,接上飛線或者HSD接口,輸入默認(rèn)的密碼,從而直接進(jìn)入到AG35系統(tǒng)里面去。另外就是CPU,大部分CPU會(huì)有調(diào)試接口,我們通過(guò)工具可以直接進(jìn)入系統(tǒng),再做進(jìn)一步分析。有時(shí)候這些調(diào)試口并不能進(jìn)去到系統(tǒng),我們可以通過(guò)故障注入的方法獲取一個(gè)shell。

目前車(chē)機(jī)較多使用車(chē)載以太網(wǎng)進(jìn)行通信,我們可以分析車(chē)機(jī)里面是不是有車(chē)載以太網(wǎng)的芯片,通過(guò)芯片分析接口的走向,通常是車(chē)載以太網(wǎng)雙鉸線,通過(guò)使用車(chē)載以太網(wǎng)轉(zhuǎn)RJ45設(shè)備,可以進(jìn)入到車(chē)內(nèi)網(wǎng),剩下就是內(nèi)網(wǎng)滲透和信息收集的工作,這個(gè)跟做web滲透和車(chē)端的滲透原理其實(shí)是一樣的。

以下是我們目前發(fā)現(xiàn)比較常見(jiàn)的漏洞。第一種是端口服務(wù),我們?cè)谑褂谜{(diào)試暗碼進(jìn)入車(chē)機(jī)系統(tǒng)之后,通過(guò)一些命令看目前系統(tǒng)運(yùn)行的服務(wù),如果發(fā)現(xiàn)adbd服務(wù)沒(méi)有運(yùn)行起來(lái),那么我們可以通過(guò)打包系統(tǒng)鏡像加入adbd服務(wù)或者修改系統(tǒng)啟動(dòng)參數(shù)來(lái)啟動(dòng)adbd方法以啟動(dòng)adb服務(wù)。同理,車(chē)機(jī)系統(tǒng)內(nèi)的一些更新腳本、OTA進(jìn)程、ftp服務(wù)等都是我們重點(diǎn)關(guān)注的對(duì)象。

第二種是二進(jìn)制應(yīng)用,這種主要依靠命令注入和棧溢出漏洞來(lái)進(jìn)行利用。第三種是MQTT漏洞,目前車(chē)端MQTT用得非常多,主要用于將新聞等信息、天氣交通等信息推送到車(chē)端,或者是把車(chē)輛的狀態(tài)信息,比如位置、車(chē)輛狀態(tài)信息推到云端,比如我們遠(yuǎn)程開(kāi)車(chē)內(nèi)空調(diào),是可以通過(guò)MQTT去控制的。我們?cè)趯?shí)踐測(cè)試中發(fā)現(xiàn),某個(gè)車(chē)型有大量用戶(hù)信息,包括手機(jī)號(hào)、車(chē)牌號(hào)、地點(diǎn)位置、軌跡、用戶(hù)token等重要信息,都是通過(guò)MQTT泄露的,利用這些信息我們可以做很多有意思的事情,這里就不多說(shuō)了。

第四種是OTA,現(xiàn)在很多開(kāi)發(fā)人員會(huì)直接谷歌搜索代碼庫(kù),甚至將官方的公開(kāi)代碼直接復(fù)制到自己的實(shí)際應(yīng)用代碼當(dāng)中去。比如將示例AES算法的公私鑰直接復(fù)制,用到自己代碼中,甚至將一些AES算法的私鑰和key、iv進(jìn)行復(fù)制。在實(shí)際分析中,我們把一些車(chē)機(jī)的公鑰或者Key直接復(fù)制到網(wǎng)站上去搜索,發(fā)現(xiàn)通過(guò)搜索公鑰,可以直接拿到私鑰信息,是一個(gè)很大的問(wèn)題。在這里提醒下開(kāi)發(fā)人員,在寫(xiě)代碼的時(shí)候一定要有安全規(guī)范,如果參考了別人的代碼,不要直接拿過(guò)來(lái)不做任何的更改,否則將會(huì)出現(xiàn)很大的問(wèn)題。

車(chē)聯(lián)網(wǎng)安全漏洞挖掘

圖片來(lái)源:小米科技 尹小元

這是我們?cè)趯?shí)際測(cè)試中結(jié)合車(chē)機(jī)和APP漏洞利用鏈的案例:逆向APP主要是逆向登錄和加密算法,一般APP都是加殼的,需要我們脫殼后進(jìn)行逆向。這里的APP主要是控車(chē)的APP,我們首先是通過(guò)逆向源碼,構(gòu)造一些控車(chē)的代碼,實(shí)際測(cè)試時(shí)候并沒(méi)有成功,因?yàn)闆](méi)有有效的控車(chē)的賬號(hào)。

隨后我們通過(guò)前面的MQTT發(fā)現(xiàn)了一些可用的手機(jī)號(hào),通過(guò)手機(jī)號(hào)再去利用,挖掘應(yīng)用級(jí)的漏洞,再去看控車(chē)指令如何構(gòu)造,最后發(fā)現(xiàn)是通過(guò)云端的APP去遠(yuǎn)程控車(chē)的。于是我們進(jìn)一步逆向其中所使用的供應(yīng)商協(xié)議的邏輯漏洞,通過(guò)篡改部分代碼,最終實(shí)現(xiàn)了通過(guò)云端APP控車(chē)。

以上這一條利用鏈?zhǔn)潜容^完美的,首先,APP端存在漏洞,雖然也做了一些加密,做了源碼級(jí)別的加殼,但最后我們還是通過(guò)脫殼和應(yīng)用層、網(wǎng)絡(luò)層的抓包分析,實(shí)現(xiàn)了控車(chē)。此外,車(chē)機(jī)端的調(diào)試端也沒(méi)有做一些嚴(yán)格保護(hù),通過(guò)前面的方法對(duì)固件進(jìn)行提取并逆向分析,最后發(fā)現(xiàn)它的控車(chē)是用某一個(gè)供應(yīng)商的協(xié)議去控制的,從而找到了供應(yīng)商的漏洞,補(bǔ)充一點(diǎn),這個(gè)案例并沒(méi)有使用D-bus系統(tǒng)進(jìn)行遠(yuǎn)程控車(chē)。

(以上內(nèi)容來(lái)自小米科技車(chē)聯(lián)網(wǎng)高級(jí)安全專(zhuān)家尹小元于2022年8月26日由蓋世汽車(chē)主辦的2022中國(guó)汽車(chē)信息安全與功能安全大會(huì)發(fā)表的《車(chē)聯(lián)網(wǎng)安全漏洞挖掘》主題演講。)

來(lái)源:蓋世汽車(chē)

作者:薈薈

本文地址:http://www.healthsupplement-reviews.com/news/qiye/185585

返回第一電動(dòng)網(wǎng)首頁(yè) >

收藏
61
  • 分享到:
發(fā)表評(píng)論
新聞推薦
熱文榜
日排行
周排行
第一電動(dòng)網(wǎng)官方微信

反饋和建議 在線回復(fù)

您的詢(xún)價(jià)信息
已經(jīng)成功提交我們稍后會(huì)聯(lián)系您進(jìn)行報(bào)價(jià)!

第一電動(dòng)網(wǎng)
Hello world!
-->