
為了更便捷發(fā)現(xiàn)安全漏洞,提高安全防御水平。基于滲透測試的基本原理,介紹了一種針對域控制器的滲透測試方法,將該方法以滲透工具的形式進行展現(xiàn),并進行實際測試驗證。以簡單的操作實現(xiàn)針對域控制的MPU 和MCU兩大部分進行漏洞檢查、密碼破解、診斷攻擊等測試,從而降低滲透測試門檻,提高工作效率。
0 引言
伴隨著車輛智能化、網(wǎng)聯(lián)化程度的提高,車輛已不僅僅利用CAN總線進行信息交互,而是作為智能的移動終端,實現(xiàn)和車、路、云、人的通信交互。在帶來優(yōu)質(zhì)體驗的同時,也帶來信息安全的隱患。信息安全問題不僅能造成財產(chǎn)損失,還可能對用戶的生命構(gòu)成威脅[1],因此信息安全重要性得到國家和車企的高度重視。國家出臺了相關的車輛信息安全法規(guī),各大主機廠及供應商也正在進一步加強信息安全的防御、檢測。其中滲透測試就是專門針對網(wǎng)絡安全的測試,可幫助發(fā)現(xiàn)網(wǎng)絡安全漏洞,進而協(xié)助提高網(wǎng)絡安全水平。
作為車輛云—管—端中端的一環(huán),域控制器得到越來越廣泛應用,主要由微控制器(micro controller unit,MCU)和微處理器(micro processor unit,MPU)組成。域控制器不僅涉及CAN通信,還涉及網(wǎng)絡通信等計算機方面內(nèi)容,由于其同時涉及CAN和以太網(wǎng),而且還是域中重要一環(huán),便成為網(wǎng)絡安全的重點保護對象。
由于滲透測試來源于計算機的信息安全,滲透測試也主要涉及計算機方面知識,入手較為困難,且委托第三方的滲透價格也較為昂貴。為此,本文利用滲透測試理論,開發(fā)出簡捷的滲透測試工具,便于開發(fā)人員快速地找出域控制存在的安全漏洞。
1 域控制器基本組成介紹
車輛域控制一般按照功能劃分為5個域:動力域(power train)、底盤域(chassis)、車身域(body)、座艙域(cockpit)和自動駕駛域(ADAS),每個域都有一個相應的域控制器來實現(xiàn)相應的功能[2]。
域控制器目前主要由MCU和微處理MPU兩大部分組成,以目前的ADAS域控制器為例,如圖1所示,MCU作為“Safety host”,主要以CAN通信的形式和車內(nèi)CAN網(wǎng)絡建立聯(lián)系,MPU作為“Performance host”完成視覺算法的處理,主要以車載以太網(wǎng)的形式和外界建立聯(lián)系,MPU端的操作系統(tǒng)一般采用Linux 或QNX。

圖1 ADAS域控制器
2 MCU端滲透測試內(nèi)容及方法介紹
針對MCU的攻擊,這里主要以CAN總線的攻擊為主,下面將介紹幾種較為常見的攻擊方法以及相應的防御措施[3]。
2.1 洪水攻擊
洪水攻擊:攻擊者向CAN總線上發(fā)送高頻率、高優(yōu)先級的總線信號,從而使ECU無法正常響應其他低優(yōu)先級的數(shù)據(jù)包,造成車輛的癱瘓,故障燈點亮。若在啟動前進行洪水攻擊,則可導致車輛無法正常啟動。
針對洪水攻擊,防御措施主要有增設網(wǎng)關、在OBD處增設防火墻等。
2.2 診斷攻擊
診斷攻擊:攻擊者通過發(fā)送一些診斷命令來實現(xiàn)對控制器的篡改。例如,通過發(fā)送11 02實現(xiàn)重置功能,通過2E服務實現(xiàn)參數(shù)篡改等[4]。
針對診斷攻擊,防御措施有增加診斷的前提條件。例如,增加車速和發(fā)動機的前置判斷條件、增加27服務的解鎖條件等。
27服務示例:
請求seed
發(fā)送請求:27 01
肯定響應:67 01 xx(xx為seed值)
發(fā)送key
發(fā)送請求:27 02 xx(xx為key值)
肯定響應:67 02
2.3 篡改攻擊
篡改攻擊:攻擊者通過更改正常通信的CAN報文的有效載荷實現(xiàn)攻擊,若ECU針對篡改的內(nèi)容做出正確的響應,則可實現(xiàn)控制、干擾的目的,如修改車速顯示信息、控制轉(zhuǎn)向和制動等。
針對篡改攻擊,防御措施除增加“checksum”之外,還可以升級為安全報文[5]。以MAC校驗及增加新鮮度值(FV)等手段進行完整性和機密性方面的防御,如圖2所示。

圖2 安全報文結(jié)構(gòu)
3 MPU端滲透測試內(nèi)容及方法介紹
針對MPU的攻擊,攻擊的步驟比MCU測試更復雜一些,攻擊也主要是通過網(wǎng)口或者車載以太網(wǎng)接口進行。針對MPU端的滲透測試主要包含下面幾個步驟[6]。
3.1 信息收集
收集目標的相關信息,例如:IP地址、端口信息、操作系統(tǒng)版本信息等,可通過Wireshark或者Netdiscover等工具來獲得MPU的IP地址;也可通過Netdiscover-p來實現(xiàn)監(jiān)聽,發(fā)現(xiàn)在線的設備信息,如圖3所示。

圖3 IP信息
獲取IP地址之后,可以通過Nmap工具來獲得開放的端口信息。例如,通過發(fā)送Nmap-Pn1-65535 192.167.68.130命令可以獲得針對IP 192.167.68.131中1-65535的開放端口的信息。如圖4所示,獲取這些端口之后,就可以利用開放端口存在的漏洞,進入到MPU內(nèi)部,進而實施一些違規(guī)操作。

圖4 端口掃描
通過Nmap 或者Nessus工具可獲得操作系統(tǒng)的版本信息。例如,Linux或QNX的版本信息,通過已知版本信息,在接下來的漏洞掃描中,查找該版本是否有已知的漏洞,利用該漏洞就可進行滲透攻擊。
3.2 漏洞掃描
漏洞掃描的目的是找出MPU弱點,攻擊者可利用該弱點進行滲透攻擊,如權限設置錯誤、采用默認的弱密碼、http 端口開啟等可通過Nessus工具進行漏洞掃描。通過漏洞掃描可發(fā)現(xiàn)目前的漏洞數(shù)量、漏洞描述及漏洞的嚴重程度。可通過修復漏洞來提高網(wǎng)絡安全的防御能力,如降低用戶權限、關閉端口、密碼改為證書認證等[4]。
3.3 滲透攻擊
滲透測試主要指利用漏洞加載攻擊載荷,實現(xiàn)對MPU的攻擊。滲透攻擊可以通過Metasploit工具進行。密碼暴力破解也屬于攻擊的一種,若密碼設得很簡單或者未采用證書認證方式登錄,則很容易進行暴力破解,進而進入MPU內(nèi)部,實施更改或破壞。
4 滲透測試實現(xiàn)
4.1 滲透測試工具展示
由于滲透測試需要較多的不同工具,而且大部分需在終端中輸入相應的指令來進行完成,過程比較煩瑣,且可視化不強。基于目前滲透測試遇到的痛點以及MCU和MPU的滲透測試邏輯,將主要的滲透內(nèi)容進行匯總,編譯開發(fā)出可視化較強的滲透測試軟件。測試者只需要輸入一些簡單信息,點擊相應按鈕即可完成對應的測試工作,如圖5所示。

圖5 滲透測試工具展示
4.1.1 MPU端測試
MPU端測試主要包含信息收集、漏洞掃描和密碼破解3個方面:
信息收集:可進行IP地址、端口、操作系統(tǒng)、可用命令的收集。其中端口信息通過調(diào)用底層Nmap工具來實現(xiàn),并將最終的收集展示。
漏洞掃描:基于IP信息進行漏洞掃描,找出漏洞及漏洞的嚴重程度。
密碼破解:基于需要破解的用戶名及密碼字典進行破解。例如,若 root賬戶使用了默認或者簡單密碼,則很容易進行破解。
4.1.2 MCU端測試
MCU端測試主要進行洪水攻擊、診斷攻擊及信號篡改攻擊。
洪水攻擊:可通過設置發(fā)送頻率來實現(xiàn)攻擊的程度。
診斷攻擊:通過設計CAN ID,指定攻擊對象,通過設定診斷服務命令來指定攻擊種類。診斷服務命令包含了UDS的26種服務,如
?11 reset命令、
?2E DID寫入命令等。
篡改攻擊:通過更改報文內(nèi)容來實現(xiàn),若MCU做出正確響應,則說明篡改攻擊成功。
4.2 軟件實際應用效果
針對MPU端測試,通過對模擬MPU端進行滲透測試,故意設計多個漏洞。例如,將root密碼設置為默認的密碼可以發(fā)現(xiàn),通過該工具,可以準確獲得IP地址和相應的漏洞信息,而且還可以破解root密碼。
針對CAN通信測試,對其進行了診斷攻擊和篡改攻擊,診斷攻擊通過發(fā)送2E DID寫入服務,MCU給出了消極響應——條件不正確。說明針對2E服務,MCU設置了接收前置條件,測試通過。
篡改攻擊,通過更改安全報文有效載荷進行測試,發(fā)現(xiàn)MCU端報了MAC校驗錯誤故障。說明更改后的安全報文未通過MAC值校驗,MCU端設置了MAC校驗機制,測試通過。
軟件實際應用結(jié)果如圖6所示。

圖6 軟件實際應用結(jié)果
5 結(jié)束語
針對域控制器的滲透測試,將MCU和MPU的測試內(nèi)容結(jié)合在一起,利用滲透測試的基本原理,開發(fā)出簡捷的測試方法,將該方法以軟件的形式進行展現(xiàn),在實際的測試中,該方法也得到有效驗證,協(xié)助降低了滲透測試門檻,便于滲透測試工作在測試中的推廣。
參考文獻:
[1] 宋昊辰,楊林,徐華偉,等.智能網(wǎng)聯(lián)汽車信息安全綜述[J].信息安全與通信保密,2020,18(7):106-114.SONG H C,YANG L,XU H W,et al.Overview of the intelligent connected vehicles cyber security[J].Information security and communications privacy,2020,18(7):106-114.
[2] 深度詳解域控制器[EB/OL].(2020-08-04)[2022-03-06].https://auto.vogel.com.cn/c/2020-08-04/1051269.shtml.
[3] 宋澤峰.面向CAN總線的車內(nèi)網(wǎng)絡滲透測試研究與實現(xiàn)[D].成都:電子科技大學,2018.
[4] International organization for Standardization.ISO 14229-1 Road vehicles—Unified diagnostic services(UDS)Specification and requirements[S].2013.
[5] AUTOSAR.Specification of Secure Onboard Communication [EB/OL] .[2022-03-06].https://www.autosar.org/.
[6] 魏德曼.滲透測試:完全初學者指南[M].范昊,譯.北京:人民郵電出版社,2019.
報告下載
報告分享|2023中國汽車基礎軟件發(fā)展白皮書4.0
報告分享|2022中國汽車基礎軟件發(fā)展白皮書3.0
報告分享 2023年中國商用車線控底盤行業(yè)研究報告
報告分享|智能電動汽車EE架構(gòu)的演進路線
報告分享|比亞迪案例研究

END