羅文華,許彩滇
(中國(guó)刑事警察學(xué)院 網(wǎng)絡(luò)犯罪偵查系, 沈陽(yáng) 110035)E-mail:luowenhua770404@126.com
隨著存儲(chǔ)空間及計(jì)算能力的迅速進(jìn)步,對(duì)搜集、存儲(chǔ)、管理及處理數(shù)據(jù)的能力大幅度提升,在網(wǎng)絡(luò)入侵檢測(cè)中應(yīng)用機(jī)器學(xué)習(xí)技術(shù),已成為近年來(lái)安全領(lǐng)域的研究熱點(diǎn)[1].常用于網(wǎng)絡(luò)入侵檢測(cè)的算法有Kmeans、DBSCAN、PCA、K-NN、SVM、貝葉斯分類(lèi)等算法.但這些算法的檢測(cè)率較低或者誤檢率高,通過(guò)進(jìn)一步改進(jìn)提高了檢測(cè)能力[2].Wei-Chao Lin等[3]將Kmeans算法和Knn算法結(jié)合使用后形成新的入侵檢測(cè)算法CANN,并基于KDDCUP 99數(shù)據(jù)集對(duì)該算法進(jìn)行了較有效的驗(yàn)證.戴敏[4]構(gòu)建一種并行化的量子粒子群優(yōu)化(QPSO)算法,對(duì)KDDCUP 99數(shù)據(jù)集進(jìn)行特征選擇,實(shí)現(xiàn)一種并行化的樸素貝葉斯分類(lèi)器用于網(wǎng)絡(luò)入侵檢測(cè).郭慧等[5]通過(guò)云模型對(duì)KDDCUP 99數(shù)據(jù)集連續(xù)屬性進(jìn)行離散化,引入加權(quán)選擇概率函數(shù),使得決策樹(shù)算法能檢測(cè)出全部類(lèi)別攻擊.然而,上述網(wǎng)絡(luò)入侵檢測(cè)算法多為單步式檢測(cè)的形式,具有一定的缺點(diǎn).
單步式網(wǎng)絡(luò)入侵檢測(cè)算法在檢測(cè)非平衡(各類(lèi)數(shù)據(jù)分布嚴(yán)重不均)數(shù)據(jù)集時(shí),往往難以準(zhǔn)確高效地檢測(cè)所有類(lèi)別的數(shù)據(jù).例如,對(duì)于罕見(jiàn)攻擊U2R類(lèi)數(shù)據(jù),由于其占比很低,被檢測(cè)的成功率往往不高[6].Solane Duque等[7]利用基于簽名的K-means算法構(gòu)建一個(gè)自動(dòng)識(shí)別數(shù)據(jù)類(lèi)群的入侵檢測(cè)算法,一次性對(duì)NSL-KDD數(shù)據(jù)集劃分,雖降低了誤報(bào)率,但整體類(lèi)別的數(shù)據(jù)的檢測(cè)率較低.相比單步式檢測(cè),多步式檢測(cè)通過(guò)逐步劃分減少數(shù)據(jù)量的方式將非平衡數(shù)據(jù)往均衡狀態(tài)方向發(fā)展,提升罕見(jiàn)入侵行為數(shù)據(jù)的被檢測(cè)率.不僅能適應(yīng)平衡數(shù)據(jù)集,也能良好地適應(yīng)非平衡據(jù)集,具有更強(qiáng)的應(yīng)用性.因此,考慮將基于聚類(lèi)算法的多步檢測(cè)思路應(yīng)用到網(wǎng)絡(luò)入侵類(lèi)別檢測(cè)中.
K-means算法作為一種常用的入侵檢測(cè)聚類(lèi)算法,其應(yīng)用廣泛、實(shí)現(xiàn)簡(jiǎn)單.但是,K-means聚類(lèi)算法的初始聚類(lèi)中心是隨機(jī)選取的,聚類(lèi)中心數(shù)需要人為設(shè)定,導(dǎo)致聚類(lèi)結(jié)果不穩(wěn)定[8];并且K-means聚類(lèi)算法基于距離劃分?jǐn)?shù)據(jù),結(jié)果簇趨向于球形[9],對(duì)非球形分布數(shù)據(jù)的適用性較差.DBSCAN聚類(lèi)算法則是一種基于密度劃分?jǐn)?shù)據(jù)的方法,不需要事先設(shè)定聚類(lèi)中心的數(shù)量[10].由于基于密度劃分,DBSCAN算法能夠根據(jù)數(shù)據(jù)在空間分布的密度情況自行劃分簇?cái)?shù),而且數(shù)據(jù)密度分布是穩(wěn)定的,使得聚類(lèi)結(jié)果具有穩(wěn)定性.但是,DBSCAN算法需要人為設(shè)定最小包含點(diǎn)數(shù)(MinPts)和掃描半徑(Eps)參數(shù),依賴(lài)多次經(jīng)驗(yàn)才能合理地選擇參數(shù),否則難有準(zhǔn)確的聚類(lèi)結(jié)果.為使入侵檢測(cè)輸出準(zhǔn)確穩(wěn)定的聚類(lèi)結(jié)果,提升檢測(cè)方法對(duì)球形與非球形數(shù)據(jù)的適用性,提出一種基于密度自適應(yīng)計(jì)算參數(shù)的改進(jìn)DBSCAN聚類(lèi)算法.
基于多步檢測(cè)思路及改進(jìn)DBSCAN聚類(lèi)算法,提出一種基于改進(jìn)DBSCAN聚類(lèi)的多步式網(wǎng)絡(luò)入侵類(lèi)別檢測(cè)算法.該算法可以實(shí)現(xiàn)網(wǎng)絡(luò)行為數(shù)據(jù)的自動(dòng)聚類(lèi)以及優(yōu)化,并對(duì)于如何依據(jù)數(shù)據(jù)自身分布確定DBSCAN聚類(lèi)參數(shù)進(jìn)行了深入研究.本文按如下結(jié)構(gòu)進(jìn)行組織,除“引言”部分外,第2節(jié)著重于描述NSL-KDD數(shù)據(jù)集以及對(duì)其數(shù)據(jù)的特征處理過(guò)程;第3節(jié)重點(diǎn)基于入侵檢測(cè)視角說(shuō)明如何對(duì)DBSCAN聚類(lèi)算法進(jìn)行改進(jìn),闡述自適應(yīng)計(jì)算聚類(lèi)參數(shù)的方法與依據(jù);第4節(jié)說(shuō)明基于改進(jìn)DBSCAN聚類(lèi)的多步式網(wǎng)絡(luò)入侵類(lèi)別檢測(cè)過(guò)程;第5節(jié)展示入侵檢測(cè)效果,并與其他入侵檢測(cè)方法進(jìn)行比較說(shuō)明;第6節(jié)對(duì)本文的主要工作進(jìn)行總結(jié),指出了不足并說(shuō)明未來(lái)研究的方向.
NSL-KDD訓(xùn)練集[11]有125973條數(shù)據(jù),測(cè)試集有22544條數(shù)據(jù).這些數(shù)據(jù)有42維,其中前41維為特征值,第42維為屬性標(biāo)識(shí).NSL-KDD數(shù)據(jù)集包含Normal、Dos、Probe、U2R和R2L五大類(lèi)行為數(shù)據(jù),且各類(lèi)數(shù)據(jù)的占比類(lèi)似于現(xiàn)實(shí)中各類(lèi)行為出現(xiàn)的頻率,故NSL-KDD數(shù)據(jù)集適合作為入侵類(lèi)別檢測(cè)算法的驗(yàn)證數(shù)據(jù)集.隨著NSL-KDD數(shù)據(jù)集越來(lái)越廣泛應(yīng)用于網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域,NSL-KDD數(shù)據(jù)集驗(yàn)證網(wǎng)絡(luò)入侵檢測(cè)算法的有效性得到普遍認(rèn)同,具有權(quán)威代表性.
NSL-KDD數(shù)據(jù)集可以通過(guò)提取代表性維度進(jìn)行降維,提高效率并找出有用的特征子集.Sang-Hyun Choi和Hee-Su Chae[12]基于NSL-KDD數(shù)據(jù)集將一種有效的分類(lèi)決策樹(shù)算法應(yīng)用于評(píng)估維度約簡(jiǎn)方法選取代表性維度.劉白璐、楊雅等[13]以遺傳算法和SOM神經(jīng)網(wǎng)絡(luò)作為評(píng)價(jià)模型,將39維早期特征減少為29維.ZHANG Xue-qin等[14]利用Fisher評(píng)分方法對(duì)每個(gè)維度進(jìn)行評(píng)分,依據(jù)維度評(píng)分的大小選取具有代表性維度.相對(duì)于分類(lèi)決策樹(shù)約簡(jiǎn)維度的方法,以及基于神經(jīng)網(wǎng)絡(luò)選擇特征的方法,以Fisher評(píng)分作為維度評(píng)分方法,能夠在不同劃分情形下自動(dòng)判斷出代表性維度,達(dá)到數(shù)據(jù)降維的目的,實(shí)現(xiàn)在低維度空間按照劃分順序劃分?jǐn)?shù)據(jù).同時(shí),代表性維度可以按其Fisher評(píng)分在所有維度評(píng)分總分的占比,重新被賦予權(quán)重,使各維度在檢測(cè)過(guò)程中的權(quán)重符合其劃分能力.
NSL-KDD數(shù)據(jù)集中Protocol_type(2)、Service(3)、Flag(4)維度的特征值為文字型,如Tcp、ftp_data和SF,無(wú)法直接參與到Fisher評(píng)分和聚類(lèi)中的樣本間距離計(jì)算.若直接排除這3個(gè)維度的特征值,可能影響到維度評(píng)分和聚類(lèi)的結(jié)果.因此,保留這3個(gè)維度的特征值,并用文字型特征值在數(shù)據(jù)集中出現(xiàn)的次數(shù)替換對(duì)應(yīng)的數(shù)值型特征值.在同一維度中,文字型特征值替換它們自身出現(xiàn)的次數(shù)后,能夠反映出與其他特征值的差異.轉(zhuǎn)化后,Protocol_type(2)、Service(3)、Flag(4)維度的特征值與其他維度的特征值共同參與維度評(píng)分和聚類(lèi).
NSL-KDD數(shù)據(jù)集的每一個(gè)樣本是41維的特征向量及屬性標(biāo)識(shí),在入侵檢測(cè)需要進(jìn)行降維操作,以此減少大數(shù)據(jù)量聚類(lèi)需要的算力要求,實(shí)現(xiàn)高效準(zhǔn)確的入侵檢測(cè).在多維度中選取一部分具有代表性的特征維度,是一種常見(jiàn)有效的降維方法.Fisher評(píng)分具體實(shí)施時(shí),在多維度中挑選一個(gè)維度的特征向量作為分類(lèi)依據(jù),利用SVM向量機(jī)分類(lèi)出訓(xùn)練集中的正常簇和異常簇,然后計(jì)算此維度的特征向量對(duì)應(yīng)的Fisher評(píng)分,循環(huán)上述過(guò)程,直到多個(gè)維度的Fisher評(píng)分計(jì)算完成.在分類(lèi)正常簇和Dos簇、正常簇和Probe簇、正常簇和U2R簇、正常簇和R2L簇時(shí),也可以使用上述Fisher評(píng)分方法.Fisher評(píng)分的定義為:
(1)
其中,Sb為兩個(gè)簇間的距離,Sw為簇內(nèi)距離.
(2)
(3)
(4)
(5)
其中,x∈+1和x∈-1的+1、-1分別表示正常簇、異常簇,x表示節(jié)點(diǎn)特征值.而Sw的定義為:
Sw=S1+S2
(6)
(7)
(8)
其中,N1是正常簇中的節(jié)點(diǎn)數(shù),N2是異常簇中的節(jié)點(diǎn)數(shù);σ1、σ2分別為正常簇、異常簇內(nèi)距離方差.
但是,上述方法中基于SVM向量機(jī)進(jìn)行分類(lèi)具有一定的缺陷.由于SVM向量機(jī)很難確保核函數(shù)完全讓數(shù)據(jù)集線性可分,這導(dǎo)致分離面難以準(zhǔn)確介于兩個(gè)不同類(lèi)之間.所以,為緩解這個(gè)問(wèn)題,SVM向量機(jī)允許分離面處于軟間隔狀態(tài),一些介于ε間隔帶(位于分離面兩側(cè),寬度為ε)樣本會(huì)被分錯(cuò).
針對(duì)此缺陷,結(jié)合SVM向量機(jī)和KNN算法的SVM-KNN算法[15],能對(duì)處于ε間隔帶的樣本進(jìn)一步確定屬性.首先用SVM向量機(jī)分類(lèi)數(shù)據(jù)集,然后基于KNN算法對(duì)落入ε間隔帶的樣本點(diǎn)重新分類(lèi),改善分類(lèi)效果.將Fisher評(píng)分方法中的SVM向量機(jī)改進(jìn)為SVM-KNN分類(lèi)算法,提升評(píng)分的準(zhǔn)確度.
由于每個(gè)維度的特征值的最大值不同,在用多維度數(shù)據(jù)計(jì)算樣本點(diǎn)間距離時(shí),特征值總體偏大的維度數(shù)據(jù)對(duì)計(jì)算結(jié)果影響更大,而特征值總體偏小的維度對(duì)計(jì)算結(jié)果影響會(huì)變小,造成維度間的地位偏離Fisher評(píng)分結(jié)果.例如:計(jì)算樣本點(diǎn)1(100,0.01)與樣本點(diǎn)2(50,1)間的距離,其中維度2的Fisher評(píng)分高于維度1.可知,這種情況下,即使維度2比維度1更具有劃分能力(Fisher評(píng)分),但由于維度1的特征值總體上大于維度2,造成距離的計(jì)算結(jié)果絕大程度上受維度1影響.
因此,在數(shù)據(jù)預(yù)處理階段增加維度按比例加減權(quán)這一步驟.讓具有代表性的維度按照各自Fisher評(píng)分占總分的比例,對(duì)其賦予相應(yīng)的權(quán)重.維度按比例賦予權(quán)重的過(guò)程如下:
(9)
說(shuō)明:xi為某維度中的特征值,xmax為維度中最大的特征值,F(xiàn)i為維度i的Fisher評(píng)分,F(xiàn)sum為各維度的Fisher評(píng)分之和,100為總權(quán)重,Xi為xi更新后的值.
通過(guò)改進(jìn)DBSCAN聚類(lèi)算法,實(shí)現(xiàn)其能夠自動(dòng)且較準(zhǔn)確地劃分網(wǎng)絡(luò)行為數(shù)據(jù).在改進(jìn)DBSCAN聚類(lèi)應(yīng)用于多步式網(wǎng)絡(luò)入侵類(lèi)別檢測(cè)時(shí),該聚類(lèi)算法能自動(dòng)且較準(zhǔn)確地劃分出不同網(wǎng)絡(luò)入侵類(lèi)別的數(shù)據(jù),實(shí)現(xiàn)較好的檢測(cè)效果.
由于數(shù)據(jù)在多維空間中的分布體現(xiàn)出相似性和相異性,相似的數(shù)據(jù)相互靠得近,而相異的數(shù)據(jù)互相離得遠(yuǎn).所以,相似數(shù)據(jù)所在的區(qū)域呈現(xiàn)凝聚態(tài),樣本點(diǎn)的分布密度較高,而相異數(shù)據(jù)間的區(qū)域?yàn)榇亻g分隔區(qū)域,樣本點(diǎn)分布密度較低.在高密度數(shù)據(jù)集合之間存在著低密度區(qū)域,且低密度區(qū)域存在著一定的寬度.所以,在樣本點(diǎn)密度參數(shù)不低于臨界點(diǎn)(其恰好能分辨出兩個(gè)簇間的空間,指明這個(gè)空間是簇間分隔區(qū)域)的情況下,隨著密度參數(shù)的逐漸降低,聚類(lèi)結(jié)果的簇?cái)?shù)會(huì)呈現(xiàn)收斂狀態(tài),并在一定密度值區(qū)間內(nèi)保持穩(wěn)定.同時(shí),密度值越小,則噪聲率越低,而且聚類(lèi)結(jié)果越準(zhǔn)確[16].這是因?yàn)殡S著密度參數(shù)的降低,越多的低密度樣本點(diǎn)被劃分進(jìn)簇,因此噪聲率變低.綜上所述,在一定密度值區(qū)間內(nèi),密度參數(shù)越小,則聚類(lèi)效果越好.因此,臨界點(diǎn)密度是最理想的DBSCAN算法參數(shù),其對(duì)應(yīng)的樣本點(diǎn)數(shù)及拐點(diǎn)半徑即為最小包含點(diǎn)數(shù)(MinPts)和掃描半徑(Eps)參數(shù).
基于最小二乘法曲線擬合和樣本點(diǎn)密度分布情況,自適應(yīng)計(jì)算聚類(lèi)參數(shù).實(shí)驗(yàn)發(fā)現(xiàn)用曲線擬合計(jì)算拐點(diǎn)半徑的思路計(jì)算每個(gè)點(diǎn)到其他點(diǎn)的距離后,統(tǒng)計(jì)距離與樣本點(diǎn)數(shù)的關(guān)系,可以發(fā)現(xiàn)在某個(gè)距離區(qū)間內(nèi)存在密集的點(diǎn),這個(gè)密集的區(qū)域到中心點(diǎn)的半徑可作為DBSCAN聚類(lèi)的掃描半徑(Eps),即拐點(diǎn)半徑ri.
拐點(diǎn)半徑ri計(jì)算方法為:首先計(jì)算樣本點(diǎn)xi與其他樣本點(diǎn)xj的歐氏距離dij,將距離集{j=1,…,n(j≠i)|dij}從大到小排序,得到新的距離集{1≤m≤(n-1)|dm};然后以距離集{1≤m≤(n-1)|dm}作“m-dm”曲線圖(橫坐標(biāo)為dm對(duì)應(yīng)的序號(hào)m,縱坐標(biāo)為距離dm);最后基于最小二乘法曲線擬合原理,利用三次方程擬合“m-dm”二維曲線;并利用二階求導(dǎo)計(jì)算出曲線拐點(diǎn)對(duì)應(yīng)的縱坐標(biāo)y值,y即為拐點(diǎn)半徑ri,如圖1.
圖1 基于距離集計(jì)算拐點(diǎn)半徑
通過(guò)三次方程曲線擬合和二階求導(dǎo),可大致計(jì)算出這個(gè)半徑ri和在此區(qū)域內(nèi)的樣本點(diǎn)數(shù)ni.遍歷數(shù)據(jù)集,計(jì)算每個(gè)點(diǎn)對(duì)應(yīng)的拐點(diǎn)半徑ri,及以ri為半徑的空間區(qū)域內(nèi)的樣本點(diǎn)數(shù)ni,并求出相應(yīng)的樣本點(diǎn)密度,形成密度集densitydata.
在選擇最小包含點(diǎn)數(shù)(MinPts)和掃描半徑(Eps)參數(shù)時(shí),由于這兩個(gè)參數(shù)在聚類(lèi)中全局使用,所以它們應(yīng)該盡可能多地區(qū)分出簇間分隔區(qū)域.密度集densitydata有每個(gè)點(diǎn)對(duì)應(yīng)的點(diǎn)分布密度,將其按大小順序排列,繪制分布曲線,呈現(xiàn)出一段密度曲線平緩穩(wěn)定的區(qū)間range,見(jiàn)圖2.當(dāng)聚類(lèi)參數(shù)的密度在區(qū)間range左邊時(shí),密度對(duì)應(yīng)的參數(shù)值低于大部分樣本點(diǎn)周?chē)拿芏?,容易將簇間分隔區(qū)域錯(cuò)誤識(shí)別為簇內(nèi)區(qū)域;當(dāng)聚類(lèi)參數(shù)的密度在區(qū)間range右邊時(shí),密度對(duì)應(yīng)的參數(shù)值高于大部分樣本點(diǎn)周?chē)拿芏?,容易將簇?nèi)區(qū)域錯(cuò)誤識(shí)別為簇間分隔區(qū)域.密度區(qū)間range中的最小密度值最接近于臨界點(diǎn)密度,其對(duì)應(yīng)的拐點(diǎn)半徑ri及樣本點(diǎn)數(shù)ni作為DBSCAN聚類(lèi)算法的MinPts 和 Eps 參數(shù).
圖2 密度曲線的穩(wěn)定區(qū)間range
Step 1.計(jì)算樣本點(diǎn)xi與其他樣本點(diǎn)xj的歐氏距離,距離集{j=1,…,n(j≠i)|dij}從大到小排序,得到新的距離集{1≤m≤(n-1)|dm};
Step 2.用新的距離集{1≤m≤(n-1)|dm}基于最小二乘法曲線擬合,產(chǎn)生三次方程,通過(guò)對(duì)此三次方程二階求導(dǎo)計(jì)算樣本點(diǎn)xi的拐點(diǎn)半徑ri及樣本點(diǎn)數(shù)ni,然后計(jì)算樣本點(diǎn)對(duì)應(yīng)的密度ρ;
Step 3.循環(huán)Step 1-Step 2,遍歷數(shù)據(jù)集的每一個(gè)樣本點(diǎn),計(jì)算出每個(gè)樣本點(diǎn)對(duì)應(yīng)的密度ρ,形成密度集densitydata;
Step 4.密度集densitydata有每個(gè)樣本點(diǎn)的密度ρ,將其按大小順序排列,基于最小二乘法曲線擬合,產(chǎn)生三次方程,通過(guò)對(duì)此三次方程一階求導(dǎo)計(jì)算出曲線的凸點(diǎn)D;
Step 5.用凸點(diǎn)D對(duì)應(yīng)的半徑和樣本點(diǎn)數(shù)作為DBSCAN聚類(lèi)中的MinPts 和 Eps 參數(shù);
Step 6.檢查數(shù)據(jù)集中尚未檢查過(guò)的樣本點(diǎn)xi,如果其未被處理(即被標(biāo)為噪聲點(diǎn)或被劃分到某個(gè)簇),則檢查其鄰域(掃描半徑Eps內(nèi)的區(qū)域),若包含的對(duì)象數(shù)大于或等于最小包含點(diǎn)數(shù)MinPts,則建立新的簇Ci,將其中所有的樣本點(diǎn)xi劃分到候選集N,否則將xi標(biāo)記為噪點(diǎn);
Step 7.對(duì)候選集N中所有尚未被處理的樣本點(diǎn)xi,檢查樣本點(diǎn)xi的鄰域,若至少包含MinPts個(gè)樣本點(diǎn),則將這些樣本加入候選集N中;
Step 8.如果樣本點(diǎn)xi未歸入任何一個(gè)簇,則將樣本點(diǎn)xi劃分到Ci中;
Step 9.重復(fù)Step 7-Step 8,繼續(xù)檢查候選集N中未處理的對(duì)象,直到候選集N為空集;
Step 10.重復(fù)Step 6-Step 9,直到全部樣本都被劃分到某個(gè)簇中或被標(biāo)為噪聲.
采用多步檢測(cè)的目的是通過(guò)對(duì)網(wǎng)絡(luò)行為數(shù)據(jù)集的逐步劃分減少大類(lèi)數(shù)據(jù)量,將非平衡數(shù)據(jù)往均衡狀態(tài)方向發(fā)展,并且既要保證大類(lèi)網(wǎng)絡(luò)行為數(shù)據(jù)的檢測(cè)率,又要提升罕見(jiàn)入侵行為數(shù)據(jù)的檢測(cè)率.由于多步檢測(cè)順序要能夠整體上準(zhǔn)確劃分好各類(lèi)數(shù)據(jù),故每一步劃分情形的特征維度劃分效果影響著整體的檢測(cè)結(jié)果.多步檢測(cè)順序的確定,應(yīng)以網(wǎng)絡(luò)行為數(shù)據(jù)集的具體特征為基礎(chǔ),評(píng)價(jià)特征維度在不同劃分順序的每一步劃分情形下的價(jià)值,并以此價(jià)值的總和為考量確定多步檢測(cè)順序.改進(jìn)的Fisher評(píng)分是一種評(píng)價(jià)特征維度價(jià)值的方法,可應(yīng)用于多步檢測(cè)順序的確定
不同的劃分順序,其Fisher評(píng)分的總體分?jǐn)?shù)不同.由于維度的Fisher評(píng)分越大,其在劃分?jǐn)?shù)據(jù)時(shí)的效果越好.因此,為了提高聚類(lèi)算法的劃分效果,應(yīng)該選擇總體上Fisher評(píng)分較高的劃分順序.
選用順序1和順序2[17]進(jìn)行比較,順序1為實(shí)驗(yàn)假設(shè),結(jié)果如表1所示.
表1 不同劃分順序的Fisher評(píng)分情況
由表1可知,劃分順序2的總體Fisher評(píng)分更高,故入侵類(lèi)別檢測(cè)的多步順序?yàn)椋?/p>
Step 1.將NSL-KDD數(shù)據(jù)集劃分為2類(lèi),大類(lèi)為Normal、U2R、R2L類(lèi),小類(lèi)為Dos、Probe類(lèi);
Step 2.將Step 1中的Dos、Probe類(lèi)劃分為2類(lèi),大類(lèi)為Dos類(lèi),小類(lèi)為Probe類(lèi);
Step 3.將Step 1中的Normal、U2R、R2L類(lèi)劃分為2類(lèi),大類(lèi)為Normal、U2R類(lèi),小類(lèi)為R2L類(lèi);
Step 4.將Step 3中的Normal、U2R類(lèi)劃分為2類(lèi),大類(lèi)為Normal類(lèi),小類(lèi)為U2R類(lèi).
在確定多步檢測(cè)順序后,結(jié)合數(shù)據(jù)特征處理,基于改進(jìn)DBSCAN聚類(lèi)算法進(jìn)行多步式網(wǎng)絡(luò)入侵類(lèi)別檢測(cè),具體流程見(jiàn)圖3.
圖3 檢測(cè)流程
圖3中,1) 轉(zhuǎn)化文字型特征值:以各特征值的出現(xiàn)頻次替代 NSL-KDD數(shù)據(jù)的Protocol_type、Service、Flag維度的文字型特征值;2) 各維度重新分配權(quán)重:數(shù)據(jù)降維后,參與下一步聚類(lèi)的維度按各自Fisher評(píng)分在總分的占比,重新被分配權(quán)重;3) Dos、Probe、Normal、U2R和R2L表示不同類(lèi)別的網(wǎng)絡(luò)行為數(shù)據(jù)集群;4) 檢測(cè)結(jié)果:收集劃分好的各類(lèi)網(wǎng)絡(luò)行為數(shù)據(jù),并標(biāo)識(shí)及輸出.
實(shí)驗(yàn)平臺(tái)為64位的Windows 10系統(tǒng),內(nèi)存為8GB,CPU為英特爾酷睿i7-7700HQ.算法實(shí)現(xiàn)的過(guò)程使用編程語(yǔ)言Python 3.7.實(shí)驗(yàn)過(guò)程見(jiàn)圖4.
圖4 檢測(cè)的實(shí)驗(yàn)過(guò)程
實(shí)驗(yàn)中,訓(xùn)練集的作用僅為Fisher評(píng)分,而數(shù)據(jù)降維及其后面的各階段只有測(cè)試集參與.
多步聚類(lèi)按第3節(jié)確定的順序進(jìn)行.在每一步聚類(lèi)前,依據(jù)具體的劃分情形選取Fisher評(píng)分結(jié)果,然后對(duì)測(cè)試集進(jìn)行數(shù)據(jù)降維,以及將代表性維度按比例賦予權(quán)重.更新后的測(cè)試集被輸入到聚類(lèi)算法中,基于自適應(yīng)設(shè)參的DBSCAN聚類(lèi)算法對(duì)其進(jìn)行劃分.
將聚類(lèi)的數(shù)據(jù)集按其真實(shí)類(lèi)別與聚類(lèi)算法預(yù)測(cè)類(lèi)別的組合分為真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN),它們存在關(guān)系:TP+FP+TN+FN=數(shù)據(jù)集樣本數(shù).
真正例(TP):預(yù)測(cè)類(lèi)別為正例,且真實(shí)類(lèi)別也為正例的數(shù)據(jù).
假正例(FP):預(yù)測(cè)類(lèi)別為正例,但真實(shí)類(lèi)別為反例的數(shù)據(jù).
真反例(TN):預(yù)測(cè)類(lèi)別為反例,且真實(shí)類(lèi)別也為反例的數(shù)據(jù).
假反例(FN):預(yù)測(cè)類(lèi)別為反例,但真實(shí)類(lèi)別為正例的數(shù)據(jù).
準(zhǔn)確度:正確檢測(cè)出的正例和反例樣本數(shù)除以測(cè)試集的全部樣本個(gè)數(shù)的百分比RI.
(10)
查準(zhǔn)率:測(cè)試集中正例(或反例)的樣本被檢測(cè)為正例(或反例)的樣本數(shù)TP(TN)除以檢測(cè)出的正例(或反例)樣本數(shù)的百分比P.
(11)
查全率:測(cè)試集中正例(或反例)的樣本被檢測(cè)為正例(或反例)的樣本數(shù)TP(TN)除以真實(shí)的正例(或反例)樣本數(shù)的百分比R.
(12)
誤檢率:測(cè)試集中正例(或反例)的樣本被檢測(cè)為反例(或正例)樣本的個(gè)數(shù)FN(FP)除以測(cè)試集中所有正常樣本個(gè)數(shù)的百分比f(wàn).
(13)
多步聚類(lèi)中,每一步聚類(lèi)對(duì)應(yīng)一種劃分情形,并依據(jù)表2中對(duì)應(yīng)劃分情形的代表性維度進(jìn)行聚類(lèi).
表2 各劃分情形的代表性維度
從表3可以看出,多步聚類(lèi)過(guò)程中,自適應(yīng)設(shè)參的改進(jìn)DBSCAN聚類(lèi)算法保持穩(wěn)定的聚類(lèi)簇?cái)?shù),達(dá)到每一步聚類(lèi)的劃分目的.由于樣本數(shù)據(jù)劃分依據(jù)二分類(lèi)的高Fisher評(píng)分維度,聚類(lèi)中的樣本數(shù)據(jù)在空間呈現(xiàn)類(lèi)二分態(tài).改進(jìn)的DBSCAN算法基于空間密度分布,判斷出樣本數(shù)據(jù)的類(lèi)二分態(tài)分布,進(jìn)而自適應(yīng)設(shè)定出較準(zhǔn)確的聚類(lèi)參數(shù),使得聚類(lèi)簇?cái)?shù)基本滿(mǎn)足劃分需求.雖然Step 2中的簇?cái)?shù)為3,但大簇是Dos類(lèi),兩小簇主要是Probe類(lèi).同時(shí),由于最小包含點(diǎn)數(shù)(MinPts)和掃描半徑(Eps)參數(shù)得到較準(zhǔn)確的設(shè)置,改進(jìn)的DBSCAN算法穩(wěn)定保持低的噪聲率和較高的準(zhǔn)確度,表現(xiàn)出良好的聚類(lèi)性能.
表3 聚類(lèi)算法的性能
表4是統(tǒng)計(jì)混淆矩陣,顯示測(cè)試集在分布聚類(lèi)后的詳細(xì)檢測(cè)結(jié)果.表中樣本數(shù)總和為22435,不計(jì)入噪點(diǎn)數(shù)109,故與測(cè)試集樣本總數(shù)22544不同.由表4可知,U2R被誤檢為Normal的情況較多,且在劃分后的U2R中,非U2R樣本的Normal占比高.由于U2R與Normal類(lèi)樣本的特征值較相似,導(dǎo)致在空間分布中較接近,提高了準(zhǔn)確檢測(cè)的難度.
表4 聚類(lèi)的劃分結(jié)果
由表5數(shù)據(jù)可知,聚類(lèi)結(jié)果中各類(lèi)數(shù)據(jù)的查準(zhǔn)率和查全率較均衡地處于90%左右,劃分效果較為均衡,保證檢測(cè)各類(lèi)數(shù)據(jù)的較好性能,這是多步聚類(lèi)相較于單步聚類(lèi)(或分類(lèi))的優(yōu)點(diǎn).同時(shí),劃分5個(gè)類(lèi)別數(shù)據(jù)的誤檢率較低,其中的Normal類(lèi)最低,說(shuō)明算法能較好地避免正常網(wǎng)絡(luò)行為被誤判.
表5 聚類(lèi)結(jié)果整體度量
從表6可知,對(duì)于檢測(cè)罕見(jiàn)攻擊U2R類(lèi),多步檢測(cè)方法的查準(zhǔn)率和查全率均比單步檢測(cè)方法高,檢測(cè)結(jié)果的更準(zhǔn)確.而單步檢測(cè)方法的檢測(cè)效果較一般,這是單步檢測(cè)的普遍現(xiàn)象.由于訓(xùn)練集和測(cè)試集中U2R的樣本量少,且U2R樣本和Normal樣本在空間分布上較接近,單步檢測(cè)很難做到既檢測(cè)好Normal、Dos、PROB、R2L類(lèi),又檢測(cè)好U2R類(lèi).而在多步檢測(cè)中,可以通過(guò)先檢測(cè)出其他類(lèi)的數(shù)據(jù)樣本,進(jìn)而提高U2R類(lèi)在待檢數(shù)據(jù)中的比例;還能在個(gè)別步驟中僅選取能夠良好劃分U2R類(lèi)和Normal類(lèi)的維度,使兩者在聚類(lèi)空間中盡量分離.因此,多步檢測(cè)的檢測(cè)效果更好.
表6 檢測(cè)NSL-KDD數(shù)據(jù)集中U2R類(lèi)的效果比較
在不同的網(wǎng)絡(luò)行為數(shù)據(jù)集中,多步檢測(cè)順序的確定,以整體檢測(cè)效果好壞作為判斷標(biāo)準(zhǔn).其中,整體檢測(cè)效果的評(píng)價(jià)需要可量化的計(jì)算方法.改進(jìn)Fisher評(píng)分是一種可量化的計(jì)算方法,其對(duì)維度評(píng)分的大小等于維度劃分能力的大小,而維度劃分能力的大小與檢測(cè)效果成正比.通過(guò)計(jì)算并統(tǒng)計(jì)不同劃分順序的維度劃分能力總分,即可以總分高的劃分順序作為多步檢測(cè)順序.因此,基于改進(jìn)Fisher評(píng)分確定多步檢測(cè)順序的方法,在不同的網(wǎng)絡(luò)行為數(shù)據(jù)集中都能被應(yīng)用.
在改進(jìn)Fisher評(píng)分自動(dòng)確定代表性特征和確定多步聚類(lèi)檢測(cè)順序的基礎(chǔ)上,將基于最小二乘法擬合原理和曲線擬合的拐點(diǎn)半徑計(jì)算,應(yīng)用于DBSCAN聚類(lèi)中感知判斷網(wǎng)絡(luò)行為數(shù)據(jù)的空間分布態(tài),以判斷結(jié)果實(shí)現(xiàn)自適應(yīng)設(shè)置聚類(lèi)參數(shù),實(shí)現(xiàn)網(wǎng)絡(luò)行為數(shù)據(jù)的自動(dòng)合理地聚類(lèi),提高入侵類(lèi)別檢測(cè)算法的自動(dòng)化程度和智能性.同時(shí),該檢測(cè)算法較有效地解決非平衡網(wǎng)絡(luò)行為數(shù)據(jù)中全類(lèi)別檢驗(yàn)難的問(wèn)題.該檢測(cè)算法能在保證良好檢測(cè)效果的情況下,適應(yīng)復(fù)雜的網(wǎng)絡(luò)行為數(shù)據(jù)變化,減少算法使用難度,具有較高的應(yīng)用價(jià)值.
在維度的Fisher評(píng)分實(shí)驗(yàn)中,僅對(duì)兩種劃分順序進(jìn)行比較,未能夠明確得出最合理的劃分順序.同時(shí),在改進(jìn)DBSCAN聚類(lèi)算法的自適應(yīng)設(shè)參階段中,數(shù)據(jù)量越大,曲線擬合的時(shí)間越長(zhǎng),影響檢測(cè)速度.因此,如何判斷最合理的劃分順序以及提升曲線擬合效率是下一步研究的重點(diǎn)方向.