劉少勛,張 震,2,張金鋒,程章龍,張躍中
(1.網絡通信與安全紫金山實驗室,江蘇 南京 211111;2.國家數字交換系統工程技術研究中心,河南 鄭州 450002)
近年來,隨著人工智能、大數據和汽車電子等技術的快速發展,具有智能化和網聯化特征的智能網聯汽車成為汽車產業新形態。智能網聯汽車通過搭載先進的車載傳感器與智能控制系統,實現了車與車、路、云、人之間的信息交互與共享,為人們的交通出行帶來了極大便利。但同時智能網聯汽車對外通信接口的增加和系統復雜化使車載網絡更容易受到網絡攻擊,針對車載網絡的攻擊事件也不斷被爆出[1-2]。這不僅會造成個人隱私泄露問題,也會引發社會公共安全問題。
智能網聯汽車CAN 網絡是智能網聯汽車應用最廣泛的車載通信網絡,由于CAN 在初始設計時缺乏信息安全機制,使得作為車載網絡重要媒介的CAN 極易受到嗅探、偽造、修改和重放等攻擊[3-4]。如何通過關鍵影響因素分析,使得在有限車載資源下準確快速地檢測出CAN 網絡異常狀態,成為當前汽車產業重點關注的問題。
目前,對于智能網聯汽車CAN 網絡異常檢測,學術界已開展了不少研究工作。其中,基于信息統計分析的異常檢測方法[5-7]充分利用了CAN 網絡實時傳輸大量消息的數據資源,通過統計分析消息傳輸信息熵[8-9]等方式,實現對CAN網絡狀態的高效檢測。現有基于信息統計分析的主要檢測方法的研究如下:Muter 等人[8]首次將信息熵的概念用于車載網絡的入侵檢測,提出了基于CAN 報文標識ID 信息熵的異常檢測方法,通過計算設定時間內CAN 報文ID 信息熵來獲取正常信息熵閾值,并將實時采集計算得到的CAN 報文ID 信息熵與該信息熵閾值比對;在此基礎上,Virmani 等人[9]提出了一種基于信息熵偏差的CAN 網絡入侵分析的算法;Zhao 等人[10]提出了一種針對DDoS 攻擊的CAN 網絡流量熵方法。此外,于赫等人[11]采用單位時間窗口內報文信息熵的波動來檢測泛洪攻擊和報文重放攻擊;Wu 等人[12]采用固定消息數量窗口來計算CAN 報文ID 信息熵的分析方法。這些研究方法采用多種方式計算CAN 報文信息熵,能夠有效檢測出CAN 報文網絡異常。然而,這些研究缺乏對CAN 報文信息熵異常檢測影響因素的深入分析,難以為考慮檢測準確性、時效性等目標的CAN 網絡異常檢測優化研究提供更有效的支撐。
針對上述方法存在的不足,本文研究分析了基于信息熵的CAN 網絡異常檢測關鍵因素影響。首先給出了CAN 報文信息熵概念內涵及計算方式;在此基礎上,建立了CAN 網絡異常檢測的準確度和時效性量化指標,然后通過大量實驗和數據統計,分析了窗口大小、滑動尺度和靈敏度三項關鍵因素的變化對CAN 報文信息熵、檢測準確度和響應及時性的影響。
為了能夠量化表征關鍵因素對CAN 報文信息熵異常檢測的精確度和響應及時性的影響,本節首先闡述了CAN 報文信息熵定義,以及窗口大小、滑動尺度和靈敏度三項關鍵因素;然后給出了異常檢測準確性、響應及時性兩個指標的計算方法。
(1)CAN 報文信息熵
CAN 報文數據幀結構包括ID、數據區和校驗等部分,各部分占用字節情況如圖1 所示。其中,ID 用于表明發送數據的類型標識和優先級,ID 越小則該報文傳輸優先級越高。提取出CAN 報文中的ID,并對一定時間內或一定數量的ID信息進行統計分析,能夠反映CAN 網絡傳輸報文消息的運行狀態。本文通過統計一定報文數量窗口內的不同ID 類型分布概率來計算CAN 報文信息熵,公式如下:

圖1 CAN 報文數據結構
式中:H(IDS)為采集窗口內所有報文標識ID 集IDS 的信息熵;numkid為采集窗口內第k種ID 報文出現的次數;ekid為采集窗口內第k種ID 報文的信息熵;n為采集窗口內出現的不同ID 報文數量。
(2)正常信息熵閾值
為了準確度量CAN 報文信息熵,通過計算大量窗口的CAN 報文信息熵均值和方差,建立CAN 報文正常的信息熵閾值區間。在設定采集窗口大小sizewin和滑動尺度slidewin基礎上,計算大量采集窗口信息熵H(IDS)的平均值μ和標準差s,設定信息熵閾值區間如下:
將[μ-η×s,μ+η×s]作為判斷CAN 網絡是否處于攻擊狀態的信息熵閾值區間,η為標準差s的靈敏度。當采集窗口的信息熵不超出閾值區間,則認為CAN 報文傳輸異常。
(3)檢測準確度
已有CAN 網絡信息熵異常檢測通常采用檢測過程中正確預測出的消息窗口數量與窗口總量的比例來評估檢測的準確度,沒有考慮因滑動尺度設置過大導致部分攻擊信息跳過檢測的情況。在窗口滑動過程中,被攻擊報文恰處于相鄰兩個檢測窗口中的不檢測區域,成功逃避了檢測,如圖2所示。

圖2 CAN 報文逃避檢測示意圖
為了全面準確評估檢測精度,本文綜合考慮了檢測過程中的檢測正確率和未被列入檢測窗口的正常消息比例來度量基于信息熵檢測CAN 報文的準確度。
式中:sum 為整個檢測過程中窗口滑動的總次數;α1、α2為權重系數,且滿足α1+α2=1;當窗口滑過的CAN 報文集合Ij中存在攻擊消息時,f(Ij)為0,否則為1;滑動尺度slidewin表示未檢測的CAN 報文集合Ij大小,即slidewin=||Ij||。
(4)檢測響應及時性
檢測響應及時性反映了網絡異常檢測的反應速度和活躍程度。由于CAN 報文傳輸的時間周期具有不確定性,本文采用更具穩定特征的滑動尺度與滑動窗口大小的比值來評估CAN 報文異常檢測的及時性,并忽略檢測算法的執行時延,建立如下計算模型:
本文使用韓國高麗大學HCR 實驗室的CAN 報文數據庫,并從數據庫中采集了汽車在正常行駛狀態下的30 000條數據集,報文ID 范圍為0X001 ~0X7ff。該數據集能夠反映現實生活中車載網絡通信數據的基本特征,見表1 所列。同時,模擬了DoS 和注入兩種攻擊場景下的數據集。在模擬DoS攻擊中,將優先級最高的CAN 報文(ID=0x000)塊插入到正常數據集中來生成DoS 攻擊數據集。在注入攻擊模擬中,采用了重放攻擊,將合法CAN 報文中的消息塊復制到正常的車輛數據集。

表1 CAN 報文實驗數據集
利用上述CAN 報文實驗數據集,本文首先分析了窗口大小、滑動尺度和靈敏度對CAN 報文信息熵和檢測準確度的影響。
在設定窗口滑動尺度為5、信息熵閾值區間靈敏度為1.2的前提下,設置采集窗口大小初始值為37,并按照間隔為5遞增至177,計算不同窗口大小下的正常信息熵閾值區間,結果如圖3 所示。圖中顯示,CAN 報文采集窗口越大,信息熵閾值區間越小并趨于穩定。

圖3 不同采集窗口大小下的CAN 報文信息熵變化趨勢
(1)采集窗口大小對信息熵和準確度的影響
在上述參數同等設置條件下,隨著采集窗口的逐步增大,CAN 報文信息熵異常檢測準確度從0.933 逐步提升至1,如圖4 所示。圖中變化趨勢顯示,檢測準確度在遞增過程中出現波動,這種波動現象主要是由于CAN 報文傳輸沖突等不確定性因素產生。

圖4 不同采樣窗口大小下的檢測準確度變化情況
(2)窗口滑動尺度對信息熵計算和檢測準確度的影響
在設定窗口大小為37、信息熵閾值區間靈敏度為1.2 的前提下,設置CAN 報文采樣窗口的滑動尺度初始大小為5,并按照間隔為4 遞增至121,計算不同窗口滑動尺度下的正常信息熵閾值區間。當滑動尺度小于窗口大小時,采集窗口的滑動尺度變化對信息熵閾值區間影響不大;當取值大于采集窗口時,對信息熵閾值區間的計算產生了波動,如圖5所示。

圖5 不同滑動尺度下的CAN 報文信息熵變化情況
在同等參數設置條件下,隨著窗口滑動尺度的逐步增大,入侵檢測準確度發生了較大波動,如圖6 所示;同時,隨著滑動尺度的增加,檢測周期會明顯變長,即檢測的及時性逐步下降,如圖7 所示。

圖6 不同滑動尺度下的檢測準確度變化情況

圖7 不同滑動尺度下的檢測響應及時性變化情況
(3)信息熵閾值區間靈敏度對準確度的影響
在設定窗口大小為37、窗口滑動尺度為5 的前提下,設置靈敏度η初始大小為0.5,并按照間隔為0.1 遞增至2.9,計算不同信息熵閾值區間靈敏度下的檢測準確度。計算結果顯示,當信息熵閾值區間靈敏度增加時,檢測準確度逐步變大,如圖8 所示。

圖8 不同靈敏度下的檢測準確度變化趨勢
從上述實驗結果可以看出:
(1)采集窗口越大,信息熵越穩定,這對提高檢測準確度有促進作用。
(2)窗口滑動尺度對信息熵計算影響不大,但過小的滑動尺度會導致無網絡攻擊情況下非必要的頻繁檢測計算;而當滑動尺度變大時,能夠節約車載網絡計算與存儲資源,但會降低檢測響應及時性。
(3)信息熵閾值區間靈敏度越大,檢測準確度就越大。
CAN 網絡安全問題是智能網聯汽車網絡安全領域關注的重點,準確、及時的異常檢測是增強 CAN 網絡安全的有力保障。本文闡述了CAN 報文信息熵概念內涵以及計算方式,重點建立了CAN 網絡異常檢測的準確度和響應及時性量化指標,然后通過大量實驗和數據統計,分析了窗口大小、滑動尺度和靈敏度三項關鍵因素變化情況對CAN 報文信息熵、檢測準確度和響應及時性的影響,并發現了采集窗口越大信息熵越穩定、滑動尺度越小車載資源開銷越大、靈敏度越大檢測準確度越高等變化趨勢。本文的研究分析可以為后續進一步開展基于信息熵的CAN 網絡異常檢測優化研究提供借鑒指導。