作者:騰訊科恩實驗室
原文鏈接:https://keenlab.tencent.com/zh/2020/03/30/Tencent-Keen-Security-Lab-Experimental-Security-Assessment-on-Lexus-Cars/
雷克薩斯從2017年開始已經為多款車型(包括NX、LS、ES等系列)配備新一代的信息娛樂系統,也被稱為AVN視聽導航設備。與一些智能網聯車載系統相比,如特斯拉中控系統和寶馬ConnectedDrive系統,雷克薩斯AVN系統會顯得更加傳統一些。從安全的角度來看,它能夠很大程度上降低被潛在的網絡安全問題攻擊的可能性。但是一個新的系統往往會帶來新的安全風險。
科恩實驗室對2017款雷克薩斯NX300車型進行安全研究后,在該車型的藍牙和車輛診斷功能上發現了一系列安全問題,并能夠危及到AVN系統、車內CAN網絡和相關車載電子控制單元(ECU)的安全性。通過結合利用這些安全問題,科恩實驗室能夠在無需任何用戶交互的情況下,通過無線方式破解并控制汽車的AVN系統,將惡意CAN指令發送到車內CAN網絡,從而實現對存在漏洞的車輛執行一些非預期的物理操作。
目前,豐田公司正在推進車輛安全問題修復的解決方案。因此本次報告內容只對研究成果做簡要分析,而不是全面的細節披露。如果一切順利的話,我們將在2021年某個適當的時間點發布完整的漏洞技術報告。
車載部件概述
基于對2017款雷克薩斯NX300車輛的硬件分析和CAN網絡測試,汽車內部的基本架構如下圖所示(涉及到AVN、DCM數據通信模塊、電子控制單元和CAN網絡等)。
DCM數據通信模塊
DCM是一個運行在高通MDM6600基帶芯片上的遠程信息處理設備,又稱為T-Box。它可以通過USB以太網接口為AVN設備提供3G網絡來支持遠程信息服務。DCM還可以通過CAN總線查詢ECU (比如汽車引擎和車門) 的狀態信息,并將查詢結果上傳到云端后臺。
AVN 視聽導航設備
作為車載信息娛樂系統,雷克薩斯AVN設備主要為用戶提供無線電廣播、多媒體和導航功能。實際上,它由兩部分組成:DCU顯示控制單元和MEU地圖多媒體擴展單元。
DCU是AVN單元的關鍵部件,DCU的主電路板模塊暴露了一些常見的攻擊面,如Wi-Fi,藍牙和USB接口。通過DCU uCOM電路板模塊,DCU系統能給通過CAN消息與汽車內部ECU進行間接通信。
MEU地圖多媒體擴展單元功能非常透明,它只負責提供地圖導航數據。在DCU和MEU之間,還連接了USB以太網線用于消息通信。
DCU 主電路板模塊
通過拆解DCU硬件,我們發現它主要包含兩個電路板模塊。如下圖所示,根據電路板位置,頂層為DCU主電路板模塊,底層為DCU uCOM電路板模塊。
DCU主電路板模塊集成了一些常規芯片,包括瑞薩R8A779x SoC芯片[2], 博通BCM4339 Wi-Fi藍牙芯片,2塊512MB的SDRAM內存芯片,1塊8GB的eMMC NAND Flash儲存器和1塊8MB的SPI NOR Flash儲存器。SoC芯片擁有兩個ARM-CortexA15核,用于運行各種代碼,包括芯片啟動代碼(bootrom)、NOR Flash中的U-Boot固件代碼以及eMMC Flash中的Linux系統。
在DCU主板背面有一塊獨立的SPI NOR Flash儲存芯片。根據芯片的數據手冊,該存儲器總容量為64M-bits。將存儲芯片的引腳焊接到通用存儲芯片編程器后,并在flashrom軟件[3]中選擇對應的芯片型號,可以將SPI儲存芯片中的所有數據提取出來。通過對提取的數據進行逆向工程后,基本上可以推測出如下圖所示的數據存儲布局。由于為了支持A/B系統備份更新,Flash存儲器中還保存一部分固件鏡像和配置數據的副本,比如U-Boot config配置數據、U-Boot Image鏡像和BSP Boot config啟動配置數據。
DCU主板還集成了一塊8GB的eMMC NAND Flash芯片用來存儲AVN單元的主要代碼和數據,包括Linux內核鏡像、設備樹數據、ramdisk鏡像和Ext4文件系統。同時為了實現AVN系統的快速引導啟動,Flash中也保存了一份Linux系統的快照鏡像。而為了支持A/B系統更新, Flash中還需要儲存Linux內核鏡像和ramdisk鏡像的副本。整個eMMC Flash的存儲布局如下圖所示。
DCU uCOM電路板模塊
TDCU uCOM電路板模塊的用途是管理電源和一些外部設備,如DVD播放器、空調、觸控板和電子時鐘。而為了與這些外部設備通信,uCOM電路板上配備了兩個CAN總線微控制器(SYSuCOM與CANuCOM),每個微控制器都和uCOM電路板上獨立的CAN總線收發器進行連接。
CANuCOM是DCU顯示控制單元中的一個CAN總線控制器。它使用的是瑞薩R5F10PLJL芯片(如圖5所示),通過連接一個CAN總線收發器,CANuCOM可以直接訪問汽車的娛樂CAN總線,并且能給與一些車載ECU(如網關和Main Body ECU)交換CAN消息。
SYSuCOM是一個基于松下MNZLF79WXWUB芯片的CAN總線控制器。通過CAN總線收發器,它可以和位于專用CAN網絡域中的觸控板和電子時鐘進行CAN消息通信。SYSuCOM通過UART串口直接連接了CANuCOM和DCU主電路板,它能給為主電路板和外部設備完成不同類型的消息數據轉換。
電子控制單元和CAN網絡
中央網關是一個重要的汽車ECU,它將車載CAN網絡劃分為不同的CAN域,包括娛樂CAN、車身CAN、OBD診斷CAN、底盤CAN和動力CAN等。另一個必不可少的ECU是Main Body ECU,也被稱為車身控制模塊(BCM)。Main Body ECU管理了一組用于處理車身相關功能的ECU。DCM模塊和AVN屬于娛樂CAN域。為了傳輸CAN消息,DCU uCOM電路板上設計了2個不同的CAN總線(即CAN-1和CAN-2)。通過uCOM模塊,DCU主板模塊可以向網關傳輸特定的CAN消息來查詢車輛狀態。
-
CAN-1. CANuCOM 微控制器的CAN總線,它直接連接到車內的娛樂CAN總線。通過UART串口與SYSuCOM通信,CANuCOM可以往娛樂CAN總線間接傳輸來自DCU主板的CAN消息。
-
CAN-2. SYSuCOM微控制器的CAN總線,它是一路專用CAN總線,用來連接DCU、觸控板以及電子時鐘等設備。該CAN總線與車載CAN網絡在物理上是隔離的。
- 為了發送CAN消息,DCU主板模塊與SYSuCOM建立了兩路UART串口(/dev/ttySC1和/dev/ ttysc9)。DCU系統可以將定制的CAN消息發送到/dev/ttySC1串口,這些消息會被中轉到CAN-1總線。通過類似的方式,發送到/dev/ttySC9的消息會被轉發到CAN-2總線。
安全研究成果
以下表中所有的安全研究發現在2017款雷克薩斯NX300車型上驗證是有效的,并且在我們向豐田公司提交完整的技術報告及合作交流相應的技術細節之后,豐田也確認了這些安全問題。
表1. 2017款雷克薩斯 NX300 車型上的安全研究發現
無線破解DCU系統
我們利用車載藍牙服務中的兩個漏洞實現在DCU的Linux系統中以root權限遠程執行代碼。第一個是堆內存越界讀漏洞,第二個是堆內存的緩沖區溢出漏洞。這兩個漏洞都存在于建立藍牙連接的過程中,并且是在藍牙配對之前,這使得針對藍牙漏洞的利用是完全無需用戶接觸和交互的。而為了獲得受影響車輛的藍牙MAC地址,如果DCU系統曾經與移動電話配對過,我們就可以用 “Ubertooth One”[4]設備進行無線嗅探到DCU系統 的MAC地址。
此外,DCU系統并不支持安全啟動,這意味著整個系統可以被篡改,例如按照慣例替換掉系統啟動動畫。在完全控制DCU系統之后,我們發現想要任意發送CAN消息并不容易,因為在DCU uCOM模塊中已經實現了CAN消息的過濾機制。但幸運的是,DCU的Linux系統是負責uCOM的固件升級。
重構uCOM固件
通過逆向uCOM固件及其固件更新邏輯,我們能夠將一個惡意固件重新刷寫到uCOM電路板模塊中,以此來繞過CAN消息驗證,從而可以實現向車輛娛樂CAN總線發送任意CAN消息。
傳輸未授權診斷消息
根據車載診斷系統的實驗測試結果,我們確認了被破解后的DCU系統是被允許通過發送未經授權的診斷CAN消息來控制車輛的診斷功能。Main Body ECU會被惡意診斷從而造成汽車在缺乏認證的情況下執行物理操作。
無線攻擊鏈
通過結合藍牙和車載診斷功能中的安全發現(見表1),我們可以實現如下圖所示的從藍牙無線到車內CAN網絡的遠程無接觸式的攻擊鏈。
- 步驟-1. 因為車載藍牙服務是以root權限運行在DCU系統中,一旦DCU系統被藍牙漏洞攻擊破解,惡意代碼將會通過無線方式部署并永久駐留在系統中。
- 步驟-2. 惡意代碼可以設計成讓被破解后的DCU系統自動連接到我們創建的Wi-Fi熱點,并反彈一個遠程可交互的系統root shell。
- 步驟-3. 接著可以利用Wi-Fi網絡下的root shell,通過 SYSuCOM和CANuCOM將任意的CAN消息傳輸到車內CAN總線。
- 步驟-4. 此外通過利用CAN診斷消息,位于車內CAN網絡的一些ECU會被欺騙執行診斷功能,從而使得汽車觸發非預期的物理動作。
漏洞披露流程
雷克薩斯汽車安全研究是一項道德的安全研究項目。科恩實驗室遵循了全球軟件和互聯網行業公認的負責任的漏洞披露原則,同豐田公司一起合作修復本報告中列出的安全漏洞和攻擊鏈。
以下是詳細的漏洞披露時間線:
豐田官方回應
豐田對于此次研究的官方回復請參考如下鏈接: https://global.toyota/en/newsroom/corporate/32120629.html
引用
-
https://www.renesas.com/us/en/solutions/automotive/soc/r-car-m2.html
-
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5551
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.jmbmsq.com/1160/










暫無評論