黃國鈞,郝允志,楊頌華,藍 天,梁新成
車載CAN總線的安全防護技術分析
黃國鈞1,郝允志1,楊頌華1,藍 天2,梁新成2
(1.西南大學 人工智能學院,重慶 400715;2.西南大學 工程技術學院,重慶 400715)
控制器局域網(CAN)絡總線因成本低、抗干擾性強及支持分布式串行通信等優點成為應用最廣泛的車載總線,相對應地CAN總線協議又因存在無認證、無加密及多個遠程連接端口等安全漏洞,成為黑客攻擊的主要焦點。文章首先回顧了近期汽車網絡安全事故,并列舉了主要的入侵類型,其中重放和丟棄為最常見的攻擊方式,然后分析了CAN總線脆弱的原因并給出了對應的解決策略,最后應用信息熵和相對熵進行了入侵檢測,并利用CANoe軟件進行仿真分析,結果表明該方法較為有效,考慮到消除網絡非法入侵的艱巨性,以及滿足安全性和實時性等更高要求,未來還需要在基于可變速率(CAN-FD)等新構架下進行更加深入地研究。
車載CAN總線;網絡安全;安全防護技術;相對熵;機器學習
近年來,電子設備廣泛應用于汽車領域,據統計一輛低端汽車上安裝了大約70個電子控制單元(Electronic Control Unit, ECU),而一輛豪華汽車上通常將使用上百個ECU和傳感器,預計未來這個數字還將持續增加。因此,汽車不再是由發動機、變速器等部件組成的簡單機械設備。
ECU通常有兩種連接方式,分別為點對點和總線連接,其中總線連接方式能夠避免因使用大量線束而增加車重,并克服維修困難的不足,已成為主流的連接方式[1]。目前應用在汽車上的總線主要有控制器局域網(Controller Area Network, CAN)、局域互聯網(Local Interconnect Network, LIN)、FlexRay、媒體導向系統傳輸(Media Oriented System Transport, MOST)、低壓差信號傳輸(Low Voltage Differential Signaling, LVDS)等。與其他總線相比,CAN總線在成本、開發周期、抗干擾性等方面具有優勢,因而目前應用最為廣泛[2]。因CAN總線最初為工業控制領域所設計,故只規定了模塊間的通信內容和格式,未考慮信息安全問題,此外,CAN總線上的數據以明文形式傳輸,缺乏身份驗證機制,任何接入CAN總線的設備都能隨意發送數據,極易被監聽和攻擊[3]。隨著汽車智能化程度的不斷提高,在提升駕駛體驗的同時面臨的安全風險也在顯著增加,尤其是智能汽車實現車與網的深度融合,為黑客攻擊提供了更多的路徑,近年來部分汽車網絡攻擊事件如表1所示。
表1 汽車的網絡攻擊事件
時間事件 2010年2013年偽造胎壓傳感器信號,干擾輪胎壓力監測系統通過OBD遠程破解Prius 2014年Benz汽車的門鎖被遠程破解 2015年遠程攻擊Jeep切諾基并強制關閉引擎 2016年遠程無接觸式破解Tesla 2016年破解Tesla車載中控,實現長距離遠程控制 2017年通過破解實現對Tesla的遠程任意操作 2018年通過遠程攻擊破解了BMW的控制權 2019年通過漏洞獲取汽車駕駛權,從而操縱車輛 2020年通過密鑰克隆中繼攻擊,Tesla被遠程開走 2022年破解Tesla的雙重認證,實現遠程操縱
注:車載診斷系統(On Board Diagnostic,)。
網絡攻擊使得汽車企業不得不進行數百萬輛汽車產品的召回,對消費者人身及財產安全也造成巨大的潛在威脅,因此,預防和消除汽車網絡的非法入侵迫在眉睫。國外大規模的汽車網絡安全研究始于2006年,國內相關的研究始于2014年,STEPHANIE[4]提出了一類車輛控制系統漏洞評價方法,并給出了評價標準;NISHIMURA[5]提出了一種基于CAN總線的模糊測試方法,并對信息傳輸的三種情況進行了測試,在此基礎上演繹出一種基于智能互聯汽車的模型,并給出了一些解決安全隱患的方法。CRAIG[6]提出了一種針對CAN總線攻擊和防御的檢測技術;章意等[7]提出一種基于板端加密通訊(Security Onboard Comm- unication,)的車載網絡安全模型,實現ECU及網絡消息的加密和認證,測試表明其可使網絡更加安全和高效;羅峰等[8]建立了基于可變速率控制器局域網(Controller Area Network with Flexible Data-rate, CAN-FD)的信息安全方法,通過完善協議提升了總線的安全性和可用性;王棟等[9]提出了一種基于變量公鑰密碼的消息加密傳輸及認證協議,能夠在網絡繁忙時提升處理效率。此外,還有一些關于車輛網絡安全的研究成果[10-11],其對解決車載網絡安全至關重要。
上述研究成果對于抵御車載網絡的非法入侵具有重要意義,但考慮到相關控制器的計算能力和存儲資源限制,以及車輛對實時性和安全性有更高得要求,相關研究還應該更加深入。
在20世紀80年代初期,德國Bosch的工程師評估已有的串行總線系統,以探討其在汽車中的可能用途。由于沒有可用的網絡協議能夠滿足汽車工程師的要求,工程師Uwe Kiencke于1983年開始開發新的串行總線系統。1986年2月,在底特律的汽車工程師學會(Society of Automotive Engineers, SAE)的大會上,將新CAN總線系統稱為汽車串行控制器局域網(Automotive Serial Controller Area Netork, ASCAN)。在1987年,英特爾交付了第一款CAN控制器芯片82526,標志著CAN協議首次通過硬件得以實現。此后,11位標識符的CAN2.0A和29位標識符的CAN2.0B相繼推出。為了進一步提高總線比特率,Bosch在2012年發布了CAN-FD1.0,該規范使用不同的幀格式,允許不同的數據長度以及在仲裁決定后可選地切換至更快得比特率。CAN-FD與現有的CAN2.0網絡兼容,故CAN-FD設備可以與現有的CAN 設備共存于同一網絡中。2018年第三代基于CAN 的數據鏈路層協議(Controller Area Network eXtra Long, CANXL)正在開發中,其目的是將CAN的帶寬速率提升至10 Mbit/s。
車載ECU通過直接或間接的方式接入CAN總線,當某一個ECU接口被黑客控制后,則可向車內總線讀寫數據包并對別的ECU展開持續攻擊。常見的攻擊方法如下:
1)重放:黑客獲取的信息會被不斷回放攻擊總線,同時控制器可能會授予更高級的權限,導致更大的安全風險。
2)丟棄:如果黑客入侵總線,應用層與底層設備之間的通信,將無法實現接收或發送數據的功能。
3)監控:這是最常見的攻擊模式,黑客入侵CAN總線后大量的信息被捕獲和分析,如果用戶密碼和位置等有價值的消息被泄露,總線可能會遭受更嚴重的攻擊。
4)篡改:當黑客入侵總線時,可以在發送之前修改消息,從而干擾控制器。
5)注入:當黑客獲得發送消息的權限時,可以將大量偽造的消息注入CAN總線中,其危險度的大小由對公共汽車的許可和了解程度決定。
6)拒絕服務:如果具有最高優先級的消息在總線中傳輸,那么其他沒有優先級的數據包就不能被傳輸。高優先級消息一直發送將干擾總線工作,甚至會造成總線的崩潰。
CAN總線設計初衷是應用于閉環的工業控制領域,而OBD-II、光盤(Compact Disc, CD)、通用串行總線(Universal Serial Bus, USB)等接口使得CAN總線成為一個開放的網絡,因而存在脆弱性,其主要表現在以下幾個方面:
1.無加密信道
CAN沒有固有的加密方法,故以明文的形式傳播。黑客可以非常容易地對CAN總線進行偽造、重放等攻擊。由于CAN控制器的計算能力有限,復雜的加密算法會造成總線實時性變差甚至會產生網絡堵塞,故加密算法的應用還將面臨挑戰。
2.缺乏消息認證
CAN協議中沒有源頭的標識符等相關信息,其任何節點都可以發送報文,且接收方無法識別是否為真實節點所發。此外,CAN總線的報文沒有消息驗證碼和數字簽名,攻擊者會非常容易地偽造節點發起攻擊。
3.基于ID優先級傳輸
CAN總線傳輸多個報文時,僅通過ID仲裁是否優先傳輸,標識符越小,則優先級別越高。網絡入侵時,僅通過修改標識符實現拒絕服務(Denial Of Service, DOS)攻擊,導致低優先級的消息無法傳輸。
4.廣播通信
報文將以廣播的形式發送到總線上,由于報文內容不包括源地址和目的地址,故任意節點都可以接收。廣播通信方便了黑客偽造節點發送非法信息,因此,帶來了較大的風險。
5.多個外接端口
CAN總線中的OBD-II、USB、無線網絡(WIreless FIdelity, WIFI)及CD等接口已經成為標配,用以診斷車輛狀態和刷新車輛的相關程序,但是接口也方便黑客監聽CAN通信信息,偽造報文并發送到總線。
盡管網絡攻擊的方式不盡相同,但是大致的汽車網絡攻擊流程如圖1所示[12]。

圖1 汽車網絡攻擊流程
鑒于CAN總線的入侵會導致嚴重的后果,因而有效預防就非常重要,綜合現有的研究成果,CAN總線威脅的消除主要有網絡異常檢測、消息認證和數據加密等策略。
網絡異常檢測假定入侵者的活動與正常情況下主體的活動存在一定程度的差異,且在正常工作模式下主體工作情況相對穩定。基于該種穩定狀況去學習掌握被保護主體正常的工作模式,從而實現當存在入侵者進行活動時可以檢測出系統存在異常的功能[13]。基于此假設,為實現異常檢測首先需要建立起主體在正常工作模式下的行為系統,并經過長時間的統計、學習,進而訓練出一個或多個用于評價系統的指標,以用于判斷系統處于正常工作的狀態還是存在入侵的情況。
2.1.1基于統計的異常檢測方案
一般選取一個車載網絡的流量特征,如:總線信息熵、消息時間間隔、消息的出現順序等,再通過觀察、訓練正常網絡流量模型,最終確定模型的參數。建成模型之后,使用檢測模型對網絡流量進行實時監控,通過模型提取出其流量特征并判斷,如果當前網絡流量特征超出閾值,模型就會給出異常警報。該方案的優點是不需要對攻擊行為有先驗知識,但其只能處理一些比較簡單的異常行為,如:泛洪攻擊、重放攻擊以及丟棄攻擊等。同時,其對高維數據檢測效果和正常時序進行的攻擊行為檢測效果欠佳。
2.1.2基于機器學習的異常檢測方案
該方法通過機器學習對歷史信息建立一個映射關系,利用循環神經網絡(Recurrent Neural Network, RNN)、長短期記憶(Long Short-Term Memory, LSTM)等預測模型得到下一個狀態的信息,如果預測狀態和真實狀態存在較大差異則斷定發生了異常。該方法可以對大部分異常行為進行檢測,尤其當數據特征不易提取時,計算機運用該模型可以自己尋找分類特征。該方案適用于對CAN數據域的篡改類攻擊,其缺點是模型訓練比較耗時。
2.1.3引入新硬件的異常檢測方案
此類方案一般給車內網絡引入新的設備,由新硬件執行車載網絡的異常檢測,如引入一組異常檢測傳感器來檢測總線異常幀,包括位置檢測傳感器、頻率檢測傳感器及格式檢測傳感器等,最后綜合傳感器的檢測結果判斷是否有異常發生。
消息認證是指通過對消息或者消息有關的信息進行加密或簽名變換進行的認證,其目的是防止傳輸和存儲的消息被有意無意地篡改,包括消息內容的完整性認證、消息源和消息宿認證、消息序號和操作時間認證等。中央網關連接著整個車載網絡,實現不同網絡之間的協議轉換,因此,其能夠實現對整個車載網絡的監控。為實現對車載ECU的身份認證,在汽車開機自檢時,中央網關必須通過與ECU進行會話,從而實現對ECU的身份認證。消息認證主要是防止消息被篡改,從而確保消息的完整性和準確性。
消息加密就是通過密碼算術對數據進行轉化,使之成為沒有正確密鑰,且任何人都無法讀懂的密文。在汽車的生命周期當中,若車載ECU的通信密鑰固定不變,網絡攻擊者可以通過分析大量的加密數據,從而破譯出車載ECU的通信密鑰。而采用非固定式加密算法為車載ECU的通信傳輸對稱加密所需的通信密鑰,能有效抵抗暴力破解和分析。
實際上,應用單一的策略防范網絡入侵較為困難,而通過多種策略構建自適應的安全機制將更為有效。盡管多策略的防范功能更強大,但同時會引發安全防護策略的高資源消耗與汽車組件高實時響應需求之間的矛盾,以及加密算法的高安全加密強度和低算法運行時間之間的矛盾。因此,已有算法還需要進一步地減少資源消耗并提高算法的智能性。
考慮到CAN數據幀中ID消息標識符和數據域信息是網絡攻擊的焦點,將基于ID標識符和數據域作為檢測特征。汽車消息可分為時間觸發類和事件觸發類,針對這兩種類型的消息特點,分別選取檢測策略以保證CAN網絡信息安全。對于時間觸發類消息而言,發送周期固定其通信熵值也固定,工況的改變會導致該周期產生微小變化。重放、拒絕服務、丟棄等攻擊將明顯改變時間觸發類消息的周期及發送順序,導致其通信熵值出現較大波動。而事件觸發類消息的數據域攜帶重要的控制信息或狀態信息,只有當汽車出現某種狀況才會觸發該類消息。基于支持向量機-數據關聯性(Support Vector Machine-Data Relation, SVM- DR)等策略可以有效檢測入侵的該類報文[13-14]。本文重點對周期性報文的攻擊展開研究,其結論對于后一類報文具有參考意義。
信息學領域中,熵是用來衡量一個系統的不確定性,一個系統越是有序,其不確定性越小,信息熵就越低;反之信息熵就越高。因此,信息熵是對狀態不可預測性的一種度量,也是信息的期望值。隨機變量的信息熵可定義為

式中,(X)為信息出現X的概率;取2或其他值,當=2時信息熵的單位為bit。此外,相對熵能夠有針對性地計算CAN網絡通信變量在某些狀態下發生的情況,其計算公式為

基于熵的檢測方案分為模型訓練和異常檢測兩個過程,模型訓練階段是對CAN網絡正常發送數據情況進行分析,標定出信息熵和相對熵的合理閾值;異常檢測階段是通過制造異常報文并導入模型中進行計算得出檢測結果,然后通過分析檢測結果找出異常的發生原因,結合數據驗證判斷其正確性。
本次仿真的環境為Windows11操作系統和CANoe8.2demo。通過CANoe軟件搭建ECU模塊進行報文發送并制造異常報文數據流,然后應用Python3.9.0軟件編寫算法進行閾值標定和異常檢測,分析此方案重放、丟棄等攻擊的入侵檢測能力。在CANoe中的Simulation Setup界面完成CAN總線建模,如圖2所示。

圖2 CAN總線建模

在建立ID熵入侵檢測模型的過程中,必須確定檢測窗口大小和ID熵閾值。為避免CAN總線傳輸速率和非周期報文對于滑動窗口內熵值的計算的影響,本文采用固定報文數量的滑動窗口。當滑動窗口內的報文數量到達預先設定值時,檢測模型會計算滑動窗口內的相對熵值并判斷是否有異常發生,同時,滑動窗口向后滑動并開啟下一輪的檢測。此外,檢測窗口大小要適中,太大則實時性欠佳,太小則波動比較大,閾值難以確定。先后設置窗口大小為200、400、600及800個報文,比較網絡ID熵值的波動情況,最終確定窗口的報文數為600個,信息熵閾值和相對熵閾值(ID=0x101與0x105),具體如表2、圖3所示。
表2 不同窗口寬度及相關閾值比較
報文數/個信息熵閾值相對熵閾值 2002.279 8~2.284 80.205 9~0.232 3 4002.279 9~2.282 40.212 9~0.226 1 6002.279 9~2.281 60.219 3~0.228 2 8002.279 9~2.281 20.219 5~0.226 1

圖3 窗口大小為600時的熵值波動
在報文發送一段時間后,重放一段ID為0x 101的報文。由于報文ID越小其優先級越高,當重放ID=0x101報文時,其余四種報文則被0x101報文覆蓋,會出現一段只有0x101的報文流。再模擬ID=0x104的報文重放情況,運行一段時間后重放ID=0x104的報文,由于其優先級僅高于0x105而低于其他三種報文,因此,會出現一段0x105報文被0x104報文覆蓋的報文流。利用熵的計算公式可得不同窗口序列的仿真值,具體如圖4所示。從圖4中不難看出發生異常的是第11次和第27次報文,再對結果進行整理,如表3所示。

圖4 重放攻擊時的信息熵和相對熵
表3 重放攻擊的檢測結果
窗口序列攻擊方式信息熵相對熵 11重放0x101大幅下降大幅上升 27重放0x104輕微下降輕微上升
在導出的csv文件中的異常報文片段中統計各種報文出現的次數,如圖5所示。從圖5(a)中不難發現11窗口中報文ID=0x101的報文數量遠高于0x102、0x103、0x104的報文數量,而它們理論上的出現頻率應該相近;由圖5(b)可知,27窗口中報文0x104的數量略高于理論上相同頻率的0x101、0x102、0x103,且報文0x105的數量為322個,其未到達其余報文數量的1/2。因此,可斷定窗口序列10~15的異常是由于報文0x101的重放;窗口序列25~30的異常則是由報文0x104的重放導致,因為0x104僅優先于0x105,所以導致了0x105的數量減少和0x104數量增加。

圖5 重放的統計分析
丟棄攻擊的模擬是在某段時間內,刪除掉某類ID報文,造成總線數據流中無該類報文的記錄。此類攻擊首先會導致丟棄報文攜帶的信息無法傳達,其次也會影響總線信息熵值。在仿真中先模擬丟棄標識符為0x101的報文,運行一段時間后再丟棄0x105報文,其對熵值的影響如圖6和表4所示。

圖6 丟棄攻擊時的信息熵和相對熵
表4 丟棄攻擊的檢測結果
窗口序列攻擊方式信息熵相對熵 16丟棄0x101增大降低 27丟棄0x105降低增大
導出的csv文件在異常報文片段中統計各種報文出現的次數如圖7所示,其中圖7(a)顯示該段窗口下,報文0x101的數量下降,明顯少于理論上與其頻率相同的報文0x102、0x103和0x104,并且比報文0x105的兩倍數量少,即報文0x101被丟棄。圖7(b)中顯示報文0x105的數量下降,且少于報文0x101數量的一半,即報文0x105被丟棄。
通過上述研究理論分析與實際計算結果對比可知,無論是兩次重放攻擊還是兩次丟棄攻擊均被檢測到。因此,基于ID熵值入侵檢測模型可以對重放、丟棄等網絡攻擊進行檢測,同時可以對異常ID進行定位。

圖7 丟棄的統計分析
CAN總線作為汽車智能化和網聯化的重要部件,由于其固有的脆弱性使汽車網絡面臨黑客入侵的嚴峻風險,增加檢測及加密算法的復雜性會引發防護策略的高資源消耗和汽車高實時響應的矛盾,進而可能造成成本攀升。基于ID熵和數據域方法可以對重放和丟棄的攻擊進行有效防御,但隨著黑客攻擊手段的日益增強,在未來應在CAN-FD等架構下結合機器學習等人工智能方法,應重點解決算法的智能性,從而更加有效地應對各種網絡威脅。
[1] WANG H,HUANG G,LIANG X.Research on the Info- rmation Safety of CAN Bus for Vehicle[C]//Interna- tional Conference on Intelligent Automation and Soft Computing.Chicago:USA,2021.
[2] 吳武飛,李仁發,曾剛,等.智能網聯車網絡安全研究綜述[J].通信學報,2020,41(6):161-174.
[3] 賈先鋒,王鵬程,劉天宇.基于智能網聯汽車車載網絡防護技術的研究[J].汽車實用技術,2022,47(1):32- 35.
[4] STEPHANIE B,THOMAS E,OKA KENGO D,et al.Security Crash Test-practical Security Evaluations of Automotive Onboard IT Components[C].Automo- tive Safety & Security 2015.Stuttgart:Germany,2015.
[5] NISHIMURA R,KURACHI R,ITO K,et al.Implemen- tation of the CAN-FD Protocol in the Fuzzing Tool be STORM[C].IEEE International Conference on Vehicle Electronics and Safety.Piscataway:IEEE,2016:1-6.
[6] CRAIG S.Car Hacker's Handbook[M].San Francisco: No Starch Press,2016.
[7] 章意,李飛,張森葳.基于SecOC的車載網絡通信安全模型研究[J].計算機應用研究,2022,39(8):2474-2478.
[8] 羅峰,胡強,劉宇.基于CAN-FD總線的車載網絡安全通信[J].同濟大學學報(自然科學版),2019,47(3):386- 391.
[9] 王棟,岳澤輪.基于多變量密碼的車載網絡安全數據 傳輸協議[J].指揮與控制學報,2019,5(2):128-134.
[10] 何意,劉興偉,馬宏亮.車聯網擬態防御系統研究[J].信息安全研究,2020,6(3):244-251.
[11] 路鵬飛,鄒博松,李京泰.基于CRITIC法和熵值法的智能網聯汽車信息安全綜合評價方法研究[J].網絡空間安全,2020,11(10):98-103.
[12] 鄒博松,朱科屹,王卉捷.智能網聯汽車信息安全測試及分析[J].智能網聯汽車,2020(6):56-58.
[13] 趙振堂.車載網絡異常檢測技術研究[D].天津:天津理工大學,2018.
[14] 羅峰,胡強,候碩,等.基于支持向量機的CAN-FD網絡異常檢測[J].同濟大學學報(自然科學版),2020,48 (12):1790-1796.
[15] 彭海德.汽車CAN網絡的入侵檢測方法研究[D].大連:大連理工大學,2021.
Analysis of the Safety Protection Technology of Vehicle CAN Bus
HUANG Guojun1, HAO Yunzhi1, YANG Songhua1, LAN Tian2, LIANG Xincheng2
( 1.College of Artificial Intelligence, Southwest University, Chongqing 400715,China;2.College of Engineering and Technology, Southwest University, Chongqing 400715, China )
It is well known that controller area network(CAN) is the most widely used bus, whose advantages are low cost, strong anti-interference and supporting distributed serial communication. Unfortunately, the ineradicable security flaws have been investigated such as no authentication, no encryption and multiple remote connection ports, and thus it is the main target of hacker attack. In this paper, the recent automobile network security accidents may be reviewed at first, and relevant intrusion types are listed, in which the replay and discard are the most common attack methods.Then, the causes of CAN bus vulnerability will be analyzed, and the corresponding solutions are offered simultaneously.Finally,the information entropy and relative entropy are applied to detect the illegal intrusion, and the results have been simulated by CANoe software, showing the outstanding validity. In fact, eliminating illegal network intrusion is so tough that further research is needed under controller area network with flexible data-rate(CAN-FD) new frameworks to satisfy higher requirement such as security and real-time performance in future.
Vehicle CAN bus; Cybersecurity; Safety protection technology; Relative entropy; Machine learning
U495
A
1671-7988(2023)11-41-08
黃國鈞(1983-),男,博士,副教授,研究方向為智能制造裝備、動力系統控制、新能源與智能汽車、替代能源控制技術等,E-mail:huangguojun@swu.edu.cn。
國家重點研發計劃(2021YFB3101500)。
10.16638/j.cnki.1671-7988.2023.011.008