劉少勛,張 震,2,張金鋒,程章龍,張躍中
(1.網(wǎng)絡(luò)通信與安全紫金山實(shí)驗(yàn)室,江蘇 南京 211111;2.國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450002)
近年來,隨著人工智能、大數(shù)據(jù)和汽車電子等技術(shù)的快速發(fā)展,具有智能化和網(wǎng)聯(lián)化特征的智能網(wǎng)聯(lián)汽車成為汽車產(chǎn)業(yè)新形態(tài)。智能網(wǎng)聯(lián)汽車通過搭載先進(jìn)的車載傳感器與智能控制系統(tǒng),實(shí)現(xiàn)了車與車、路、云、人之間的信息交互與共享,為人們的交通出行帶來了極大便利。但同時智能網(wǎng)聯(lián)汽車對外通信接口的增加和系統(tǒng)復(fù)雜化使車載網(wǎng)絡(luò)更容易受到網(wǎng)絡(luò)攻擊,針對車載網(wǎng)絡(luò)的攻擊事件也不斷被爆出[1-2]。這不僅會造成個人隱私泄露問題,也會引發(fā)社會公共安全問題。
智能網(wǎng)聯(lián)汽車CAN 網(wǎng)絡(luò)是智能網(wǎng)聯(lián)汽車應(yīng)用最廣泛的車載通信網(wǎng)絡(luò),由于CAN 在初始設(shè)計時缺乏信息安全機(jī)制,使得作為車載網(wǎng)絡(luò)重要媒介的CAN 極易受到嗅探、偽造、修改和重放等攻擊[3-4]。如何通過關(guān)鍵影響因素分析,使得在有限車載資源下準(zhǔn)確快速地檢測出CAN 網(wǎng)絡(luò)異常狀態(tài),成為當(dāng)前汽車產(chǎn)業(yè)重點(diǎn)關(guān)注的問題。
目前,對于智能網(wǎng)聯(lián)汽車CAN 網(wǎng)絡(luò)異常檢測,學(xué)術(shù)界已開展了不少研究工作。其中,基于信息統(tǒng)計分析的異常檢測方法[5-7]充分利用了CAN 網(wǎng)絡(luò)實(shí)時傳輸大量消息的數(shù)據(jù)資源,通過統(tǒng)計分析消息傳輸信息熵[8-9]等方式,實(shí)現(xiàn)對CAN網(wǎng)絡(luò)狀態(tài)的高效檢測。現(xiàn)有基于信息統(tǒng)計分析的主要檢測方法的研究如下:Muter 等人[8]首次將信息熵的概念用于車載網(wǎng)絡(luò)的入侵檢測,提出了基于CAN 報文標(biāo)識ID 信息熵的異常檢測方法,通過計算設(shè)定時間內(nèi)CAN 報文ID 信息熵來獲取正常信息熵閾值,并將實(shí)時采集計算得到的CAN 報文ID 信息熵與該信息熵閾值比對;在此基礎(chǔ)上,Virmani 等人[9]提出了一種基于信息熵偏差的CAN 網(wǎng)絡(luò)入侵分析的算法;Zhao 等人[10]提出了一種針對DDoS 攻擊的CAN 網(wǎng)絡(luò)流量熵方法。此外,于赫等人[11]采用單位時間窗口內(nèi)報文信息熵的波動來檢測泛洪攻擊和報文重放攻擊;Wu 等人[12]采用固定消息數(shù)量窗口來計算CAN 報文ID 信息熵的分析方法。這些研究方法采用多種方式計算CAN 報文信息熵,能夠有效檢測出CAN 報文網(wǎng)絡(luò)異常。然而,這些研究缺乏對CAN 報文信息熵異常檢測影響因素的深入分析,難以為考慮檢測準(zhǔn)確性、時效性等目標(biāo)的CAN 網(wǎng)絡(luò)異常檢測優(yōu)化研究提供更有效的支撐。
針對上述方法存在的不足,本文研究分析了基于信息熵的CAN 網(wǎng)絡(luò)異常檢測關(guān)鍵因素影響。首先給出了CAN 報文信息熵概念內(nèi)涵及計算方式;在此基礎(chǔ)上,建立了CAN 網(wǎng)絡(luò)異常檢測的準(zhǔn)確度和時效性量化指標(biāo),然后通過大量實(shí)驗(yàn)和數(shù)據(jù)統(tǒng)計,分析了窗口大小、滑動尺度和靈敏度三項(xiàng)關(guān)鍵因素的變化對CAN 報文信息熵、檢測準(zhǔn)確度和響應(yīng)及時性的影響。
為了能夠量化表征關(guān)鍵因素對CAN 報文信息熵異常檢測的精確度和響應(yīng)及時性的影響,本節(jié)首先闡述了CAN 報文信息熵定義,以及窗口大小、滑動尺度和靈敏度三項(xiàng)關(guān)鍵因素;然后給出了異常檢測準(zhǔn)確性、響應(yīng)及時性兩個指標(biāo)的計算方法。
(1)CAN 報文信息熵
CAN 報文數(shù)據(jù)幀結(jié)構(gòu)包括ID、數(shù)據(jù)區(qū)和校驗(yàn)等部分,各部分占用字節(jié)情況如圖1 所示。其中,ID 用于表明發(fā)送數(shù)據(jù)的類型標(biāo)識和優(yōu)先級,ID 越小則該報文傳輸優(yōu)先級越高。提取出CAN 報文中的ID,并對一定時間內(nèi)或一定數(shù)量的ID信息進(jìn)行統(tǒng)計分析,能夠反映CAN 網(wǎng)絡(luò)傳輸報文消息的運(yùn)行狀態(tài)。本文通過統(tǒng)計一定報文數(shù)量窗口內(nèi)的不同ID 類型分布概率來計算CAN 報文信息熵,公式如下:
圖1 CAN 報文數(shù)據(jù)結(jié)構(gòu)
式中:H(IDS)為采集窗口內(nèi)所有報文標(biāo)識ID 集IDS 的信息熵;numkid為采集窗口內(nèi)第k種ID 報文出現(xiàn)的次數(shù);ekid為采集窗口內(nèi)第k種ID 報文的信息熵;n為采集窗口內(nèi)出現(xiàn)的不同ID 報文數(shù)量。
(2)正常信息熵閾值
為了準(zhǔn)確度量CAN 報文信息熵,通過計算大量窗口的CAN 報文信息熵均值和方差,建立CAN 報文正常的信息熵閾值區(qū)間。在設(shè)定采集窗口大小sizewin和滑動尺度slidewin基礎(chǔ)上,計算大量采集窗口信息熵H(IDS)的平均值μ和標(biāo)準(zhǔn)差s,設(shè)定信息熵閾值區(qū)間如下:
將[μ-η×s,μ+η×s]作為判斷CAN 網(wǎng)絡(luò)是否處于攻擊狀態(tài)的信息熵閾值區(qū)間,η為標(biāo)準(zhǔn)差s的靈敏度。當(dāng)采集窗口的信息熵不超出閾值區(qū)間,則認(rèn)為CAN 報文傳輸異常。
(3)檢測準(zhǔn)確度
已有CAN 網(wǎng)絡(luò)信息熵異常檢測通常采用檢測過程中正確預(yù)測出的消息窗口數(shù)量與窗口總量的比例來評估檢測的準(zhǔn)確度,沒有考慮因滑動尺度設(shè)置過大導(dǎo)致部分攻擊信息跳過檢測的情況。在窗口滑動過程中,被攻擊報文恰處于相鄰兩個檢測窗口中的不檢測區(qū)域,成功逃避了檢測,如圖2所示。
圖2 CAN 報文逃避檢測示意圖
為了全面準(zhǔn)確評估檢測精度,本文綜合考慮了檢測過程中的檢測正確率和未被列入檢測窗口的正常消息比例來度量基于信息熵檢測CAN 報文的準(zhǔn)確度。
式中:sum 為整個檢測過程中窗口滑動的總次數(shù);α1、α2為權(quán)重系數(shù),且滿足α1+α2=1;當(dāng)窗口滑過的CAN 報文集合Ij中存在攻擊消息時,f(Ij)為0,否則為1;滑動尺度slidewin表示未檢測的CAN 報文集合Ij大小,即slidewin=||Ij||。
(4)檢測響應(yīng)及時性
檢測響應(yīng)及時性反映了網(wǎng)絡(luò)異常檢測的反應(yīng)速度和活躍程度。由于CAN 報文傳輸?shù)臅r間周期具有不確定性,本文采用更具穩(wěn)定特征的滑動尺度與滑動窗口大小的比值來評估CAN 報文異常檢測的及時性,并忽略檢測算法的執(zhí)行時延,建立如下計算模型:
本文使用韓國高麗大學(xué)HCR 實(shí)驗(yàn)室的CAN 報文數(shù)據(jù)庫,并從數(shù)據(jù)庫中采集了汽車在正常行駛狀態(tài)下的30 000條數(shù)據(jù)集,報文ID 范圍為0X001 ~0X7ff。該數(shù)據(jù)集能夠反映現(xiàn)實(shí)生活中車載網(wǎng)絡(luò)通信數(shù)據(jù)的基本特征,見表1 所列。同時,模擬了DoS 和注入兩種攻擊場景下的數(shù)據(jù)集。在模擬DoS攻擊中,將優(yōu)先級最高的CAN 報文(ID=0x000)塊插入到正常數(shù)據(jù)集中來生成DoS 攻擊數(shù)據(jù)集。在注入攻擊模擬中,采用了重放攻擊,將合法CAN 報文中的消息塊復(fù)制到正常的車輛數(shù)據(jù)集。
表1 CAN 報文實(shí)驗(yàn)數(shù)據(jù)集
利用上述CAN 報文實(shí)驗(yàn)數(shù)據(jù)集,本文首先分析了窗口大小、滑動尺度和靈敏度對CAN 報文信息熵和檢測準(zhǔn)確度的影響。
在設(shè)定窗口滑動尺度為5、信息熵閾值區(qū)間靈敏度為1.2的前提下,設(shè)置采集窗口大小初始值為37,并按照間隔為5遞增至177,計算不同窗口大小下的正常信息熵閾值區(qū)間,結(jié)果如圖3 所示。圖中顯示,CAN 報文采集窗口越大,信息熵閾值區(qū)間越小并趨于穩(wěn)定。
圖3 不同采集窗口大小下的CAN 報文信息熵變化趨勢
(1)采集窗口大小對信息熵和準(zhǔn)確度的影響
在上述參數(shù)同等設(shè)置條件下,隨著采集窗口的逐步增大,CAN 報文信息熵異常檢測準(zhǔn)確度從0.933 逐步提升至1,如圖4 所示。圖中變化趨勢顯示,檢測準(zhǔn)確度在遞增過程中出現(xiàn)波動,這種波動現(xiàn)象主要是由于CAN 報文傳輸沖突等不確定性因素產(chǎn)生。
圖4 不同采樣窗口大小下的檢測準(zhǔn)確度變化情況
(2)窗口滑動尺度對信息熵計算和檢測準(zhǔn)確度的影響
在設(shè)定窗口大小為37、信息熵閾值區(qū)間靈敏度為1.2 的前提下,設(shè)置CAN 報文采樣窗口的滑動尺度初始大小為5,并按照間隔為4 遞增至121,計算不同窗口滑動尺度下的正常信息熵閾值區(qū)間。當(dāng)滑動尺度小于窗口大小時,采集窗口的滑動尺度變化對信息熵閾值區(qū)間影響不大;當(dāng)取值大于采集窗口時,對信息熵閾值區(qū)間的計算產(chǎn)生了波動,如圖5所示。
圖5 不同滑動尺度下的CAN 報文信息熵變化情況
在同等參數(shù)設(shè)置條件下,隨著窗口滑動尺度的逐步增大,入侵檢測準(zhǔn)確度發(fā)生了較大波動,如圖6 所示;同時,隨著滑動尺度的增加,檢測周期會明顯變長,即檢測的及時性逐步下降,如圖7 所示。
圖6 不同滑動尺度下的檢測準(zhǔn)確度變化情況
圖7 不同滑動尺度下的檢測響應(yīng)及時性變化情況
(3)信息熵閾值區(qū)間靈敏度對準(zhǔn)確度的影響
在設(shè)定窗口大小為37、窗口滑動尺度為5 的前提下,設(shè)置靈敏度η初始大小為0.5,并按照間隔為0.1 遞增至2.9,計算不同信息熵閾值區(qū)間靈敏度下的檢測準(zhǔn)確度。計算結(jié)果顯示,當(dāng)信息熵閾值區(qū)間靈敏度增加時,檢測準(zhǔn)確度逐步變大,如圖8 所示。
圖8 不同靈敏度下的檢測準(zhǔn)確度變化趨勢
從上述實(shí)驗(yàn)結(jié)果可以看出:
(1)采集窗口越大,信息熵越穩(wěn)定,這對提高檢測準(zhǔn)確度有促進(jìn)作用。
(2)窗口滑動尺度對信息熵計算影響不大,但過小的滑動尺度會導(dǎo)致無網(wǎng)絡(luò)攻擊情況下非必要的頻繁檢測計算;而當(dāng)滑動尺度變大時,能夠節(jié)約車載網(wǎng)絡(luò)計算與存儲資源,但會降低檢測響應(yīng)及時性。
(3)信息熵閾值區(qū)間靈敏度越大,檢測準(zhǔn)確度就越大。
CAN 網(wǎng)絡(luò)安全問題是智能網(wǎng)聯(lián)汽車網(wǎng)絡(luò)安全領(lǐng)域關(guān)注的重點(diǎn),準(zhǔn)確、及時的異常檢測是增強(qiáng) CAN 網(wǎng)絡(luò)安全的有力保障。本文闡述了CAN 報文信息熵概念內(nèi)涵以及計算方式,重點(diǎn)建立了CAN 網(wǎng)絡(luò)異常檢測的準(zhǔn)確度和響應(yīng)及時性量化指標(biāo),然后通過大量實(shí)驗(yàn)和數(shù)據(jù)統(tǒng)計,分析了窗口大小、滑動尺度和靈敏度三項(xiàng)關(guān)鍵因素變化情況對CAN 報文信息熵、檢測準(zhǔn)確度和響應(yīng)及時性的影響,并發(fā)現(xiàn)了采集窗口越大信息熵越穩(wěn)定、滑動尺度越小車載資源開銷越大、靈敏度越大檢測準(zhǔn)確度越高等變化趨勢。本文的研究分析可以為后續(xù)進(jìn)一步開展基于信息熵的CAN 網(wǎng)絡(luò)異常檢測優(yōu)化研究提供借鑒指導(dǎo)。