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