張吉宇
(柳州汽車檢測有限公司,廣西柳州,545000)
隨著計算機和網絡技術的發展,汽車已經不再是傳統意義上的交通工具,汽車技術正在逐步向著智能化和網聯化的方向發展,汽車、駕駛員以及外界環境等元素已經結合成有機的整體,智能網聯技術已經成為汽車技術發展的一個重要方向[1]。智能網聯汽車可以實現復雜環境感知、智能化決策、安全輔助駕駛等功能,極大優化了汽車的駕駛舒適度以及安全性,車載網絡智能系統已經基本實現了對汽車的智能化控制,例如遠程控制汽車空調預熱、移動設備對汽車的精確定位等等[2]。但是需要完全實現自動化駕駛還有很長的路要走。
為了便于理解可以將智能網聯汽車類比成一個人,智能網聯汽車中的信息終端和傳感系統就如同人體的眼睛和耳朵,用于采集外界環境的各種信息數據,這些信息終端大致包括雷達、攝像頭、V2X 通信、GPS 定位等等。網聯汽車的中央決策系統就如同人體的大腦,將信息終端采集的信息數據上傳到中央決策系統進行數據分析再下達具體指令給執行器。網聯汽車的執行器就如同人體的手足,執行機構就是執行各種動作的具體結構,例如剎車和油門、各種主動安全性系統、自動變速器、電動轉向系統等等。網聯汽車借助車聯網和通信技術實現汽車運行信息的傳遞和交換。
汽車的網聯化發展也導致汽車的電路結構變得更加復雜,而且ECU 的安裝數量也顯著增多,研究人員為了防止汽車出現電路故障時檢修流程太過繁瑣,所以車內ECU 的信息交互都是依賴車載CAN 總線實現的,而CAN 總線的信息安全一直是令人擔憂的問題,攻擊者可以通過多種方式入侵CAN 總線。所以智能網聯汽車的駕駛安全性直接受到CAN 總線信息安全的影響。
如圖1 所示是CAN 總線物理結構,在CAN 總線上設置有若干個ECU 連接節點,每個節點都需要連接CAN 控制器和收發器。CAN 收發器具有雙向傳遞數據的能力,通過接收由ECU 傳遞過來的數據信號并且進行數字化處理,再傳遞給CAN 控制器,CAN 控制器再將相應指令傳遞到電子器件執行相應動作。CAN 總線具有布置簡單、工作可靠等優點,所以成為絕大多數現代汽車采用的底層構架通訊總線,CAN 總線具有以下特點:結構簡單開發成本低廉,ECU 連接節點都是采用單片機開發工具;基本滿足汽車總體數據傳遞距離需求,最長傳遞距離可以達到10Km;具有優良的數據傳輸速率,即使數據傳遞距離到達400m 最高傳輸速率也能達到1000Kpbs;智能化的數據節點處理能力,在同一條CAN 總線的ECU 節點設置不同的優先級,在所有節點同時傳輸數據時,優先級高的節點不受阻礙而優先級低的節點暫停發送數據;先進的故障自我處理和檢測能力,在傳輸的數據出現明顯錯誤時可以自我糾正并重新傳輸數據,當某些ECU 節點出現不可修復故障時會自動關閉該節點,確保CAN 總線正常的數據傳遞工作。

圖1 CAN 總線物理結構
CAN 總線存在的安全問題可以分為兩大類:第一類是CAN 總線的內部安全漏洞,第二類是CAN 總線的外部威脅。首先分析內部安全漏洞,在CAN 總線的設計之初只考慮到運用該項技術優化汽車的駕駛舒適性,完全沒有考慮到可以與互聯網技術有機的結合在一起。隨著與外界接入端口的增加,越來越多地暴露出CAN 總線存在的結構以及通訊機制上存在的安全漏洞,下面具體總結存在哪些內部安全漏洞,首先沒有完備的安全防護以及認證機制,安全防護以及安全認證機制是CAN 總線的第一道防御措施,如果沒有完善的安全防護機制那么攻擊者可以隨意連接CAN 總線上的任意節點,實現對汽車所有電控系統的惡意控制,安全認證機制是針對于CAN 總線上的數據傳遞安全的,攻擊者惡意偽造指令而CAN 總線無法正確識別也對汽車的駕駛安全造成嚴重威脅;其次沒有安全隔離區域以及數據加密機制,安全隔離區域可以對關鍵性ECU 節點進行安全保護,加強相關設備運行的安全性,數據加密機制可以有效防止攻擊者惡意盜取汽車運行數據,現有CAN 總線的報文是采用廣播的形式進行傳播的,攻擊者可以非常輕易地截取數據信息再通過逆向分析方式獲取相關內容;最后是CAN 總線固有的脆弱性,現有CAN 總線采用的是沖突避免的信息處理機制,這樣可以有效解決多數據同時傳輸產生沖突的問題,但是這也為攻擊者惡意控制提供了可能性,通過向CAN 總線發送優先級最高的數據,使得ECU 節點無法正常傳輸數據導致系統癱瘓。
接下來分析CAN 總線存在的外部威脅,如圖2 所示是T-BOX 總體結構,T-BOX 是CAN 總線為外源性設備相連接的端口,T-BOX 再通過USB3.0 接口或者UART 通訊方式與外源性設備相連接,并且利用5G 網絡連接云平臺,智能手機平板電腦等移動設備與云平臺形成交互,構成以T-BOX為核心的智能車聯網體系,這雖然極大增強了汽車駕駛的舒適度以及娛樂性,但是也為黑客惡意入侵提供了便利,云平臺、移動設備、車載娛樂系統、T-BOX 這些設備和系統都極有可能成為惡意入侵的端口,其中移動設備是最有可能也是最便利的入侵端口,絕大部分安卓手機的應用都可以很快捷地獲取機主的姓名電話號碼地址等基本信息,而手機是作為一個車聯網的移動控制設備,黑客可以誘導機主下載安裝入侵車聯網的手機應用并獲得相應權限,借助逆向分析技術可以很輕松地獲取汽車運行參數。

圖2 T—BOX 總體結構
如圖3 所示是CAN 總線攻擊路徑,CAN 總線的攻擊方式主要有以下幾種:重放、洪泛、注入、遍歷、模糊測試、拒絕服務等等,這些攻擊方式都是通過偽裝成ECU 節點向CAN 總線發送錯誤信息,但是具體工作過程有所不同,下面具體介紹每一種攻擊方式的工作過程。

圖3 CAN 總線攻擊路徑
重放,攻擊者通過截取ECU 節點已經發送的數據進行復制,借助CAN 總線收發設備將復制的信息進行重新發送進而達到擾亂汽車正常運行的目的;洪泛,攻擊者復制大量CAN 總線無法識別的數據通過ECU 節點進行傳播,達到占據CAN 總線數據通道導致系統癱瘓的目的。注入,攻擊者通過診斷報文注入或者畸形報文注入的手段來達到CAN 總線系統異常的目的,其中診斷報文注入的改進方式危險性最大,在汽車駕駛過程中注入診斷報文極易導致汽車失控出現汽車安全事故。以上三種攻擊方式原理和實現方式都較為簡單,所以防御這三種攻擊方式也是比較容易的,而以下三種攻擊方式實現方式較為復雜并且危害性更大。
遍歷,攻擊者將所有可能應用的報文ID 進行編輯,并向CAN 總線進行發送,由于發送的數據量足夠多所以很有可能觸發符合某個ECU 節點工作的報文,從而導致某些執行機構錯誤工作,這樣就導致CAN 總線的正常通信被嚴重擾亂。模糊測試,這一攻擊方式實際上經常被汽車生產商自己應用,用以發現CAN 總線可能存在的安全性漏洞,通過向CAN 總線發送大量異常數據,分析輸出結果來尋找安全性漏洞,但是這也可以用于監視每個汽車廠商都嚴格保密的通信矩陣,CAN 總線通信矩陣被破解汽車將完全被他人所控制。拒絕服務,這一攻擊方法完全利用了CAN 總線固有的沖突避免信息處理機制,拒絕服務和重放有相似的地方,但是更具專一性,向CAN 總線高頻率大量發送高優先級數據報文,這樣就可以使低優先級數據報文無法被發送,擾亂CAN 總線的正常通信。
入侵檢測系統是保證CAN總線信息安全的第一道防線,如圖4 所示為外部信息入侵檢測過程,我們可以將實現入侵檢測的軟硬件集成化安裝在車載網關,從外界傳輸進來的數據可以通過該系統進行實時檢測,入侵檢測的流程分為四個步驟:數據的采集、數據的預處理、數據的分析與檢測、安全系統響應。數據的采集就是將外界輸入的原始數據進行采集;數據的預處理是指對采集的數據進行冗余數據的刪除、再整理、規范化等處理轉換成檢測系統可以識別的數據類型;數據的分析與檢測是指對檢測數據進行安全分析,具體有數據的風險類型、數據的異常行為、對異常行為進行識別等等,安全系統響應是指確定輸入數據是入侵病毒時采取相應處理措施。

圖4 入侵檢測系統
入侵檢測系統中最關鍵的部分就是數據的分析和檢測,根據數據分析方法的不同可以將數據檢測技術分為兩類:分別為異常檢測和誤用檢測,異常檢測也被稱為行為檢測方式,將系統正常運行狀態的特征模式作為比較基準,以系統當前的狀態與基準進行比較就可以確定系統是否正常運行,當然不可能出現細微的偏差也認定系統出現故障,需要預先設置變化閾值,只有變化量超過變化閾值時才能認定系統出現故障,這種檢測方式的優點是可以準確地判斷系統是否出現故障,但是無法確定引發故障的具體原因;誤用檢測和異常檢測正好相反,通過所有已知的攻擊模式建立檢測模型,當出現可能的入侵行為時可以立刻發現,這種檢測技術的優點是可以確定具體的入侵攻擊方式,但是如果出現全新的攻擊方式,那么檢測技術將完全失效。
根據信息熵的定義來設計異常檢測模型,將信息熵算法引入到信息檢測中。通過處理CAN 報文樣本數據庫,得到正常狀態網絡信息熵的基線以及閾值。并且以該數據作為異常檢測標準,將實時采集的數據樣本信息熵與檢測標準作為對比就能檢測出數據是否異常,在模型設計過程中首先需要確定三個基本參數:特征量、閾值、檢測周期。特征量的合理選擇可以良好體現系統行為特征。閾值的選擇直接決定檢查結果的準確性,由于數據入侵和異常行為不是完全對應的關系,所以檢查結果的虛報和漏報時常發生,而且異常行為的檢測是以正常狀態作為評判標準的,合理的閾值選擇可以有效減少虛報和漏報的發生。檢測周期的時長間隔過長不僅會增加漏報率,而且也增加了系統被攻擊的可能性,時長間隔選擇的過小會占用過多系統處理資源。
如圖5 所示是異常檢測模型,模型的建立分為兩個部分,第一部分是標定模型建立,第二部分是檢測模型建立,在標定模型建立階段,首先對正常狀態CAN 總線報文數據進行采集,對報文數據進行處理,確定若干個檢測周期,在每個檢測周期下統計報文ID 類型與數量,計算在該檢測周期下報文信息熵值和閾值范圍。對不同檢測周期下的檢測結果進行效率評估,選擇最合理的檢測標定模型。異常行為的檢測過程如下:首先對需要進行檢測的數據報文進行采集,然后進行數據處理和信息熵計算,將計算的熵值與標準值對比,如果超過檢測閾值及時預警處理。

圖5 異常檢測模型