李 源,謝一臻,王永建,江 虹
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 620010;2.北京郵電大學(xué) 國際學(xué)院,北京 100876;3.國家計(jì)算機(jī)網(wǎng)絡(luò)與信息安全管理中心,北京 100031;4.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 620010)
車聯(lián)網(wǎng)概念由物聯(lián)網(wǎng)衍生而來,是未來智能交通系統(tǒng)應(yīng)用的最重要組成部分之一,在車聯(lián)網(wǎng)網(wǎng)絡(luò)拓?fù)渲?路側(cè)單元作為車聯(lián)網(wǎng)的固定接入點(diǎn),連接車聯(lián)網(wǎng)與外部互聯(lián)網(wǎng)和車聯(lián)網(wǎng)管理平臺(tái),車輛節(jié)點(diǎn)之間采用無中心的自組織網(wǎng)絡(luò)結(jié)構(gòu)連接[1]。由于車聯(lián)網(wǎng)車輛節(jié)點(diǎn)快速行駛、拓?fù)浣Y(jié)構(gòu)多變等特點(diǎn)[2],使其容易遭到攻擊者的攻擊,為道路交通帶來安全隱患。
泛洪攻擊指攻擊者向攻擊目標(biāo)發(fā)起流量泛洪,導(dǎo)致攻擊目標(biāo)被大量的冗余信息占用網(wǎng)絡(luò)和計(jì)算處理資源,使其他合法車輛無法正常使用網(wǎng)絡(luò)服務(wù),即發(fā)生拒絕服務(wù)(Denial of service,DoS)[3]。
與傳統(tǒng)無線網(wǎng)絡(luò)相比,車聯(lián)網(wǎng)泛洪攻擊的危害和防御手段都不相同,車輛節(jié)點(diǎn)使用車載通信單元通過無線網(wǎng)絡(luò)進(jìn)行通信,復(fù)雜的網(wǎng)絡(luò)環(huán)境和頻繁變化的拓?fù)浣Y(jié)構(gòu),要求泛洪攻擊的防御手段要具有較高的實(shí)時(shí)性和足夠的輕量化。
文獻(xiàn)[4]中提出了一種分布式處理的實(shí)時(shí)流量檢測系統(tǒng),在該系統(tǒng)中采用大數(shù)據(jù)的分布式處理方式,對(duì)網(wǎng)絡(luò)流量的特征進(jìn)行提取與訓(xùn)練,建立網(wǎng)絡(luò)流量模型,從而對(duì)流量異常進(jìn)行準(zhǔn)確實(shí)時(shí)檢測。此方法檢測準(zhǔn)確度和實(shí)時(shí)性較高,但是分布式的大數(shù)據(jù)特征提取對(duì)設(shè)備計(jì)算處理能力要求較高。
文獻(xiàn)[5]針對(duì)網(wǎng)絡(luò)流量特征提取不準(zhǔn)確和魯棒性不高的問題,提出了基于深度特征學(xué)習(xí)的方法來檢測流量異常。通過優(yōu)化多層降噪自動(dòng)編碼器(Stacked denoising autoencoders,SDA)結(jié)構(gòu)從而提高特征提取的準(zhǔn)確性。此方法大幅提高了檢測準(zhǔn)確度,但是計(jì)算復(fù)雜度較高。
文獻(xiàn)[6]關(guān)注到了小包流量的特征,通過網(wǎng)絡(luò)流量的自相似性和小波分析技術(shù)來檢測流量異常,從而檢測分布式拒絕服務(wù)(Distributed denial of service,DDoS)攻擊。此方法操作簡單,計(jì)算復(fù)雜度低,但是檢測準(zhǔn)確度不夠高。
文獻(xiàn)[7]提出了一種基于流量預(yù)測和密度聚類的流量異常檢測方法,該方法利用改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)來預(yù)測流量,并將預(yù)測結(jié)果輸入到聚類中進(jìn)行檢測。改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)和改進(jìn)的聚類檢測方法可以提高檢測準(zhǔn)確度,但是流量預(yù)測對(duì)訓(xùn)練數(shù)據(jù)集依賴過大,巨大的計(jì)算復(fù)雜度并不適用于車聯(lián)網(wǎng)環(huán)境。
文獻(xiàn)[8]針對(duì)DDoS檢測的實(shí)時(shí)性和準(zhǔn)確性較低的問題,利用多協(xié)議融合特征的時(shí)間序列預(yù)測方法來檢測DDoS攻擊。利用自回歸積分移動(dòng)平均模型(Autoregressive integrated moving average model,ARIMA)對(duì)時(shí)間序列進(jìn)行建模和預(yù)測,利用傅里葉級(jí)數(shù)修正預(yù)測偏差序列,通過修正的檢測模型來識(shí)別DDoS攻擊。但是ARIMA模型只適用于簡單傳統(tǒng)網(wǎng)絡(luò)流量,不適用于車聯(lián)網(wǎng)流量。
文獻(xiàn)[9]提出了采用具有長相似性的自相關(guān)函數(shù)Hurst參數(shù)H值作為其統(tǒng)計(jì)特征來表征流量異常,從而監(jiān)視系統(tǒng)和網(wǎng)絡(luò)的異常行為。此方法關(guān)注H參數(shù)在估計(jì)攻擊的自相似性和正常流量的自相似性之間進(jìn)行區(qū)分的有效性。使用互相關(guān)方法,同時(shí)區(qū)分攻擊流量與合法流量。但這兩種方法中的Hurst自相似度計(jì)算都在中心服務(wù)器中進(jìn)行,因此在采集統(tǒng)計(jì)流量是需要占用大量網(wǎng)絡(luò)資源,并且集中式計(jì)算H值的方式不適用于車聯(lián)網(wǎng)環(huán)境。
針對(duì)以上研究現(xiàn)狀中存在的問題,本文提出了一種新的適用于車聯(lián)網(wǎng)環(huán)境的輕量化異常流量檢測方法,通過基于滑動(dòng)窗口的R/S方法計(jì)算網(wǎng)絡(luò)流量的自相似參數(shù)H曲線,依據(jù)自相似變化曲線檢測流量異常。采用分級(jí)檢測,路側(cè)單元對(duì)流量預(yù)處理,可以有效減輕網(wǎng)絡(luò)鏈路的傳輸負(fù)擔(dān);并能做到路側(cè)單元與云端計(jì)算檢測輕量化,具有較高的檢測準(zhǔn)確度。
泛洪攻擊指攻擊者向攻擊目標(biāo)發(fā)起流量泛洪,導(dǎo)致攻擊目標(biāo)被大量的冗余信息占用網(wǎng)絡(luò)和計(jì)算處理資源,使其他用戶無法正常使用服務(wù)。車聯(lián)網(wǎng)節(jié)點(diǎn)快速移動(dòng),網(wǎng)絡(luò)拓?fù)洳粩喔淖?節(jié)點(diǎn)與路側(cè)單元的有效通信時(shí)間很短,特殊的網(wǎng)絡(luò)結(jié)構(gòu)使泛洪攻擊與在傳統(tǒng)網(wǎng)絡(luò)中的有所不同[10]。車聯(lián)網(wǎng)泛洪攻擊可以根據(jù)攻擊所在位置分為內(nèi)部攻擊和外部攻擊。外部攻擊是指攻擊節(jié)點(diǎn)短時(shí)間內(nèi)不斷地向路側(cè)單元重復(fù)發(fā)送大量入網(wǎng)請(qǐng)求,從而耗盡路側(cè)單元的計(jì)算處理資源,導(dǎo)致其他合法節(jié)點(diǎn)無法正常入網(wǎng)。內(nèi)部攻擊是指攻擊者通過先攻擊占用車聯(lián)網(wǎng)中合法節(jié)點(diǎn)作為傀儡節(jié)點(diǎn),這些傀儡節(jié)點(diǎn)在網(wǎng)絡(luò)中發(fā)動(dòng)泛洪攻擊,耗盡網(wǎng)絡(luò)帶寬等資源。外部攻擊可以使用簽名認(rèn)證手段達(dá)到很好的防御效果,本文主要研究車聯(lián)網(wǎng)內(nèi)攻擊節(jié)點(diǎn)針對(duì)路側(cè)單元發(fā)起泛洪攻擊的檢測方法。攻擊節(jié)點(diǎn)發(fā)送大量數(shù)據(jù)流量,發(fā)起泛洪攻擊占盡網(wǎng)絡(luò)資源。泛洪攻擊發(fā)生時(shí),網(wǎng)絡(luò)中數(shù)據(jù)流量必然發(fā)生異常變化。車聯(lián)網(wǎng)泛洪攻擊示意圖如圖1所示。
在普通無線網(wǎng)絡(luò)中,針對(duì)不同的泛洪方式采用相對(duì)應(yīng)的檢測防御手段。對(duì)于基于網(wǎng)絡(luò)協(xié)議的泛洪攻擊,例如TCP SYN泛洪攻擊,可以采用IP簽名認(rèn)證的方式進(jìn)行檢測,或者修補(bǔ)協(xié)議存在的漏洞,來防御攻擊;對(duì)基于網(wǎng)絡(luò)流量的泛洪攻擊,可以采用異常流量檢測的方式,檢測異常流量從而識(shí)別泛洪攻擊。針對(duì)車聯(lián)網(wǎng)實(shí)際應(yīng)用場景,攻擊節(jié)點(diǎn)在發(fā)起泛洪攻擊時(shí),攻擊包數(shù)據(jù)流會(huì)引起網(wǎng)絡(luò)流量的自相似度發(fā)生異常變化。本文采用流量自相似度計(jì)算的方式來識(shí)別檢測車聯(lián)網(wǎng)中的泛洪攻擊。
人們?cè)缙趯?duì)網(wǎng)絡(luò)流量特性的研究中發(fā)現(xiàn),網(wǎng)絡(luò)流量在長時(shí)間尺度下具有一定的相關(guān)性,即具有長相關(guān)特性(Long range dependence,LRD)[11]。在之后的研究中,研究人員在多種網(wǎng)絡(luò)中都證實(shí)了網(wǎng)絡(luò)流量具有自相關(guān)特性。網(wǎng)絡(luò)信號(hào)的局部結(jié)構(gòu)和總體結(jié)構(gòu)在某種條件或某種尺度上相比,具有某種程度的一致性。從流量的角度上看,網(wǎng)絡(luò)流量在不同時(shí)間尺度上都具有一定程度的自相似特性。自相似性是網(wǎng)絡(luò)流量所固有的性質(zhì),并且這一特性可以應(yīng)用到車聯(lián)網(wǎng)流量異常檢測中。
對(duì)于自相似過程的定義如下:
存在一個(gè)平穩(wěn)隨機(jī)過程X={Xk,k=1,2,…},均值μ=E[Xk],方差δ2=E[(Xk-μ)2]。令r(k)為此過程的自相關(guān)函數(shù)。如果其所有的m階聚集過程Xm,自相關(guān)函數(shù)rm(k)都滿足
rm(k)=r(k):αk-β0<β<1,k→∞
(1)
那么此過程是嚴(yán)格二階自相似過程。
其自相似函數(shù)滿足
r(k)=H(2H-1)k2H-1k→∞
(2)
式中:Hurst自相似參數(shù)H=1-β/2。自相似參數(shù)H是描述網(wǎng)絡(luò)流量自相似特性的重要指標(biāo),其中0 (3) 計(jì)算R/S統(tǒng)計(jì)量 (4) 對(duì)于自相似序列,當(dāng)n→∞,E[R/S(n)]~CHnH,其中CH為和n不相關(guān)的常數(shù)。兩邊同時(shí)取對(duì)數(shù)得到 logE[R/S(n)]=logCH+Hlogn (5) 分別使用logE[R/S(n)]和logn為縱橫坐標(biāo)作直線圖,直線斜率就是Hurst自相似參數(shù)H。即得到在時(shí)間為n時(shí),車輛節(jié)點(diǎn)的流量自相似度。 分級(jí)檢測主要分為路側(cè)單元預(yù)檢測和云端二次檢測兩級(jí)檢測機(jī)制。車聯(lián)網(wǎng)中各個(gè)路側(cè)單元在采集到車聯(lián)網(wǎng)內(nèi)部車輛節(jié)點(diǎn)的數(shù)據(jù)流量信息后,對(duì)流量進(jìn)行預(yù)計(jì)算處理,首先將網(wǎng)中傳輸?shù)臄?shù)據(jù)包流量進(jìn)行篩選和整理計(jì)算得出時(shí)間上的數(shù)據(jù)包流量速率,之后對(duì)車輛節(jié)點(diǎn)的流量速率自相似度進(jìn)行計(jì)算,依據(jù)自相似參數(shù)變化情況檢測流量突變,若檢測到流量異常,則將有異常時(shí)段的數(shù)據(jù)包信息上報(bào)云端進(jìn)行二次處理檢測攻擊。云端對(duì)流量異常數(shù)據(jù)包進(jìn)行進(jìn)一步檢測,整合統(tǒng)計(jì)各個(gè)節(jié)點(diǎn)的數(shù)據(jù)包發(fā)送量,檢測出存在泛洪攻擊的車輛節(jié)點(diǎn)。分級(jí)流量異常檢測可以使路側(cè)單元和與云端的計(jì)算處理都做到輕量化,減輕路側(cè)單元和云端計(jì)算壓力。路側(cè)單元將流量進(jìn)行預(yù)處理后上報(bào)到云端,云端只需對(duì)存在流量異常的數(shù)據(jù)包信息進(jìn)行二次檢測。在做到路側(cè)單元輕量化計(jì)算時(shí),也可以減小節(jié)點(diǎn)上傳路側(cè)單元的數(shù)據(jù)包大小,緩解車聯(lián)網(wǎng)網(wǎng)絡(luò)流量壓力。 在路側(cè)單元預(yù)檢測具體步驟如下: (1)統(tǒng)計(jì)數(shù)據(jù)包大小。路側(cè)單元監(jiān)測采集來自車輛節(jié)點(diǎn)A、B、C、D…發(fā)送的數(shù)據(jù)包數(shù)量及大小,并按照數(shù)據(jù)包收發(fā)的時(shí)間粒度來統(tǒng)計(jì)記錄各個(gè)節(jié)點(diǎn)的數(shù)據(jù)流量,得到各個(gè)節(jié)點(diǎn)的數(shù)據(jù)包大小序列XA={XA1,XA2,XA3,…},XB={XB1,XB2,XB3,…},XC={XC1,XC2,XC3,…},XD={XD1,XD2,XD3,…}…,計(jì)算按秒為時(shí)間粒度的數(shù)據(jù)包大小,得到數(shù)據(jù)包統(tǒng)計(jì)序列X={X1,X2,X3,…},其中X1={XA1,XB1,XC1,XD1…},X2={XA2,XB2,XC2,XD2,…},X3={XA3,XB3,XC3,XD3,…},…。 (3)計(jì)算自相似參數(shù)H。根據(jù)流量序列R={R1,R2,R3,…},利用滑動(dòng)窗口方式依次取子序列,得到子序列subR={subR1,subR2,subR3,…},利用R/S法計(jì)算自相似參數(shù)H,得到自相似參數(shù)序列H={H1,H2,H3,…}。 (4)依據(jù)自相似變化曲線檢測流量異常。根據(jù)H={H1,H2,H3,…}得到流量自相似度變化曲線。正常情況下,網(wǎng)絡(luò)流量自相似變化曲線是一條在0.5以上相對(duì)平穩(wěn)的曲線,然而發(fā)生泛洪攻擊時(shí),自相似變化曲線發(fā)生顯著變化,出現(xiàn)“凸”字形特征。通過檢測曲線的臺(tái)階型階躍變化,來檢測流量發(fā)生異常的時(shí)段。 (5)上報(bào)異常流量。路側(cè)單元將自相似曲線“凸”字形變化區(qū)間的數(shù)據(jù)包信息上報(bào)云端,包括數(shù)據(jù)包發(fā)送時(shí)刻Time、源IP、數(shù)據(jù)包長度Length等信息以及數(shù)據(jù)包內(nèi)容Data。 云端二次檢測詳細(xì)步驟如下: (1)云端接收到路側(cè)單元的流量異常報(bào)警,并將路側(cè)單元上報(bào)的數(shù)據(jù)包報(bào)文解析和統(tǒng)計(jì),得到流量異常期間各個(gè)車輛節(jié)點(diǎn)數(shù)據(jù)包發(fā)送量,重新整理統(tǒng)計(jì)得到表1。 表1 各節(jié)點(diǎn)數(shù)據(jù)包信息表 (2)劃分30 s作為時(shí)間粒度,分別按照源IP統(tǒng)計(jì)每一個(gè)時(shí)間粒度中的數(shù)據(jù)包發(fā)送量,得出統(tǒng)計(jì)結(jié)果見表2。 表2 各時(shí)段節(jié)點(diǎn)數(shù)據(jù)包大小統(tǒng)計(jì)表 (3)依據(jù)各節(jié)點(diǎn)在各時(shí)段的數(shù)據(jù)發(fā)送量,對(duì)比分析,如果某源IP的發(fā)送量持續(xù)高于其他源IP,并且該節(jié)點(diǎn)IP的數(shù)據(jù)發(fā)送量比它其他時(shí)段發(fā)送量都高,那么就能判斷該源IP為攻擊節(jié)點(diǎn)。 本文實(shí)驗(yàn)使用個(gè)人筆記本電腦,配置如下:AMD A8-4500M 1.9 GHz四核處理器;Windows7 64位操作系統(tǒng);12 GB內(nèi)存。仿真軟件包含Wireshark和Pycharm,Wireshark是一個(gè)網(wǎng)絡(luò)數(shù)據(jù)包抓包軟件,能夠從網(wǎng)絡(luò)中抓取數(shù)據(jù)包并解析數(shù)據(jù)包內(nèi)容;Pycharm是Python代碼開發(fā)工具,具有強(qiáng)大的代碼編輯調(diào)試功能。Python版本為3.7。 本文的實(shí)驗(yàn)數(shù)據(jù)取自北京市部分客運(yùn)貨運(yùn)車輛節(jié)點(diǎn)與車聯(lián)網(wǎng)管理平臺(tái)的數(shù)據(jù)。利用Wireshark軟件可以解析得到包括源IP、目的IP、數(shù)據(jù)包發(fā)送時(shí)間、數(shù)據(jù)包長度、數(shù)據(jù)包內(nèi)容等信息。使用Wireshark解析到的數(shù)據(jù)包信息如圖2所示。 數(shù)據(jù)包中Data部分利用交通部JT/T808協(xié)議封裝數(shù)據(jù)內(nèi)容。因此對(duì)照J(rèn)T/T808協(xié)議的數(shù)據(jù)幀格式如表3所示,可以得到車輛當(dāng)前的行駛狀態(tài),以及當(dāng)前數(shù)據(jù)包發(fā)送的時(shí)間戳。 表3 JT/T808數(shù)據(jù)格式 利用Pycharm開發(fā)工具編寫Python程序計(jì)算數(shù)據(jù)速率,依據(jù)數(shù)據(jù)包大小與包發(fā)送時(shí)間差,可以求得該時(shí)段內(nèi)的數(shù)據(jù)速率。相鄰數(shù)據(jù)包時(shí)間間隔t,數(shù)據(jù)包長度L,則以L/t來計(jì)算速率,具體計(jì)算方式見第3節(jié)。計(jì)算得到的數(shù)據(jù)速率統(tǒng)計(jì)如圖3所示。 本文通過模擬數(shù)據(jù)包惡意多次重放來模擬車聯(lián)網(wǎng)中的泛洪攻擊。選擇IP為10.145.1.190的車輛節(jié)點(diǎn)為惡意節(jié)點(diǎn)發(fā)起泛洪攻擊,此攻擊節(jié)點(diǎn)重復(fù)發(fā)送內(nèi)容相似的數(shù)據(jù)包到車聯(lián)網(wǎng)中。分別模擬3種攻擊強(qiáng)度:低強(qiáng)度泛洪攻擊、中強(qiáng)度泛洪攻擊、高強(qiáng)度泛洪攻擊。模擬3種攻擊強(qiáng)度的參數(shù)設(shè)置如表3所示。 表3 各時(shí)段節(jié)點(diǎn)數(shù)據(jù)包大小統(tǒng)計(jì)表 對(duì)以上3種不同攻擊強(qiáng)度的數(shù)據(jù)包計(jì)算數(shù)據(jù)流量,得到流量曲線如圖4所示。 本文采用基于滑動(dòng)窗口的R/S自相似參數(shù)計(jì)算方法,來計(jì)算車聯(lián)網(wǎng)中的正常網(wǎng)絡(luò)流量和攻擊流量的自相似變化曲線。在計(jì)算正常流量的自相似曲線時(shí),首先將實(shí)際車聯(lián)網(wǎng)數(shù)據(jù)包進(jìn)行預(yù)處理,得到數(shù)據(jù)包大小序列,依照時(shí)間差計(jì)算數(shù)據(jù)速率序列,之后用滑動(dòng)窗口的方式依次從前往后取出流量子序列,對(duì)每一個(gè)子序列采用R/S法計(jì)算得到H值,從而得到自相似參數(shù)H值序列,最后繪制得到正常流量的自相似變化曲線,如圖5所示。 在計(jì)算攻擊流量的自相似變化曲線時(shí),首先在模擬攻擊重放發(fā)送數(shù)據(jù)包之后,分別得到3種數(shù)據(jù)包大小序列,依照時(shí)間差分別計(jì)算數(shù)據(jù)速率序列,之后用滑動(dòng)窗口的方式依次對(duì)各個(gè)攻擊強(qiáng)度的流量序列從前往后取出流量子序列,對(duì)每一個(gè)子序列采用R/S法計(jì)算得到H值,從而得到3種強(qiáng)度的自相似參數(shù)H值序列,最后繪制得到低中高強(qiáng)度的自相似變化曲線。3種攻擊強(qiáng)度的流量自相似變化曲線如圖6所示。 從流量自相似曲線可以發(fā)現(xiàn)3條曲線“凸”字形變化的位置大約在1 100~3 100 s,此時(shí)段就是從H值計(jì)算滑動(dòng)窗口覆蓋攻擊位置的時(shí)刻,因此在起始位置加上滑動(dòng)窗口大小1 500 s,從而可以得出泛洪攻擊的位置大約在2 600~3 600 s之間。為了將實(shí)驗(yàn)結(jié)果進(jìn)行準(zhǔn)確量化分析,將檢測機(jī)制正確檢測到“凸”字形變化作為檢測成功,將未能正確檢測到流量異常變化作為誤檢測,那么檢測成功次數(shù)在總實(shí)驗(yàn)次數(shù)中的比例就是檢測準(zhǔn)確率,誤檢測次數(shù)在總實(shí)驗(yàn)次數(shù)中的比例就是誤報(bào)率。經(jīng)過多次重復(fù)實(shí)驗(yàn),統(tǒng)計(jì)得到檢測準(zhǔn)確率和誤報(bào)率分別如圖7和圖8所示。 可以看出,檢測準(zhǔn)確率隨著攻擊強(qiáng)度的增強(qiáng)而升高,誤報(bào)率隨著攻擊強(qiáng)度的增強(qiáng)而降低,在高強(qiáng)度攻擊情況下,本檢測方法能夠達(dá)到94%左右的檢測準(zhǔn)確率和6%左右的誤報(bào)率。 將檢測機(jī)制檢測到的異常區(qū)間起始時(shí)刻與實(shí)際攻擊起始時(shí)刻的差值作為流量突變檢測時(shí)間。經(jīng)過多次實(shí)驗(yàn)計(jì)算不同攻擊強(qiáng)度下平均檢測時(shí)間如表4所示。 表4 不同攻擊強(qiáng)度下異常檢測時(shí)間 由表4可以看出,本文的流量異常檢測方法能在較短時(shí)間內(nèi)發(fā)現(xiàn)并檢測出流量出現(xiàn)“凸”字形異常變化,并且攻擊強(qiáng)度越高,檢測所需的平均時(shí)延就越短,在高強(qiáng)度攻擊情況下,能夠在泛洪攻擊發(fā)生后13 s左右檢測出流量出現(xiàn)異常。路側(cè)單元檢測到自相似曲線“凸”字形變化后,立即將異常變化時(shí)段的數(shù)據(jù)包信息上報(bào)到云端,讓云端對(duì)這一時(shí)段內(nèi)所有數(shù)據(jù)包進(jìn)行進(jìn)一步分析,檢測泛洪攻擊。 云端接收到路側(cè)單元上報(bào)的數(shù)據(jù)包信息之后,對(duì)所有數(shù)據(jù)包進(jìn)行整理與分析,統(tǒng)計(jì)得出各個(gè)源IP在每一時(shí)刻發(fā)送數(shù)據(jù)包大小,并分析時(shí)段內(nèi)數(shù)據(jù)包大小變化情況。為減輕云端統(tǒng)計(jì)各數(shù)據(jù)包大小的計(jì)算量,并更直觀觀察數(shù)據(jù)變化情況,本文以30 s為時(shí)間間隔進(jìn)行統(tǒng)計(jì),得出30 s為間隔時(shí)間的數(shù)據(jù)包大小變化曲線。3種攻擊強(qiáng)度下,攻擊時(shí)段各個(gè)源IP發(fā)送數(shù)據(jù)包的大小如圖9所示。 由圖9可以明顯觀察到,源IP為10.145.1.190的車輛節(jié)點(diǎn)在泛洪攻擊發(fā)生時(shí)刻,數(shù)據(jù)包發(fā)送大小明顯高于其他節(jié)點(diǎn),并且保持在一個(gè)相對(duì)穩(wěn)定的值。對(duì)比低中高3個(gè)強(qiáng)度的攻擊情況,惡意車輛節(jié)點(diǎn)的數(shù)據(jù)包也有明顯差異,隨著攻擊強(qiáng)度的增加,攻擊節(jié)點(diǎn)每30 s內(nèi)發(fā)送數(shù)據(jù)包的總大小也增加。由此可以判斷泛洪攻擊發(fā)生時(shí)段流量的異常變化,是由于車輛節(jié)點(diǎn)10.145.1.190大量發(fā)送數(shù)據(jù)包造成的。因此檢測結(jié)果得出由節(jié)點(diǎn)10.145.1.190發(fā)起了泛洪攻擊。在單個(gè)攻擊源情況下,云端識(shí)別到的異常節(jié)點(diǎn)的數(shù)據(jù)包發(fā)送量將明顯區(qū)別于正常節(jié)點(diǎn)的發(fā)送量,但是在多個(gè)攻擊源情況下,云端統(tǒng)計(jì)到的數(shù)據(jù)量可能出現(xiàn)多個(gè)異常值,影響云端判斷異常節(jié)點(diǎn),此時(shí)暫不考慮多個(gè)攻擊源攻擊車聯(lián)網(wǎng)的情形。 本文針對(duì)車輛網(wǎng)環(huán)境下的泛洪攻擊,提出了基于滑動(dòng)窗口Hurst自相似參數(shù)的流量異常檢測方法。該方法通過在路側(cè)單元上計(jì)算車聯(lián)網(wǎng)數(shù)據(jù)包流量的自相似參數(shù)H值變化曲線,識(shí)別流量異常變化,并將流量異常變化時(shí)段的數(shù)據(jù)包信息上報(bào)云端,云端統(tǒng)計(jì)各節(jié)點(diǎn)數(shù)據(jù)包發(fā)送情況來檢測發(fā)起泛洪攻擊的惡意車輛節(jié)點(diǎn)。實(shí)驗(yàn)結(jié)果表明,流量異常檢測方法可有效檢測不同強(qiáng)度的泛洪攻擊。路側(cè)單元使用Hurst自相似參數(shù)計(jì)算流量自相似性變化曲線,可以有效檢測流量異常變化,云端統(tǒng)計(jì)數(shù)據(jù)包的源IP并分析數(shù)據(jù)包發(fā)送情況可以有效識(shí)別單節(jié)點(diǎn)泛洪的惡意節(jié)點(diǎn),該方法可有效減輕路側(cè)單元和云端的計(jì)算負(fù)載和網(wǎng)絡(luò)數(shù)據(jù)傳輸負(fù)載。此外,該方法還存在待改進(jìn)的地方,針對(duì)于多節(jié)點(diǎn)泛洪攻擊檢測方法還需完善;檢測實(shí)時(shí)性還有待提高。3 分級(jí)流量異常檢測
4 仿真實(shí)驗(yàn)
4.1 仿真平臺(tái)
4.2 數(shù)據(jù)預(yù)處理
4.3 模擬泛洪攻擊
4.4 計(jì)算流量自相似度
4.5 云端統(tǒng)計(jì)數(shù)據(jù)包
5 結(jié)論