小米公司于2010年4月正式成立。是一家專注于高端智能手機、互聯網、汽車智能駕駛網絡、智能家居生態鏈建設的創新型科技企業。小米公司以“讓每個人都享受科技的樂趣”為公司愿景,應用互聯網發展模式開發產品,堅持開放、非獨占、不排他的合作策略,與行業伙伴共同推進智能生態鏈建設。
小米科技車聯網高級安全專家尹以“挖掘車聯網安全漏洞”為主題,從固件提取、隱藏調試分析、常見漏洞挖掘等方面入手。以下是發言摘要:
小米科技車聯網高級安全專家尹小源
今天演講的題目是車聯網安全的漏洞挖掘,這也是我目前在小米工作的一部分。我今天主要講四個部分:1。個人介紹;2.講解車床固件的提取方法;3.分析調試模式的方法;4.機車端漏洞挖掘方法。目前在小米科技做車聯網方面的研究,有八年行業相關工作經驗,主要在Web、APP、lOT方面,有多年甲方車聯網安全經驗,目前在車聯網安全體系建設、智能網聯汽車漏洞挖掘方面有深入研究。
車輛固件提取
提取車床固件的第一步是信息收集。首先,拆卸設備,收集并存儲芯片型號、封裝信息和數據表。其中芯片型號如SK、SanDisk、Kioxia等。與OIC、TSOP、BGA等封裝在一起。重要信息包括閃存的起始位置和大小。接下來就是根據封裝選擇合適的焊接工具和編程器,如RT809H、easyJTAG、Cyert 7500、Cyert 7500等,價格昂貴,很少使用。這一步主要是根據套餐選擇合適的程序員和程序員庫。接下來,我們需要解包固件并反轉固件。這部分可以分析固件邏輯,是否存在可以利用的算法漏洞,最終驗證安全漏洞。
現在總結一下提取固件的流程和技術要點:首先用高溫膠帶固定芯片。為了保證其他芯片不受高溫影響,可能需要用高溫膠帶保護其他芯片。接下來要做好預熱工作,來回轉動熱風加熱均勻,讓芯片完全脫離焊盤。在具體操作中需要注意的點有很多,尤其是需要多加練習。比如第一次沒有掌握好溫度,很容易損壞芯片,所以這是我們在提取車床固件的硬件方面最需要掌握的技術。接下來是軟件層面。首先我們需要找到對應格式的文件系統,通過dd命令提取文件系統并驗證。汽車啟動的配置文件、腳本、配置信息、應用代碼都在里面,是固件逆向需要的最重要的文件。
隱藏調試分析
第二部分介紹了隱藏調試,可以簡單理解為官方的“后門”。通常是為了發現問題或解決問題(售后)而預設的功能模塊,用于調試和分析。在維護期間,工作人員通常點擊特定位置,并通過特定窗口輸入密碼,以進入工程模式。這些密碼會被保密,一方面防止機主誤操作,另一方面降低黑客和改裝廠篡改系統的風險。工程模式是檢測汽車故障的有效方法。我們可以通過前面的方法提取固件,通過固件反過來就可以得到“密碼”。
此外,我們還可以通過搜索引擎、汽車論壇、汽車群來搜索“暗號”。這里有一個真實的案例。我們通過搜索引擎直接從相應的論壇獲取調試代碼,第二個通過車組,第三個通過反方向獲取調試代碼。最后一種是通過咸魚購買相應的車機來獲取調試代碼。
常見漏洞挖掘
最后一部分是常見漏洞挖掘。以特斯拉的汽車漏洞挖掘為例:漏洞挖掘者首先拆解硬件,進一步分析芯片和調試端口,然后進行檢測,最后從以太網端口固件進入并分析其系統。通過汽車和機器的逆向,漏洞挖掘者發現可以在固件代碼中植入遠程指令(固件刷機),通過這些指令達到控制汽車和機器的目的。比較有影響的案例是國外黑客查理·米勒通過遠程利用直接讓行駛中的汽車停下來,導致車禍。
圖片來源:小米官網
這是一個真實的汽車機器漏洞挖掘。第一個問題是芯片的默認密碼。通過硬件拆解,對車載AG35芯片進行分析。通過去掉AG35芯片的外殼,找到USB口并分析趨勢,連接飛線或HSD接口,輸入默認密碼,從而直接……進入AG35系統。另一個是CPU。大多數CPU都有調試接口。我們可以通過工具直接進入系統,做進一步的分析。有時候這些調試端口進不去系統,我們可以通過故障注入得到一個外殼。
目前,車載以太網廣泛應用于車載通信。我們可以分析一下車載中是否有車載以太網芯片。通過分析接口方向,一般是車載以太網雙股線。通過車載以太網到RJ45設備,就可以進入車載內網,剩下的就是內網滲透和信息采集的工作了。這其實和web滲透、車載滲透的原理是一樣的。
以下是我們到目前為止發現的常見漏洞。首先是港口服務。在我們使用調試代碼進入機車系統后,我們可以通過一些命令來查看當前運行的服務。如果發現adbd服務沒有運行,可以通過打包系統鏡像加入adbd服務或者修改系統啟動參數啟動adb服務來啟動adbd方法。類似的還有一些更新腳本,OTA進程,ftp服務等。是我們最關心的問題。
二是二進制應用,主要利用命令注入和堆棧溢出漏洞。第三是MQTT漏洞。目前MQTT在車端應用廣泛,主要用于向車端推送新聞等信息、天氣、交通信息,或者向云端推送車輛狀態信息,如位置、車輛狀態信息等。比如我們可以通過MQTT遠程控制內部空調。我們在實際測試中發現,某款車型有很多用戶信息,包括手機號、車牌號、位置、軌跡、用戶令牌等重要信息,都是通過MQTT泄露的。我們可以用這些信息做很多有趣的事情,這里就不多說了。
第四是OTA。現在很多開發者會直接Google代碼庫,甚至把官方公開的代碼直接復制到自己的實際應用代碼中。比如直接復制AES算法的公鑰和私鑰并在自己的代碼中使用,甚至復制一些AES算法的私鑰和key以及iv。在實際分析中,我們直接把一些車的公鑰或者鑰匙復制到網站上進行搜索,發現通過搜索公鑰直接獲取私鑰信息是一個很大的問題。在這里,我要提醒開發者,寫代碼一定要有安全規定。如果參考了別人的代碼,不要不做任何改動就直接拿來用,否則會有很大問題。
圖片來源:小米科技尹小源
這是我們在實際測試中結合車機和APP漏洞利用鏈的一個案例:反向APP主要是反向登錄和加密算法,一般的APP都是有殼的,所以我們需要在有殼之后進行反向。這里的APP主要是一個控制汽車的APP。我們先通過逆向源代碼構造了一些控制汽車的代碼,但實際測試并不成功,因為沒有控制汽車的有效賬號。
然后我們通過之前的MQTT找到一些可用的手機號,通過手機號復用,挖掘應用層面的漏洞,然后去看車控指令是怎么構造的。最后我們發現車是通過云app遠程控制的。于是,我們進一步反推了其中使用的供應商協議的邏輯漏洞,最終通過篡改部分代碼,實現了通過云APP對汽車的控制。
以上利用鏈條比較完善。首先,APP端存在漏洞。雖然做了一些加密,增加了源代碼層面,但最終我們還是通過脫殼,以及應用層和網絡層的分析,實現了對汽車的控制。另外,機車的調試端也沒有嚴格保護。通過前面的方法,提取固件,逆向分析。最后發現其機車控制受某供應商協議控制,從而找到供應商的漏洞。補充一點,本案例沒有使用D-bus系統進行遠程機車控制。
(以上內容來自……資深安全專家尹發表的“車聯網中的漏洞挖掘”主題演講小米科技的車聯網,在2022年8月26日由Gaspar主辦的2022中國汽車信息安全與功能安全大會上。)小米公司于2010年4月正式成立。是一家專注于高端智能手機、互聯網、汽車智能駕駛網絡、智能家居生態鏈建設的創新型科技企業。小米公司以“讓每個人都享受科技的樂趣”為公司愿景,應用互聯網發展模式開發產品,堅持開放、非獨占、不排他的合作策略,與行業伙伴共同推進智能生態鏈建設。
小米科技車聯網高級安全專家尹以“挖掘車聯網安全漏洞”為主題,從固件提取、隱藏調試分析、常見漏洞挖掘等方面入手。以下是發言摘要:
小米科技車聯網高級安全專家尹小源
今天演講的題目是車聯網安全的漏洞挖掘,這也是我目前在小米工作的一部分。我今天主要講四個部分:1。個人介紹;2.講解車床固件的提取方法;3.分析調試模式的方法;4.機車端漏洞挖掘方法。目前在小米科技做車聯網方面的研究,有八年行業相關工作經驗,主要在Web、APP、lOT方面,有多年甲方車聯網安全經驗,目前在車聯網安全體系建設、智能網聯汽車漏洞挖掘方面有深入研究。
車輛固件提取
提取車床固件的第一步是信息收集。首先,拆卸設備,收集并存儲芯片型號、封裝信息和數據表。其中芯片型號如SK、SanDisk、Kioxia等。與OIC、TSOP、BGA等封裝在一起。重要信息包括閃存的起始位置和大小。接下來就是根據封裝選擇合適的焊接工具和編程器,如RT809H、easyJTAG、Cyert 7500、Cyert 7500等,價格昂貴,很少使用。這一步主要是根據套餐選擇合適的程序員和程序員庫。接下來,我們需要解包固件并反轉固件。這部分可以分析固件邏輯,是否存在可以利用的算法漏洞,最終驗證安全漏洞。
現在總結一下提取固件的流程和技術要點:首先用高溫膠帶固定芯片。為了保證其他芯片不受高溫影響,可能需要用高溫膠帶保護其他芯片。接下來要做好預熱工作,來回轉動熱風加熱均勻,讓芯片完全脫離焊盤。在具體操作中需要注意的點有很多,尤其是需要多加練習。比如第一次沒有掌握好溫度,很容易損壞芯片,所以這是我們在提取車床固件的硬件方面最需要掌握的技術。接下來是軟件層面。首先我們需要找到對應格式的文件系統,通過dd命令提取文件系統并驗證。汽車啟動的配置文件、腳本、配置信息、應用代碼都在里面,是固件逆向需要的最重要的文件。
隱藏調試分析
第二部分介紹了隱藏調試,可以簡單理解為官方的“后門”。通常是為了發現問題或解決問題(售后)而預設的功能模塊,用于調試和分析。在維護期間,工作人員通常點擊特定位置,并通過特定窗口輸入密碼,以進入工程模式。這些密碼會被保密,一方面防止機主誤操作,另一方面降低黑客和改裝廠篡改系統的風險。工程模式是檢測汽車故障的有效方法。我們可以通過前面的方法提取固件,通過固件反過來就可以得到“密碼”。
此外,我們還可以通過搜索引擎、汽車論壇、汽車群來搜索“暗號”。這里有一個真實的案例。我們通過搜索引擎直接從相應的論壇獲取調試代碼,第二個通過車組,第三個通過反方向獲取調試代碼。最后一種是通過咸魚購買相應的車機來獲取調試代碼。
常見漏洞挖掘
最后一部分是常見漏洞挖掘。以特斯拉的汽車漏洞挖掘為例:漏洞挖掘者首先拆解硬件,進一步分析芯片和調試端口,然后進行檢測,最后從以太網端口固件進入并分析其系統。通過汽車和機器的逆向,漏洞挖掘者發現可以在固件代碼中植入遠程指令(固件刷機),通過這些指令達到控制汽車和機器的目的。比較有影響的案例是國外黑客查理·米勒通過遠程利用直接讓行駛中的汽車停下來,導致車禍。
圖片來源:小米官網
這是一個真實的汽車機器漏洞挖掘。第一個問題是芯片的默認密碼。通過硬件拆解,對車載AG35芯片進行分析。通過去掉AG35芯片的外殼,找到USB口并分析趨勢,連接飛線或HSD接口,輸入默認密碼,從而直接……進入AG35系統。另一個是CPU。大多數CPU都有調試接口。我們可以通過工具直接進入系統,做進一步的分析。有時候這些調試端口進不去系統,我們可以通過故障注入得到一個外殼。
目前,車載以太網廣泛應用于車載通信。我們可以分析一下車載中是否有車載以太網芯片。通過分析接口方向,一般是車載以太網雙股線。通過車載以太網到RJ45設備,就可以進入車載內網,剩下的就是內網滲透和信息采集的工作了。這其實和web滲透、車載滲透的原理是一樣的。
以下是我們到目前為止發現的常見漏洞。首先是港口服務。在我們使用調試代碼進入機車系統后,我們可以通過一些命令來查看當前運行的服務。如果發現adbd服務沒有運行,可以通過打包系統鏡像加入adbd服務或者修改系統啟動參數啟動adb服務來啟動adbd方法。類似的還有一些更新腳本,OTA進程,ftp服務等。是我們最關心的問題。
二是二進制應用,主要利用命令注入和堆棧溢出漏洞。第三是MQTT漏洞。目前MQTT在車端應用廣泛,主要用于向車端推送新聞等信息、天氣、交通信息,或者向云端推送車輛狀態信息,如位置、車輛狀態信息等。比如我們可以通過MQTT遠程控制內部空調。我們在實際測試中發現,某款車型有很多用戶信息,包括手機號、車牌號、位置、軌跡、用戶令牌等重要信息,都是通過MQTT泄露的。我們可以用這些信息做很多有趣的事情,這里就不多說了。
第四是OTA。現在很多開發者會直接Google代碼庫,甚至把官方公開的代碼直接復制到自己的實際應用代碼中。比如直接復制AES算法的公鑰和私鑰并在自己的代碼中使用,甚至復制一些AES算法的私鑰和key以及iv。在實際分析中,我們直接把一些車的公鑰或者鑰匙復制到網站上進行搜索,發現通過搜索公鑰直接獲取私鑰信息是一個很大的問題。在這里,我要提醒開發者,寫代碼一定要有安全規定。如果參考了別人的代碼,不要不做任何改動就直接拿來用,否則會有很大問題。
圖片來源:小米科技尹小源
這是我們在實際測試中結合車機和APP漏洞利用鏈的一個案例:反向APP主要是反向登錄和加密算法,一般的APP都是有殼的,所以我們需要在有殼之后進行反向。這里的APP主要是一個控制汽車的APP。我們先通過逆向源代碼構造了一些控制汽車的代碼,但實際測試并不成功,因為沒有控制汽車的有效賬號。
然后我們通過之前的MQTT找到一些可用的手機號,通過手機號復用,挖掘應用層面的漏洞,然后去看車控指令是怎么構造的。最后我們發現車是通過云app遠程控制的。于是,我們進一步反推了其中使用的供應商協議的邏輯漏洞,最終通過篡改部分代碼,實現了通過云APP對汽車的控制。
以上利用鏈條比較完善。首先,APP端存在漏洞。雖然做了一些加密,增加了源代碼層面,但最終我們還是通過脫殼,以及應用層和網絡層的分析,實現了對汽車的控制。另外,機車的調試端也沒有嚴格保護。通過前面的方法,提取固件,逆向分析。最后發現其機車控制受某供應商協議控制,從而找到供應商的漏洞。補充一點,本案例沒有使用D-bus系統進行遠程機車控制。
(以上內容來自……資深安全專家尹發表的“車聯網中的漏洞挖掘”主題演講小米科技的車聯網,在2022年8月26日由Gaspar主辦的2022中國汽車信息安全與功能安全大會上。)
分享愛馳U5、U6共5個版型新車亮相工信部公布的第360批《道路機動車輛生產企業及產品公告》日前,
1900/1/1 0:00:009月12日,我國牽頭在國際標準化組織(ISO)框架下提出的《道路車輛自動駕駛系統測試場景場景評價與測試用例生成》(ISO34505)國際標準項目,經投票表決后正式獲得立項,
1900/1/1 0:00:00蓋世汽車訊9月23日,
1900/1/1 0:00:00蓋世汽車訊據外媒報道,9月22日,福特汽車公司宣布進行管理層重組,并精簡其產品開發和供應鏈部門。幾天前,福特汽車公司曾表示,由于可能缺少某些零部件,其庫存中有高達45萬輛的汽車無法交付。
1900/1/1 0:00:00蓋世汽車訊據外媒報道,
1900/1/1 0:00:00上海磐時是一家專門從事汽車功能安全、預期功能安全、信息安全相關的培訓、流程咨詢、產品咨詢、工程服務的專業公司。
1900/1/1 0:00:00