覃 俊
(南京理工大學(xué),南京 210094)
特定網(wǎng)絡(luò)指的是專門針對(duì)一個(gè)應(yīng)用或者一個(gè)區(qū)域的流量。特定網(wǎng)絡(luò)異常檢測(cè)方法通常能夠分為兩類:濫用檢測(cè)與異常檢測(cè)[1]。其中的濫用檢測(cè)一般是依據(jù)專家的所學(xué)知識(shí)和經(jīng)驗(yàn)來判別異常的產(chǎn)生,這導(dǎo)致了該方法對(duì)新入侵模式以及偽裝之后入侵模式的檢測(cè)率低。由此,研究人員試著通過異常檢測(cè)解決該問題[2]。在進(jìn)行異常檢測(cè)時(shí),和正常的行為有出入的行為就會(huì)被檢測(cè)出,同時(shí)生成入侵警報(bào)。
為提高檢測(cè)的整體性能,引入了大規(guī)模的人工智能技術(shù),用于濫用檢測(cè)與異常檢測(cè)。在網(wǎng)絡(luò)異常檢測(cè)的領(lǐng)域中,應(yīng)用的比較早的就是專家系統(tǒng)[3]。隨之機(jī)器學(xué)習(xí)技術(shù)以及神經(jīng)網(wǎng)絡(luò)技術(shù)等也被陸續(xù)應(yīng)用于網(wǎng)絡(luò)異常檢測(cè)中,但在實(shí)際應(yīng)用中發(fā)現(xiàn),由于審計(jì)數(shù)據(jù)規(guī)則限制,有些入侵模式稍離審計(jì)數(shù)據(jù)就很難被檢測(cè)出來,有些正常運(yùn)行中具有較小變動(dòng)的行為又可能致使虛假的警報(bào)[4]。由此提出一種基于多約束信息融合的特定網(wǎng)絡(luò)檢測(cè)方法。
基于多約束信息融合的特定網(wǎng)絡(luò)檢測(cè)中,應(yīng)對(duì)特定網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行獲取,再對(duì)其進(jìn)行后續(xù)處理。采用WinPcap對(duì)特定網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行獲取,通過WinPcap對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行獲取不僅能夠利用調(diào)用Packet.dll中的API實(shí)現(xiàn),也能夠通過調(diào)用Wpcap.dll中的 API完成[5]。利用 Windows中的 Wpcap.dll實(shí)現(xiàn)特定網(wǎng)絡(luò)數(shù)據(jù)的獲取。特定網(wǎng)絡(luò)數(shù)據(jù)獲取的過程為:獲取特定網(wǎng)絡(luò)中NIC相關(guān)信息;構(gòu)建特定網(wǎng)絡(luò)偵聽;制定過濾條件;循環(huán)獲取。過程如圖1所示。
1)獲取特定網(wǎng)絡(luò)中NIC相關(guān)信息。這里有兩種方法可以獲取NIC信息:用戶自己選定;將Pcap接口函數(shù)進(jìn)行調(diào)用,自動(dòng)檢索可用的網(wǎng)絡(luò)接口。則獲取的NIC有關(guān)信息函數(shù)為:Pcap-lookupdev以及 Pcap-lookupnet。其中,Pcaplookupdev作用是表示本地的網(wǎng)絡(luò)接口;而Pcap-lookupnet是為了得到本地的IP地址與子網(wǎng)掩碼。如果函數(shù)調(diào)用失敗,則返回-1;
圖1 特定網(wǎng)絡(luò)數(shù)據(jù)獲取流程
2)網(wǎng)絡(luò)偵聽的啟動(dòng)。上述中得到了網(wǎng)絡(luò)的接口,用到的函數(shù)是Pcap-open-live,其責(zé)任為按指定的參數(shù)初始化Wpcap。其返回值類型是Pcap-t型指針,該指針就是偵聽句柄[6]。
3)對(duì)于數(shù)據(jù)過濾條件的設(shè)置。詳細(xì)步驟為:將用戶所輸入字符類型定義的過濾條件,轉(zhuǎn)變?yōu)橄到y(tǒng)所認(rèn)可的bpfprogram類型,然后把轉(zhuǎn)換之后的過濾條件發(fā)送到偵聽句柄。
4)循環(huán)獲取。以上步驟均為對(duì)NPF(數(shù)據(jù)包過濾器)的初始化,實(shí)現(xiàn)初始化后,對(duì)特定網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行循環(huán)獲取。Pcap庫中有兩個(gè)函數(shù)能夠?qū)崿F(xiàn)該功能:Pcap-loop與Pcapdispath,它們功能大致相同,另外在調(diào)用成功的時(shí)候,將會(huì)返回獲取到的字節(jié)數(shù),相反,返回的則為0。其中最大的區(qū)別就在于Pcap-loop獲取超時(shí),不會(huì)返回,Pcap-dispath獲取超時(shí)會(huì)返回0。數(shù)據(jù)包所有操作均在回調(diào)函數(shù)內(nèi)完成,將回調(diào)函數(shù)定義為全局函數(shù),針對(duì)每個(gè)循環(huán)中獲取的數(shù)據(jù)包,均按特定網(wǎng)絡(luò)數(shù)據(jù)獲取的定義操作。
數(shù)據(jù)粒度也可以叫作信息粒度,是指信息單元的粗糙程度[7]。在特定網(wǎng)絡(luò)檢測(cè)中,如果數(shù)據(jù)粒度過于粗糙,會(huì)降低網(wǎng)絡(luò)檢測(cè)效率。特定網(wǎng)絡(luò)數(shù)據(jù)的預(yù)處理中,以降低數(shù)據(jù)粒度粗糙程度為目標(biāo),利用Rough集理論對(duì)特定網(wǎng)絡(luò)數(shù)據(jù)粒度進(jìn)行過濾,減小信息粒度的粗糙程度,以達(dá)到提高網(wǎng)絡(luò)檢測(cè)效率的目的。通常在進(jìn)行網(wǎng)絡(luò)檢測(cè)時(shí),會(huì)利用一個(gè)規(guī)則對(duì)信息粒度進(jìn)行預(yù)測(cè),當(dāng)排列分布為1時(shí),則預(yù)測(cè)是正確的。不過,一個(gè)正確的高質(zhì)量規(guī)則不能夠保證預(yù)測(cè)的準(zhǔn)確性。舉例說明:假設(shè)通過Rough集法于少量對(duì)象信息系統(tǒng)內(nèi),發(fā)現(xiàn)了規(guī)則,就算其近似質(zhì)量很高,不過因?yàn)橹С值膶?duì)象少,該種近似質(zhì)量有可能是因?yàn)榕既坏囊蛩匾鸬?,致使其在分類新的?duì)象時(shí),預(yù)測(cè)能力比較低[8]。由此規(guī)則預(yù)測(cè)的高效性需要通過統(tǒng)計(jì)意義實(shí)現(xiàn)測(cè)試。
如果信息系統(tǒng)內(nèi)的信息粒度比較高,規(guī)則的統(tǒng)計(jì)價(jià)值T通常很高。所以提出利用Rough集法對(duì)數(shù)據(jù)的粒度進(jìn)行過濾。其基本思想為:通過決策屬性值D確定無差別關(guān)系θQ等價(jià)類的合并來提升規(guī)則統(tǒng)計(jì)意義,進(jìn)而降低信息粒度,也就是數(shù)據(jù)粒度的粗糙程度。也就是減少等價(jià)類數(shù)量,同時(shí)保持?jǐn)?shù)據(jù)不受損失。信息粒度粗糙程度過濾的詳細(xì)步驟為:
輸入: 數(shù)據(jù)集I=[U,K,Vq,fq]q∈K,其中K=C∪D且C∩D=?,U代表一組對(duì)象的非空且有限的集合,K代表有限個(gè)屬性非空有限集合,fq代表信息函數(shù),Vq代表屬性q值域,C代表?xiàng)l件屬性值;
1)對(duì)于每個(gè)q∈K,對(duì)其等價(jià)類集合P{q}進(jìn)行計(jì)算;
2)對(duì)于每個(gè)q∈C,將會(huì)執(zhí)行下列步驟:
(1)對(duì)上述數(shù)據(jù)按照其屬性值排序;
(2)對(duì)任意的兩個(gè)相鄰屬性值qi與qj進(jìn)行分析,并假設(shè)它們所對(duì)應(yīng)的對(duì)象是ui、uj:
假設(shè)[ui]q、[ui]q是D確定的,且有Yi0∈ P(D)存在[ui]q? Yi0、[uj]q? Yi0,那么:
(a)把屬性值qi、qj進(jìn)行合并,且記為qij,代表取值為qi或者qj;
(3)經(jīng)上述處理之后的數(shù)據(jù)系統(tǒng)上,假設(shè)存在不同屬性值qi或者 qj,并假設(shè)兩者對(duì)應(yīng)對(duì)象為 ui、uj,[uj]q和[ui]q為D確定的,且有Yi0∈P(D) 存在[ui]q?Yi0、[uj]q?Yi0,那么:
(a)把屬性值qi、qj進(jìn)行合并,并記為qij,代表qi或者qj;
3)結(jié)束過濾。
通過2中的數(shù)據(jù)粒度粗糙度過濾操作,使基于多約束信息融合的特定網(wǎng)絡(luò)檢測(cè)變得更加快速,之后文章基于多約束信息融合的網(wǎng)絡(luò)檢測(cè)則利用構(gòu)建SVM融合檢測(cè)的模型。特定網(wǎng)絡(luò)檢測(cè)模型如圖2所示。
圖2 SVM融合模型
根據(jù)上圖顯示,模型實(shí)現(xiàn)的步驟如下。
1)訓(xùn)練SVM分類器:
地下水水質(zhì)修復(fù)主要應(yīng)考慮地下水污染成因、污染物成分、污染范圍和經(jīng)濟(jì)技術(shù)條件等因素??梢詢?yōu)先考慮飲用水水源地的地下水水質(zhì)修復(fù),先易后難、先試點(diǎn)后推廣,分清輕重緩急,逐步展開。
把訓(xùn)練數(shù)據(jù)集按照其特征劃分為3類,實(shí)現(xiàn)SVM的訓(xùn)練。則按照?qǐng)D中顯示先把訓(xùn)練數(shù)據(jù)集和預(yù)測(cè)數(shù)據(jù)集內(nèi)的特定網(wǎng)絡(luò)數(shù)據(jù),按照數(shù)據(jù)的特征屬性將數(shù)據(jù)集中的數(shù)據(jù)劃分成3個(gè)類別:基本特征、內(nèi)容特征和流量特征。將分別代表異常類型數(shù)據(jù)、和正常類型數(shù)據(jù)的標(biāo)簽,加在各類數(shù)據(jù)集屬性的后面,設(shè)置正常數(shù)據(jù)的標(biāo)簽是1,而異常數(shù)據(jù)的標(biāo)簽是-1。
依據(jù)同類數(shù)據(jù)間距離小于異類數(shù)據(jù)間距離理論,那么在特定網(wǎng)絡(luò)數(shù)據(jù)的檢測(cè)中,正常數(shù)據(jù)之間的距離要小于正常數(shù)據(jù)至異常數(shù)據(jù)間距離。在融合模型中通過一對(duì)SVM-N與SVM-A分類器,實(shí)現(xiàn)此類數(shù)據(jù)特征的回歸,則在模型的模塊中,共用到了6個(gè)基本分類器,將分類器劃分為兩類:A分類器、N分類器。其中,N分類器提供了該特征下,數(shù)據(jù)正常行為可信程度,A分類器則提供了于該特征下異常數(shù)據(jù)行為可行程度。由此先分別對(duì)正常數(shù)據(jù)行為聚類的中心DN以及異常數(shù)據(jù)行為聚類中心DA進(jìn)行計(jì)算。訓(xùn)練N分類器過程中,對(duì)正常數(shù)據(jù)行為至正常數(shù)據(jù)行為的聚類中心DN間的距離DN~N進(jìn)行計(jì)算,并取其正值,其次對(duì)異常數(shù)據(jù)行為至正常數(shù)據(jù)行為的聚類中心DN間的距離進(jìn)行計(jì)算DN~A并取負(fù)值,均存儲(chǔ)于N~L,并在[0,1]間進(jìn)行歸一化,當(dāng)作分類器N訓(xùn)練的標(biāo)簽。
相同的道理,在訓(xùn)練分類器A的過程中對(duì)異常數(shù)據(jù)行為至異常數(shù)據(jù)行為聚類中心DA間的距離DA~A進(jìn)行計(jì)算并取負(fù)值,再對(duì)正常數(shù)據(jù)行為至異常數(shù)據(jù)行為的聚類中心DA間距離進(jìn)行計(jì)算,取正值,均存儲(chǔ)于A~L內(nèi),并在[0,1]間進(jìn)行歸一化,當(dāng)作分類器A訓(xùn)練標(biāo)簽。
綜上所述,對(duì)分類器N和A相應(yīng)的標(biāo)簽進(jìn)行了回歸訓(xùn)練,并將已經(jīng)劃分的3類特征進(jìn)行訓(xùn)練,分別為SVM1-N和 SVM1-A,SVM3-N 和 SVM3-A,SVM2-N 和 SVM2-A,由此SVM各模塊訓(xùn)練結(jié)束,得到各類數(shù)據(jù)特征中的N類分類器以及A類分類器訓(xùn)練標(biāo)簽。
以上述為基礎(chǔ),利用D-S完成融合決策。把獲取的各個(gè)數(shù)據(jù)特征屬性訓(xùn)練標(biāo)簽,當(dāng)作各類數(shù)據(jù)特征屬性預(yù)測(cè)時(shí)所需要的標(biāo)簽,并加上已經(jīng)分好類別的預(yù)測(cè)數(shù)據(jù)集完成預(yù)測(cè),這樣就能夠獲得,測(cè)試數(shù)據(jù)集中的各類測(cè)試數(shù)據(jù)的標(biāo)簽類型[9]。
2)關(guān)于SVM的融合實(shí)現(xiàn):
SVM的融合實(shí)現(xiàn)中,要完成基本置信分配函數(shù)的確定:通過D-S理論,設(shè)置出識(shí)別的框架Θ為{N,A}。其中N是正常數(shù)據(jù)行為,A是異常數(shù)據(jù)行為,N∩A=?。將基本置信分配函數(shù)定義為:
其中,m({N,A})+m(N)+m(A)=1,式中m(N)代表當(dāng)前情況下特征支持正常數(shù)據(jù)行為的可信度,m(A)代表當(dāng)前情況下特征支持異常數(shù)據(jù)行為的可信度,m({N,A})代表無法確定當(dāng)前數(shù)據(jù)行為,是否為正常的可信度。
把分類器訓(xùn)練好,然后對(duì)分類器的回歸功能,進(jìn)行評(píng)估。而基本置信值的預(yù)測(cè)是利用 SVM1-N和 SVM1-A,SVM3-N和SVM3-A,SVM2-N 和SVM2-A對(duì)測(cè)試數(shù)據(jù)集的預(yù)測(cè)得到的。把結(jié)果存儲(chǔ)至 m1(N)、m1(A)、m2(A)、m2(N)、m3(N)、m3(A), 然 后 將 m1(N)、m2(N)、m3(N)組成個(gè)新的正常行為置信分配值,再將m1(A)、m2(A)、m3(A)組成個(gè)新異常行為置信分配值。利用計(jì)算的形式獲取數(shù)據(jù)無法確定的行為分配值,設(shè)某個(gè)數(shù)據(jù)x,對(duì)于正常行為的置信分配值是mx(N),異常行為置信分配值是mx(A),假設(shè)mx(N)+mx(A)<1,那么該數(shù)據(jù)對(duì)行為無法確定的置信函數(shù)值是mx(NA)=1-mx(N)-mx(A)。反之,該數(shù)據(jù)對(duì)行為無法確定的置信函數(shù)值是mx(NA)=0,且把mx(A)和mx(N)進(jìn)行歸一化處理。綜上就能夠獲得整體的N、A、{N,A}的置信函數(shù)分配值。也能夠獲得各SVM分類器對(duì)N和A、{N,A}可信度,同樣確定m函數(shù)內(nèi)的置信函數(shù)值以及權(quán)重,接著代入D-S的合成公式,就能夠獲得檢測(cè)結(jié)果。
最終的檢測(cè)判定結(jié)果如下所示:
當(dāng)前的特定網(wǎng)絡(luò)數(shù)據(jù)檢測(cè)方法中僅進(jìn)行一次檢測(cè),內(nèi)部異常數(shù)據(jù)可能存在剩余[10],為此在本節(jié)將對(duì)第3節(jié)檢測(cè)結(jié)果利用群體信任法再次進(jìn)行過濾,實(shí)現(xiàn)網(wǎng)絡(luò)異常數(shù)據(jù)的徹底檢測(cè)和清除。具體過程如下所示:
1)將檢測(cè)結(jié)果收集起來,經(jīng)過一段時(shí)間之后,所匯聚的節(jié)點(diǎn)構(gòu)建基準(zhǔn)數(shù)據(jù)特征云BC;
2)確定可疑數(shù)據(jù)門限和異常數(shù)據(jù)門限,其中可疑數(shù)據(jù)門限ST和異常數(shù)據(jù)門限AT的確定取決于特定網(wǎng)絡(luò),匯聚節(jié)點(diǎn)把BC、ST和AT廣播到全部簇頭上;
3)簇頭對(duì)異常數(shù)據(jù)的門限AT進(jìn)行初始化,轉(zhuǎn)換為接收到的AT值。且將BC和ST廣播到簇內(nèi)節(jié)點(diǎn)上;
4)普通的數(shù)據(jù)節(jié)點(diǎn)按預(yù)設(shè)的頻率進(jìn)行存儲(chǔ),記為SV,比較SV和基本數(shù)據(jù)特征集內(nèi)ex的數(shù)值之間的差值,將該差值和可疑的數(shù)據(jù)門限ST進(jìn)行比較,假設(shè)小于ST,則將可疑的數(shù)據(jù)標(biāo)記為0,假設(shè)大于ST,則將可疑數(shù)據(jù)標(biāo)記為1,并發(fā)送數(shù)據(jù)到簇頭。
5)當(dāng)簇頭接收了正常數(shù)據(jù),正常將數(shù)據(jù)上傳,當(dāng)收到可疑的數(shù)據(jù),通過群體信任法計(jì)算該數(shù)據(jù)群體信任度CT;
6)如果CT比門限AT低,在判斷數(shù)據(jù)為不可信時(shí),把該數(shù)據(jù)清除,如果CT比門限AT高,則判斷數(shù)據(jù)為可信,把數(shù)據(jù)發(fā)送到匯聚節(jié)點(diǎn),或者上級(jí)簇頭節(jié)點(diǎn)進(jìn)行利用。
綜上所述,對(duì)檢測(cè)后的結(jié)果進(jìn)一步過濾,正常數(shù)據(jù)會(huì)被正常傳輸利用,該步驟提高了網(wǎng)絡(luò)檢測(cè)的準(zhǔn)確性,降低了誤報(bào)率,同時(shí)特定網(wǎng)絡(luò)節(jié)點(diǎn)的正常工作并不會(huì)被影響。
實(shí)驗(yàn)環(huán)境為:實(shí)驗(yàn)平臺(tái)在matlab2017a上建立,實(shí)驗(yàn)的硬件環(huán)境為acer雙核筆記本,實(shí)驗(yàn)數(shù)據(jù)取自于DARPA數(shù)據(jù)集kdd99。
檢測(cè)準(zhǔn)確性是驗(yàn)證檢測(cè)方法的重要指標(biāo)之一,下圖為不同方法檢測(cè)準(zhǔn)確性,其中圖中的圓圈代表特定網(wǎng)絡(luò)異常數(shù)據(jù)點(diǎn),被黑色圓點(diǎn)覆蓋的就是已經(jīng)檢測(cè)出的異常點(diǎn)。
圖3 不同檢測(cè)方法的檢測(cè)準(zhǔn)確性
檢測(cè)的誤報(bào)率同樣是驗(yàn)證檢測(cè)方法的關(guān)鍵因素,表1為不同方法檢測(cè)的誤報(bào)率。
表1 不同方法誤報(bào)率
分析圖3和表1可知,改進(jìn)方法的檢測(cè)準(zhǔn)確性比當(dāng)前方法的檢測(cè)準(zhǔn)確性要高。改進(jìn)方法基于多約束信息融合的網(wǎng)絡(luò)檢測(cè)通過構(gòu)建SVM融合檢測(cè)模型實(shí)現(xiàn),其中利用D-S進(jìn)行融合決策,設(shè)置異常數(shù)據(jù)識(shí)別框架,并設(shè)置基本置信分配函數(shù),確定函數(shù)權(quán)重,代入D-S理論中,獲得檢測(cè)結(jié)果。又利用群體信任法實(shí)現(xiàn)檢測(cè)結(jié)果的進(jìn)一步過濾,實(shí)現(xiàn)了異常數(shù)據(jù)的徹底清除,提高了特定網(wǎng)絡(luò)檢測(cè)的準(zhǔn)確性,降低了檢測(cè)的誤報(bào)率。
下圖為在一定時(shí)間和一定的數(shù)據(jù)量下,數(shù)據(jù)運(yùn)行時(shí)的波形,波形中帶有星星的點(diǎn)即為異常點(diǎn),經(jīng)統(tǒng)計(jì)異常點(diǎn)共有8個(gè),下面利用下圖對(duì)不同方法的檢測(cè)效率進(jìn)行驗(yàn)證。
分析表2,改進(jìn)特定網(wǎng)絡(luò)檢測(cè)效率優(yōu)于當(dāng)前網(wǎng)絡(luò)檢測(cè)方法。數(shù)據(jù)粒度的粗糙程度在一定程度上決定了網(wǎng)絡(luò)檢測(cè)效率,改進(jìn)方法在特定網(wǎng)絡(luò)數(shù)據(jù)的預(yù)處理中,以降低數(shù)據(jù)粒度粗糙程度為目標(biāo),利用Rough集理論對(duì)特定網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行過濾,并以此來提高網(wǎng)絡(luò)檢測(cè)效率。
表2 不同方法網(wǎng)絡(luò)檢測(cè)效率對(duì)比
_______1 3___________________1_________________2 5___________________2_________________3 8 3_________________4 12 5_________________5 15 6_________________6 19 7_________________7 23 8______________________________________828______________________________________8
圖4 數(shù)據(jù)運(yùn)行波形
網(wǎng)絡(luò)的異常檢測(cè)是網(wǎng)絡(luò)安全防御中不可缺少的構(gòu)成部分,不過單一的方法很難得到比較好的檢測(cè)結(jié)果,這限制了異常檢測(cè)方法在大規(guī)模網(wǎng)絡(luò)中的應(yīng)用。分析了特定網(wǎng)絡(luò)異常的檢測(cè),提出基于多約束信息融合的特定網(wǎng)絡(luò)檢測(cè)方法。利用支持向量機(jī)以及D-S證據(jù)理論多項(xiàng)方法的結(jié)合,以及信息融合等相關(guān)技術(shù),將結(jié)合的結(jié)果應(yīng)用在網(wǎng)絡(luò)入侵的檢測(cè)中,并利用實(shí)驗(yàn)證明了所提方法具有一定的可行性。