羅富財,吳飛,陳倩,何金棟,寇亮
(1.國網(wǎng)福建省電力有限公司 信息中心,福建 福州 350003; 2.哈爾濱工程大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150001)
近年來,隨著傳感器、無線射頻識別標(biāo)簽(RFID)以及機(jī)器對機(jī)器(machine-to-machine, M2M)等相關(guān)技術(shù)的快速發(fā)展,對可穿戴設(shè)備等應(yīng)用領(lǐng)域需求的提高,物聯(lián)網(wǎng)(internet of things, IOT)己經(jīng)成為當(dāng)今學(xué)術(shù)研究領(lǐng)域和工業(yè)制造領(lǐng)域的一項熱門技術(shù),并在未來新型互聯(lián)網(wǎng)世界中占有重要地位[1]。自2005年國際電信聯(lián)盟正式提出物聯(lián)網(wǎng)概念以來,物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展迅猛,目前被廣泛應(yīng)用于環(huán)境監(jiān)測與保護(hù)、智能交通、移動醫(yī)療、食品安全和物流供應(yīng)鏈管理等諸多領(lǐng)域。根據(jù)Statistic門戶網(wǎng)站最新統(tǒng)計數(shù)據(jù),2017年物聯(lián)網(wǎng)的互聯(lián)設(shè)備數(shù)量約為203.5億,預(yù)計2020年增長至307.3億,市場規(guī)模將達(dá)7.1萬億美元。
WSNs作為物聯(lián)網(wǎng)參與信息感知的重要組成部分發(fā)揮著越來越重要的作用。WSNs是一種分布式無線網(wǎng)絡(luò),由部署在感知區(qū)域的數(shù)量龐大的低功耗傳感器節(jié)點通過無線通信鏈路通信所構(gòu)成。傳感器節(jié)點是一種微型計算單元,具有存儲容量小,計算能力有限和電池供能等特點。由于無線網(wǎng)絡(luò)的開放性以及傳感器節(jié)點自身的限制,WSNs面臨著多種多樣的安全威脅。引入密鑰管理和身份認(rèn)證機(jī)制作為保護(hù)WSNs的第一道防線,可以有效防御來自WSNs外部的攻擊。然而,攻擊者通過捕獲節(jié)點可以獲得節(jié)點內(nèi)部的秘密消息,進(jìn)而發(fā)動內(nèi)部攻擊。第一道防線無法抵抗WSNs的內(nèi)部攻擊。入侵檢測技術(shù)作為安全防御的第二道防線能夠從根源上發(fā)現(xiàn)安全威脅,降低攻擊帶來的損失。由于WSNs的局限性,傳統(tǒng)的入侵檢測技術(shù)不能直接應(yīng)用于WSNs環(huán)境中。研究一種適合WSNs入侵檢測技術(shù)成為研究熱點,引起了國內(nèi)外專家學(xué)者的廣泛關(guān)注。
根據(jù)檢測入侵的實現(xiàn)細(xì)節(jié)可以將入侵檢測系統(tǒng)分為基于特征的入侵檢測技術(shù)和基于異常的特征檢測技術(shù)[2]?;谔卣鞯娜肭謾z測技術(shù)使用一組預(yù)定義惡意行為模式和攻擊特征進(jìn)行入侵檢測,而基于異常的入侵檢測系統(tǒng)使用異于正常的行為作為特征檢測入侵行為[3]。WSNs應(yīng)用場景多種多樣,基于預(yù)定義攻擊特征的入侵檢測是不切實際的,基于異常的入侵檢測系統(tǒng)能夠在缺少預(yù)定義攻擊特征的前提下檢測未知攻擊?;诋惓5娜肭謾z測系統(tǒng)主要包括:基于統(tǒng)計學(xué)的入侵檢測技術(shù)和基于機(jī)器學(xué)習(xí)的入侵檢測技術(shù)。
張玲等[4]引入粗糙集方法對基于人工免疫的入侵檢測模型進(jìn)行改進(jìn),將異常檢測和誤用檢測有機(jī)結(jié)合,提出一種入侵檢測方法,該方法能夠在不終止入侵檢測行為的前提下實現(xiàn)疫苗的注入。粗糙集優(yōu)化了疫苗,進(jìn)而提高了入侵檢測方法的檢測性能。疫苗的注入有效降低了檢測器的長度,提高了檢測速度。然而,基于免疫的入侵檢測方法在訓(xùn)練初期存在檢測率低的問題。
杜輝等[5]提出一種K-means算法解決了聚類數(shù)目預(yù)先設(shè)定和算法陷入局部最優(yōu)的問題。該算法在樣本空間均勻地防止若干數(shù)目的探測器,使用萬有引力定律牽引探測器,當(dāng)探測器之間的距離足夠近時,進(jìn)行合并。算法最終包含的探測器的數(shù)目就是聚類中心的數(shù)目。但是該方法對樣本數(shù)據(jù)的離群點效果不佳,由于離群點與聚類中心距離較遠(yuǎn),萬有引力產(chǎn)生的作用微乎其微。
為了解決數(shù)據(jù)量過大造成入侵檢測效率低的問題,江頡等[6]將自適應(yīng)AP算法于聚類算法相結(jié)合,提出自適應(yīng)AP聚類算法,并將其應(yīng)用于入侵檢測。該算法僅對基準(zhǔn)數(shù)據(jù)和距離聚類中心較遠(yuǎn)的樣本進(jìn)行聚類,其余樣本數(shù)據(jù)進(jìn)行直接關(guān)聯(lián)操作,減少了進(jìn)行聚類的樣本數(shù)量,降低了聚類的時間,同時根據(jù)關(guān)聯(lián)結(jié)果對模型不斷調(diào)整。數(shù)據(jù)壓縮提高了聚類的效率,但是不可避免地造成了精度的下降。
劉緒崇[7]針對傳統(tǒng)模糊C均值聚類算法的缺陷,提出一種改進(jìn)算法:采用Mercer核定義優(yōu)化FCM算法的目標(biāo)函數(shù)提高了FCM的尋優(yōu)能力,使用Lagrange乘子法分別計算聚類中心和隸屬度矩陣,提高了算法收斂的速度。但是該算法沒有解決不平衡聚類和噪聲點對聚類結(jié)果的影響。
許勐璠等[8]針對現(xiàn)有入侵檢測方法對未知類型攻擊檢測率低的問題,提出了基于半監(jiān)督學(xué)習(xí)和信息增益率的入侵檢測方案:訓(xùn)練階段,借助半監(jiān)督學(xué)習(xí)算法將少量標(biāo)記數(shù)據(jù)擴(kuò)展為大規(guī)模訓(xùn)練數(shù)據(jù);檢測階段,借助信息增益率量化不同特征對檢測性能的影響,提高了模型對未知類型攻擊的識別能力。
任家東等[9]針對Probe(probing),U2R(user to root)和R2L(remote to local)的檢測率比較低這一問題,提出一種混合多層次入侵檢測模型:首先,使用KNN剔除離群樣本數(shù)據(jù),構(gòu)造一個質(zhì)量高且規(guī)模小的訓(xùn)練集;然后,針對不同類型的攻擊,提出一種類別劃分方法;最終構(gòu)建多層次隨機(jī)森林模型進(jìn)行網(wǎng)絡(luò)異常的檢測。實驗表明該方法能夠提高Probe、U2R和R2L等網(wǎng)絡(luò)攻擊行為的檢測效果。
現(xiàn)有的入侵檢測方法取得一定成果的同時,存在一定的問題:針對已知攻擊類型的攻擊檢測率較高,但是未知類型的攻擊效果不佳;由于應(yīng)用場景的復(fù)雜多變,實際應(yīng)用中的入侵檢方案受到惡劣環(huán)境的影響存在誤報率偏高的現(xiàn)象;為了提高檢測率,一些入侵檢測算法引入復(fù)雜的數(shù)學(xué)模型,增加了計算復(fù)雜度,不適合資源受限的應(yīng)用場景。本文針對WSNs資源高度受限的特性,提出一種基于機(jī)器學(xué)習(xí)的WSNs入侵檢測方法,用來抵抗WSNs常見的攻擊行為。
本文的提出的入侵檢測方法基于3層WSNs網(wǎng)絡(luò)。網(wǎng)絡(luò)包含4種節(jié)點類型:傳感器節(jié)點部署在監(jiān)控區(qū)域,在組網(wǎng)初期根據(jù)分簇算法形成簇,負(fù)責(zé)采集監(jiān)控區(qū)域的狀態(tài)信息,形成感知數(shù)據(jù)并發(fā)送給簇頭節(jié)點;簇頭節(jié)點是每個簇的管理者負(fù)責(zé)將傳感器節(jié)點采集的感知數(shù)據(jù)進(jìn)行數(shù)據(jù)聚合發(fā)送給傳輸節(jié)點;傳輸節(jié)點將數(shù)據(jù)以無線多跳的形式傳輸至匯聚節(jié)點;匯聚節(jié)點負(fù)責(zé)進(jìn)一步處理數(shù)據(jù)并呈現(xiàn)給用戶。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 分層WSNs網(wǎng)絡(luò)模型Fig.1 Cluster-based WSNs network model
本文提出的入侵檢測方法主要針對黑洞攻擊、灰洞攻擊、洪泛攻擊和調(diào)度攻擊等類型的主動攻擊行為,具體如下所示。
黑洞攻擊:攻擊節(jié)點在每個工作周期的開始階段將自己是簇頭節(jié)點的消息通過廣播的方式發(fā)送給其他節(jié)點。因此,一些節(jié)點會錯誤地加入偽簇頭節(jié)點進(jìn)而將數(shù)據(jù)包發(fā)送給偽簇頭節(jié)點。真正的簇頭節(jié)點會將數(shù)據(jù)包轉(zhuǎn)發(fā)至基站,發(fā)起黑洞攻擊的偽簇頭節(jié)點會持續(xù)地丟棄數(shù)據(jù)包并不會轉(zhuǎn)發(fā)給基站。
灰洞攻擊:與黑洞攻擊相同的是,攻擊節(jié)點在每個工作周期的開始階段將自己是簇頭節(jié)點的消息通過廣播的方式發(fā)送給其他節(jié)點。一些節(jié)點會錯誤地加入偽簇頭節(jié)點進(jìn)而將數(shù)據(jù)包發(fā)送給偽簇頭節(jié)點。與黑洞攻擊不同的是,發(fā)起灰洞攻擊的偽簇頭節(jié)點隨機(jī)丟棄數(shù)據(jù)包或者丟棄特定類型的數(shù)據(jù)包并阻止數(shù)據(jù)包轉(zhuǎn)發(fā)給基站。
洪泛攻擊:洪泛攻擊主要發(fā)送大量簇頭廣播消息占用大量網(wǎng)絡(luò)帶寬資源。感知節(jié)點收到大量的簇頭廣播消息不僅耗費了感知層節(jié)點的能源供給,而且導(dǎo)致感知節(jié)點耗費大量時間決定加入具體的簇頭節(jié)點。除此之外,攻擊節(jié)點會嘗試欺騙感知節(jié)點并偽裝成偽簇頭,令遠(yuǎn)距離感知節(jié)點加入自己導(dǎo)致其能源耗費嚴(yán)重。
調(diào)度攻擊:調(diào)度攻擊發(fā)生在LEACH協(xié)議的初始化階段,簇頭節(jié)點實現(xiàn)分時復(fù)用調(diào)度策略為感知節(jié)點確定數(shù)據(jù)傳輸時間戳。攻擊者假裝簇頭節(jié)點,賦予所有感知節(jié)點相同的發(fā)送數(shù)據(jù)時間戳。攻擊者將廣播調(diào)度行為修改為單播調(diào)度行為,最終導(dǎo)致數(shù)據(jù)沖突進(jìn)而數(shù)據(jù)丟失。
定義1樣本數(shù)據(jù)xi的局部密度表示為ρi:
(1)
式中:‖xi-xj‖表示xi和xj之間的歐式距離;dc為預(yù)定義的截斷距離,通常為所有樣本截斷距離的前1%~2%。局部密度ρi表示樣本數(shù)據(jù)xi之間距離小于dc的數(shù)據(jù)點個數(shù)。與樣本數(shù)據(jù)xi之間距離小于dc的數(shù)據(jù)點越多,密度值ρi越大。本文選擇連續(xù)型高斯核計算樣本數(shù)據(jù)的局部密度避免不同樣本數(shù)據(jù)的局部密度值相同。
定義2特征距離表示樣本數(shù)據(jù)xi與具有更高局部密度的樣本數(shù)據(jù)之間的最小距離:
(2)
式中:δi表示樣本數(shù)據(jù)xi與其他高密度樣本數(shù)據(jù)的最短距離。具有較大局部密度和較大特征距離的樣本數(shù)據(jù)成為聚類中心的可能性更大。
定義3直接鄰居q表示樣本數(shù)據(jù)p的直接鄰居定義為:
(3)
擁有最大密度的樣本數(shù)據(jù)xs沒有直接鄰居,這類樣本數(shù)據(jù)的特征距離為:
(4)
構(gòu)造有向無環(huán)圖(directed acycline graph,DAG)根據(jù)特征距離對數(shù)據(jù)集進(jìn)行劃分。DAG的頂點表示數(shù)據(jù)點,DAG的有向邊表示數(shù)據(jù)點之間的鄰居關(guān)系。需要注意一點,直接鄰居關(guān)系是不可逆的,如果數(shù)據(jù)點p的直接鄰居是數(shù)據(jù)點q,那么數(shù)據(jù)點q的直接鄰居不是數(shù)據(jù)點p。使用特征距離作為DAG有向邊的權(quán)重。特征距離可以有效描述數(shù)據(jù)分布密度,擁有較小特征距離的數(shù)據(jù)樣本與它的直接鄰居處在同一類內(nèi),擁有較大特征距離的特征點與它的直接鄰居不在同一類內(nèi)。因此,經(jīng)過若干次迭代后,數(shù)據(jù)集劃分成若干臨時類,如圖2所示。
圖2 基于DAG的臨時類劃分Fig.2 Temporary class division based on DAG
采用同時具備較大局部密度和特征距離的點作為潛在聚類中心可以避免dc選取不當(dāng)導(dǎo)致特征距離大于dc的高局部密度數(shù)據(jù)無法正確聚類的問題。兼顧數(shù)據(jù)局部密度和特征距離二者的優(yōu)點,選取二者的乘積作為最終決定聚類中心的值,記為γ,其中γi=ρiδi。
1)根據(jù)公式γi=ρiδi計算臨時類聚類中心的γ,并將M個臨時類聚類中心按照γ降序排列;
2)根據(jù)γ選擇前C個臨時類的聚類中心作為模糊聚類的初始聚類中心;
3)將余下臨時類內(nèi)的樣本合并到其直接鄰居所在的前C個臨時類內(nèi),完成臨時類的合并,形成數(shù)據(jù)集的初始劃分。
數(shù)據(jù)集初始劃分表示樣本數(shù)據(jù)經(jīng)過臨時類合并算法形成數(shù)據(jù)集的初始劃分,數(shù)據(jù)集初始劃分定義為FC×N=[f1,1,f2,1,…,fC,1;…;f1,N,f2,N,…,fC,N]。
其中C表示臨時類個數(shù),N表示數(shù)據(jù)樣本的總個數(shù)。設(shè)數(shù)據(jù)集的初始劃分共包含C個子類,函數(shù)f滿足:
(5)
聚類中心一般處于數(shù)據(jù)點密度高的區(qū)域,處于高密度區(qū)域的數(shù)據(jù)點應(yīng)該在聚類中心更新時具備更大的權(quán)重,將局部數(shù)據(jù)密度引入模糊聚類的中心計算,聚類中心計算公式更新為:
(6)
將局部密度應(yīng)用于更新聚類中心,僅使用聚類中心相關(guān)的數(shù)據(jù)點進(jìn)行聚類中心更新的計算,能保證聚類中心總是處在高密度區(qū)域附近而非隨機(jī)移動。由于聚類中心總是處在高密度區(qū)域,經(jīng)過較少的迭代次數(shù)目標(biāo)函數(shù)完成收斂,提高了算法的效率。
在初始數(shù)據(jù)集劃分算法的基礎(chǔ)上,本文提出了基于密度感知的核模糊聚類算法(density- awared kernel based fuzzy c-means clustering algorithm, DKFCM)。輸入的樣本經(jīng)過核函數(shù)映射到高維特征空間,解決低維空間線性不可分的問題。DKFCM的目標(biāo)函數(shù)定義[10]:
(7)
(8)
DKFCM算法的目標(biāo)函數(shù)達(dá)到最優(yōu),絕對度矩陣T和相對度矩陣U需要分別滿足:
(9)
(10)
式(10)中的隸屬度矩陣滿足:
將數(shù)據(jù)局部密度和數(shù)據(jù)集初始劃分引入模糊聚類算法,更新聚類中心的計算公式為:
(11)
(12)
(13)
(14)
(15)
DKFCM算法的描述,遠(yuǎn)離聚類中心的點被視為離群點,賦予離群點較小的絕對度,例如tij<ε,ε是非常接近0 的正數(shù)。算法的描述具體如下:
1)計算各個數(shù)據(jù)樣本的局部密度和特征距離,根據(jù)截斷距離dc對數(shù)據(jù)集進(jìn)行基于DAG的臨時類劃分;
2)執(zhí)行臨時類合并算法得到模糊聚類的初始聚類中心tCen以及樣本數(shù)據(jù)與臨時聚類之間的關(guān)系FC×N=[f1,1,f2,1,…,fC,1;…;f1,N,f2,N,…,fC,N];
3)將數(shù)據(jù)樣本的局部數(shù)據(jù)密度和關(guān)系矩陣引入模糊聚類的中心計算,更新聚類中心計算公式;
4)將tCen作為聚類中心V(0)的初始值,運行KFCM算法,獲得模糊隸屬度矩陣、絕對度矩陣,同時初始化核函數(shù);
5)確定c、m、p的值,最大迭代次數(shù)為rmax,停止閾值ε,根據(jù)式(12)~(15)不斷地更新聚類中心,模糊隸屬度矩陣和絕對度矩陣直到收斂。
實際應(yīng)用中,訓(xùn)練集中的樣本數(shù)據(jù)對模型的訓(xùn)練做出的貢獻(xiàn)有所不同,一些樣本數(shù)據(jù)比另外一些樣本數(shù)據(jù)更重要。有意義的樣本數(shù)據(jù)期望被正確分類,而像噪聲這種無意義的樣本數(shù)據(jù)是否正確分類影響不大。這就意味著一些樣本數(shù)據(jù)可能不僅屬于一個類也可能屬于多個類:樣本數(shù)據(jù)90%的可能屬于某一個類、10%的可能無實際意義或者20%的可能屬于一個類、80%的可能無實際意義。換言之,每個樣本數(shù)據(jù)存在模糊隸屬度0 模糊支持向量機(jī)(fuzzy support vector machine, FSVM)模型求解最優(yōu)分類超平面轉(zhuǎn)換成基于不等式約束的二次規(guī)劃問題: (16) 滿足約束條件: 式中:w是分類超平面向量;b是偏移量;φ(xi)是將樣本xi映射到高維空間的非線性核函數(shù);ξi是分類錯誤率,C是控制分類邊際與分類錯誤率之間的正則化常數(shù);si由DKFCM算法完成聚類后,所得的模糊隸屬度uij確定,能夠降低分類錯誤率對目標(biāo)函數(shù)的影響,降低了噪聲和孤立點的影響力。 構(gòu)造拉格朗日乘子對式(16)進(jìn)行優(yōu)化: (17) 使用SMO優(yōu)化算法對式(17)進(jìn)行求解獲得最優(yōu)判別式: (18) 在DKFCM與FSVM的基礎(chǔ)上本文提出一種應(yīng)用于WSNs的基于機(jī)器學(xué)習(xí)的入侵檢測模型DKFCM-FSVM,如圖3所示。 圖3 入侵檢測模型Fig.3 Intrusion detection model 模型包含的實體包括匯聚節(jié)點、檢測節(jié)點和普通節(jié)點,具體分工如下。 1)匯聚節(jié)點。 匯聚節(jié)點的主要功能是訓(xùn)練檢測器,主要包括樣數(shù)據(jù)預(yù)處理、訓(xùn)練分類器和分發(fā)分類器3個功能。 數(shù)據(jù)預(yù)處理:與普通節(jié)點不同的是,網(wǎng)關(guān)節(jié)點具有充足的能源供給和強大的運算能力,能夠處理大規(guī)模樣本數(shù)據(jù)庫?;具x取WSN-DS(針對無線傳感器網(wǎng)絡(luò)入侵檢測設(shè)計的數(shù)據(jù)集)作為訓(xùn)練集訓(xùn)練DKFCM-FSVM模型。數(shù)據(jù)預(yù)處理的2個重要過程是歸一化和特征降維。 訓(xùn)練檢測器:檢測器的訓(xùn)練是入侵檢測模型的關(guān)鍵部分。首先,網(wǎng)關(guān)節(jié)點對訓(xùn)練集進(jìn)行數(shù)據(jù)預(yù)處理;計算樣本數(shù)據(jù)的數(shù)據(jù)密度和特征距離,使用臨時類合并算法形成數(shù)據(jù)集初始劃分,挖掘訓(xùn)練集中數(shù)據(jù)點潛在的分布特征;使用DKFCM算法計算模糊隸屬度矩陣U(r);根據(jù)式(18)訓(xùn)練模糊支持向量機(jī),計算參數(shù)α和b。根據(jù)式(18)進(jìn)行樣本的預(yù)測并驗證提出方法的準(zhǔn)確度。檢測結(jié)果以正?;虍惓5男问捷敵?。 發(fā)布檢測器:基站將驗證過的檢測器發(fā)送至各個檢測節(jié)點,供檢測節(jié)點進(jìn)行入侵行為的檢測。 2)檢測節(jié)點。 一定數(shù)量的檢測節(jié)點被分配到網(wǎng)絡(luò)內(nèi)對普通節(jié)點提取的測試樣本進(jìn)行檢測以便發(fā)現(xiàn)入侵行為。相比于普通節(jié)點,檢測節(jié)點具備更大的存儲空間和強大的運算能力,可以存儲檢測模型和運行入侵檢測算法。檢測節(jié)點的主要功能是實時檢測入侵行為: 檢測節(jié)點運行基站發(fā)布的檢測器,主要依據(jù)公式(18)對網(wǎng)絡(luò)行為進(jìn)行檢測,結(jié)果為正常和異常;檢測節(jié)點一旦發(fā)現(xiàn)異常行為向基站發(fā)送告警信息;檢測節(jié)點向基站發(fā)送新的樣本并更新基站樣本數(shù)據(jù)庫,通知基站重新訓(xùn)練檢測器保證檢測器的實效性。 3)普通節(jié)點。 普通節(jié)點運行監(jiān)測代理(monitor agent, MA)獲取感知層網(wǎng)絡(luò)中感知節(jié)點獲取的感知數(shù)據(jù),并發(fā)送至檢測節(jié)點進(jìn)行入侵檢測。 在入侵檢測實驗中,感知層網(wǎng)絡(luò)的覆蓋范圍是100 m×100 m,100個感知節(jié)點:使用筆記本計算機(jī)作為網(wǎng)關(guān)節(jié)點,檢測節(jié)點10個,普通節(jié)點90個。仿真參數(shù)如表1所示。每次仿真的持續(xù)時間設(shè)置為200 s,實驗結(jié)果采用20次仿真結(jié)果的平均值。 表1 仿真模型的參數(shù)和值Table 1 Parameters and Values of simulation model 本節(jié)采用NS-2進(jìn)行仿真實驗驗證本文提出的入侵檢測算法的有效性。為了驗證提出方法在感知層網(wǎng)絡(luò)環(huán)境下入侵檢測的效果,本小節(jié)采用的數(shù)據(jù)集WSN-DS。WSN-DS數(shù)據(jù)集是專門針對WSNs入侵檢測所設(shè)計。在使用低能量感知集群層次結(jié)構(gòu)(LEACH)路由協(xié)議的感知層網(wǎng)絡(luò)環(huán)境收集數(shù)據(jù)并形成數(shù)據(jù)集。WSN-DS數(shù)據(jù)集包含374 661條記錄,數(shù)據(jù)集的每個樣本包含23個屬性,文獻(xiàn)[11]介紹了每個屬性的具體含義。分別將WSN-DS數(shù)據(jù)集的60%和40%作為訓(xùn)練集和測試集,每種類型的攻擊具體如表2所示。 表2 數(shù)據(jù)集隨機(jī)分配訓(xùn)練集60%和測試集40%Table 2 The random distribution of data set 60% of training set and 40% of test set data sets 入侵檢測系統(tǒng)的檢測結(jié)果包含下面四種:真陽性(true positive,TP)表示異常行為被正確識別為異常行為所占的比例;假陽性(false positive,F(xiàn)P)表示正常行為被錯誤識別為異常行為所占的比例;真陰性(true negative,TN)表示正常行為被正確識別為正常行為所占的比例;假陰性(false negative,F(xiàn)N)表示異常行為被錯誤識別為正常行為所占的比例。根據(jù)上述4種檢測結(jié)果進(jìn)一步演化出準(zhǔn)確率、誤報率、漏報率和受試者工作特性曲線下方面積,作為本文入侵檢測技術(shù)采用的評價指標(biāo)。 1)準(zhǔn)確率(precision)表示正確識別異常行和正常行為為占有的比例,計算公式為: (19) 2)誤報率(false positive rate, FPR)表示將正常行為識別為異常行為占有的比例為: (20) 3) 漏報率(false negative rate, FNR)表示將異常行為識別為正常行為占有的比例: (21) 為了驗證提出方法的有效性,本節(jié)選擇SVM、FCM-SVM、FCM-FSVM和KFCM-FSVM算法作為對比算法分別對比。算法的核函數(shù)采用高斯核函數(shù),F(xiàn)CM-FSVM、KFCM-FSVM和DKFCM-FSVM的參數(shù)m取典型值2,ε取典型值0.01,使用隨機(jī)矩陣作為初始矩陣,根據(jù)文獻(xiàn)[12]設(shè)置模糊隸屬度,其中核函數(shù)的參數(shù)σ取值為0.01,正則化常數(shù)C取值為2。在訓(xùn)練集上訓(xùn)練本文提出的算法和對照組算法,訓(xùn)練完成后在測試集上完成算法的驗證。采用10-fold交叉驗證方式,取實驗結(jié)果的平均值進(jìn)行對比。 圖4給出了DKFCM-FSVM與對照算法之間在準(zhǔn)確率上的對比結(jié)果。同對照算法相比,本文提出的DKFCM-FSVM算法檢測5種行為的平均準(zhǔn)確率分別為0.998、0.993、0.905、0.997和0.947,在不同行為的檢測上準(zhǔn)確率均達(dá)到最優(yōu)。SVM算法耗時短,檢測率最差,其次是FCM-SVM算法,優(yōu)于SVM算法。FCM-FSVM和KFCM-FSVM的檢測率相近,DKFCM-FSVM略優(yōu)于KFCM-FSVM。 圖4 5種分類算法的準(zhǔn)確率對比Fig.4 Comparison of precision rates of five classification algorithms 圖5給出了DKFCM-FSVM與對照算法之間在誤報率上的對比結(jié)果。同對照算法相比,本文提出的DKFCM-FSVM算法檢測5種行為的平均誤報率分別為0.004、0.004、0.01、0.002和0.006,在不同行為的檢測上達(dá)到最低的誤報率。SVM算法的誤報率最高,其次是FCM-SVM算法,優(yōu)于SVM算法。FCM-FSVM和KFCM-FSVM的誤報率相近,DKFCM-FSVM優(yōu)于KFCM-FSVM。 圖5 5種分類算法的誤報率對比Fig.5 Comparison of false positive rates of five classification algorithms 圖6給出了DKFCM-FSVM與對照算法之間在漏報率上的對比結(jié)果。同對照算法相比,本文提出的DKFCM-FSVM算法檢測5種行為的平均漏報率分別為0.004、0.003、0.002、0.007和0.006,在不同行為的檢測上達(dá)到最低的漏報率。SVM算法的漏報率較高,其次是FCM-SVM算法,優(yōu)于SVM算法。FCM-FSVM和KFCM-FSVM的漏報率相近,DKFCM-FSVM優(yōu)于KFCM-FSVM。 圖6 5種分類算法的漏報率對比Fig.6 Comparison of underreporting rates of five classification algorithms 圖7給出了DKFCM-FSVM與對照算法之間在總體檢測準(zhǔn)確率的對比結(jié)果,各算法你總體檢測準(zhǔn)確率分別為0.820 8、0.859 6、0.923 6、0.933 2和0.968。因此,本文提出的DKFCM-FSVM優(yōu)于對比算法。 圖7 5種分類算法的總體檢測準(zhǔn)確率對比Fig.7 Comparison of the overall detection accuracy of five classification algorithms 實驗結(jié)果分析:WSNs環(huán)境下,正常數(shù)據(jù)和入侵?jǐn)?shù)據(jù)的比例不平衡,多數(shù)行為是正常行為,由入侵攻擊產(chǎn)生的異常數(shù)據(jù)占有極少數(shù),除此之外正常行為和入侵行為在多數(shù)情況下線性不可分,需要使用核函數(shù)映射到高維空間,SVM的檢測效果不佳。FCM對初始聚類的選取和不平衡的數(shù)據(jù)集敏感,同樣效果不佳。即使使用核函數(shù)將樣本映射到高維空間,噪聲數(shù)據(jù)和離群點對聚類產(chǎn)生的影響也是不容忽視的,引入數(shù)據(jù)密度和特征距離能有效避免噪聲數(shù)據(jù)和離群點對分類結(jié)果的影響,達(dá)到最優(yōu)分類結(jié)果。誤報率和漏報率低也說明本文提出的算法更適合不平衡數(shù)據(jù)集,能有效應(yīng)對離群點和噪聲數(shù)據(jù)。 1)DKFCM引入數(shù)據(jù)密度和特征距離對模糊聚類進(jìn)行改進(jìn),降低了噪聲點和離群點對聚類算法影響的同時加快了聚類算法的收斂速度;FSVM使用DKFCM所得的模糊隸屬度作為模糊因子,增強了模糊因子選取的客觀性,提高了分類準(zhǔn)確度,顯著提高了WSNs場景下入侵檢測的效果。 2)實驗結(jié)果表明,在WSN-DS數(shù)據(jù)集下,DKFCM-FSVM入侵檢測各項評價指標(biāo)與對照算法相比均達(dá)到最優(yōu),其能源消耗僅比SVM略高。因此,DKFCM-FSVM可以應(yīng)用到實際的WSNs場景中,從而提升WSNs抵抗網(wǎng)絡(luò)內(nèi)部攻擊的能力。 3)傳統(tǒng)機(jī)器學(xué)習(xí)處理大規(guī)模數(shù)據(jù)具有檢測精度低和檢測速度慢等問題。深度學(xué)習(xí)在模式識別、圖像處理和惡意流量分析等方面取得顯著成功,為入侵檢測領(lǐng)域提供了一種思路。2.4 模糊支持向量機(jī)
3 實驗與分析
3.1 實驗環(huán)境
3.2 評價指標(biāo)
3.3 實驗結(jié)果分析
4 結(jié)論