張政
摘 要:隨著汽車智能化、網聯化的發展,汽車對外接口越來越多,遭受攻擊的可能性也越來越大。攻擊者可通過外部訪問接口滲透到車載CAN總線網絡,對車載CAN總線網絡發送惡意的攻擊報文,干預汽車工況。本文介紹了CAN總線的特點,分析了CAN總線自身存在的安全威脅,以及CAN總線可能遭受的攻擊方式。為應對網絡安全問題,各主機廠對車輛CAN總線的網絡安全策略逐步升級,通過實現安全解鎖、安全刷新、安全診斷、網關隔離保護、增加MAC機制等方法增強車輛CAN總線的安全性,降低了車輛遭受攻擊的可能性。
關鍵詞:CAN總線;網絡安全;MAC機制
1 引言
隨著智能網聯汽車的逐步發展,智能網聯汽車已經逐漸進入人們視野。從網聯汽車對外接口來看,攻擊接口可以分為三類:①物理訪問接口,如診斷口OBD-II、車內USB接口、電動汽車的充電端口等;②短距離無線訪問接口,如藍牙、WiFi、無鑰匙進入系統、胎壓系統、車載雷達等;③長距離無線訪問接口,如無線電廣播、GPS、OnStar、移動3G/4G網絡等。攻擊者可以通過以上接口對車輛進行攻擊,嚴重威脅駕駛者的人身和財產安全,車輛網絡信息安全問題日益突出。
2 CAN總線網絡安全問題
CAN (Controller Area Network) 總線是目前各主機廠使用最廣泛的車載總線網絡技術,由于汽車網絡信息安全問題的凸顯,因此,解決車載CAN總線網絡的信息安全問題尤其至關重要。
2.1 CAN總線特點
車載CAN總線網絡技術上每一條 CAN報文都有自己的CAN ID標識符,CAN ID 的主要功能是報文識別和優先級確定。CAN 總線主要特性如下:
①多主節點控制。總線上所有的節點都可以作為主節點來發送報文,各節點平等,任何時刻都可以主動發送。
②基于優先級的總線仲裁制。多個單元同時開始發送時,優先級較高的ID獲得發送權,采取逐位仲裁比較的方式,判斷哪一個消息報文優先發送。
③廣播式發送報文。報文可以被所有節點同時接收,各節點依據具體情況有選擇地接收或者響應報文信息,從而控制汽車執行相關操作。
④節點單元總數沒有限制。在CAN網絡中,接入總線的節點數理論上沒有限制,可同時接入較多節點,但是隨著節點數的增加,總線的通信速率會降低。
2.2 CAN總線安全威脅
基于以上CAN總線的性能特點,結合目前車載CAN總線網絡安全威脅研究,主要可歸納為以下幾點:
①缺乏總線保護。CAN總線是廣播特性的,網絡上的惡意節點可以窺探所有發送在網絡上的信息或數據包,并且沒有任何消息認證碼 (MAC,Message Authentication Code)保護。
②易受拒絕服務攻擊。在基于優先級的仲裁模式下,拒絕服務攻擊(Dos, Denial of service attack)是由于總線仲裁機制導致的,攻擊者可使用最高優先級發送數據,從而導致其他ECU無法使用CAN總線。
③消息泄露。可通過車載診斷口(如OBD-II)獲取車輛的CAN總線信息,從而導致消息泄露。
針對上述車載CAN總線安全威脅,攻擊者可以通過丟棄、欺騙、重放、修改、洪泛等攻擊方式對車輛進行攻擊,從而影響車輛使用安全。
3 網絡安全策略
面對日益嚴峻的車輛網絡安全問題,各主機廠的網絡安全策略也在逐漸升級,目前為止,網絡安全策略主要經歷了三個階段。
3.1 第一階段:安全訪問
在對各ECU進行診斷時,需要先通過安全訪問驗證(Service ID為0x27),使用的是2個字節的Seed & Key。當進行安全訪問時,設備對ECU發送Seed請求,ECU會將Seed反饋回給設備并根據ECU內部既有算法生成Key,而收到Seed的設備也會根據匹配的算法生成一個Key,并將Key值發送給ECU,ECU會比對兩個Key值,若兩個Key相同,則安全訪問驗證通過,反之則不通過。只有通過安全訪問驗證后才能進行修改車輛信息和控制電器功能的操作。
該方法的驗證是基于本地算法的靜態驗證,ECU的Seed & Key值都是2個字節的,而且每個ECU的Seed & Key值都是固定值,字節數太短,算法簡單,屬于較基礎的安全驗證。
3.2 第二階段:初級網絡安全
初級網絡安全相比于之前的安全訪問有很大的提升,從模塊設計初始時就開始強化,主要體現以下方面:ECU支持安全解鎖(SU)、安全刷新(SP)、安全診斷(SD),整車架構上增加了中央網關模塊(CGM)。
安全解鎖(SU, Security Unlock):類似于之前的安全訪問,但是各ECU的Seed & Key值是5字節的。設備根據ECU反饋的Seed值按照一定的算法計算出Key值,并與ECU內部生成的Key值對比,若兩個Key值相同,則表明安全解鎖成功。該方法也是基于本地算法的靜態解鎖,字節數較長,解鎖較困難。
安全刷新(SP, Security Program):使用數字簽名驗證來確認刷新環節的真實性與完整性,每個標定都需提前進行數字簽名,若沒有數字簽名或簽名驗證不通過則無法刷新成功。
安全診斷(SD,Security Diagnostic):對診斷服務進行安全合理的升級,發送某些診斷命令時需要在特定環境下才能進行。如0x28診斷服務,車輛行駛中是無法禁止ECU發送應用報文的,否則會影響車輛安全行駛。
架構上增加中央網關模塊(CGM, Central Gateway Module):CGM主要用于對數據的打包,管理,篩選等,為娛樂信息系統與安全的關鍵組件之間提供了物理的防火墻,可以降低從娛樂信息系統入侵的可能性。
3.3 第三階段:增強型網絡安全
增強型網絡安全的主要目的是防止未經授權解鎖ECU進行重新刷新或安全診斷;防止車輛通信總線上有未經授權的消息;防止安全敏感信息在車載通信總線不真實的溝通。增強型網絡安全相比于初級網絡安全,對安全解鎖方式、中央網關模塊策略做了升級,同時還增加了消息認證碼(MAC)機制。
安全解鎖升級:從之前5字節的Seed & Key靜態解鎖方式升級到32字節的動態解鎖方式,以前每個ECU的Seed & Key值都是靜態的固定值,升級后每次解鎖ECU的Seed & Key值都是動態變化的不同值。5字節的解鎖算法是集成在刷新工具里的,而32字節的解鎖算法是存放在獨立的服務器里,每次解鎖都需要訪問服務器獲取Key值,而且服務器設置了多重權限,僅對少部分授權人員開放,從安全解鎖方面極大地提升了車載總線的網絡安全。
中央網關模塊策略升級:之前的網關僅隔離了部分總線(如娛樂系統),而且從實車診斷口是可以讀到總線的應用報文信息的。升級后,車輛所有總線都被網關隔離保護,實車診斷口無法讀到任何總線的應用報文,僅能夠對車輛進行診斷,有效地防止消息泄露。
增加了消息認證碼(MAC)機制:消息認證碼是在ECU刷新時注入的,消息認證碼在每條總線應用報文的開頭,各ECU之間只有消息認證碼正確的總線應用報文才能夠被識別,否則報文將是無效地存在。例如,儀表顯示檔位信號時需要獲取變速箱控制單元的檔位信號,如果檔位信號正常但消息認證碼不正確,儀表控制單元則不會接受該信號,從而無法顯示檔位。此外,在MAC和報文真實內容之間還加了防重放計數器以防止車輛受到重放的攻擊。MAC機制能夠有效地確保總線報文的身份真實性、消息正確性以及數據新鮮性。
4 結束語
本文描述了當前道路車輛所面臨的網絡安全問題,并分析了通過實現車輛安全解鎖、安全刷新、安全診斷、網關隔離保護、增加MAC機制等方法加強車輛CAN總線的網絡信息安全。當前,車聯網的網絡信息安全問題已經受到廣泛關注,并已成為智能網聯技術的關鍵點。只有車聯網的安全性和可靠性得到全面地提升,才能夠使得車聯網技術實現大規模的應用。汽車行業應該主動地去與互聯網公司、網絡安全公司進行深度地合作,使得車聯網汽車能夠更安全、更智能的發展。
參考文獻:
[1]郝成龍,郝鐵亮,等.車聯網安全問題分析[J].汽車實用技術,2017(20).
[2]于赫,秦貴和,等.車載CAN總線網絡安全問題及異常檢測方法[J]. 吉林大學學報, 2016(4).
[3]劉毅,秦貴和,等.車載控制器局域網絡安全協議[J].西安交通大學學報,2018(5).