鄭海瀟,馬夢帥,文斌*,曾昭武,劉文龍
1.數(shù)據(jù)科學(xué)與智慧教育教育部重點(diǎn)實(shí)驗(yàn)室(海南師范大學(xué)),海南 ???571158
2.海南師范大學(xué),信息科學(xué)技術(shù)學(xué)院,海南 ???571158
入侵檢測是對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分析[1],以確定網(wǎng)絡(luò)中的行為是否構(gòu)成威脅?,F(xiàn)有的方法主要可以分為基于主機(jī)和基于網(wǎng)絡(luò)兩種?;谥鳈C(jī)方法是通過分析系統(tǒng)日志文件來監(jiān)視和分析系統(tǒng)的行為;基于網(wǎng)絡(luò)方法是分析網(wǎng)絡(luò)流量和網(wǎng)絡(luò)協(xié)議來確定可能的入侵。這些方法主要是對網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行分析和學(xué)習(xí),以識別出網(wǎng)絡(luò)攻擊和入侵[2]。但是,這種解決方案容易被攻擊者偽裝,因此需要考慮它們在網(wǎng)絡(luò)中的關(guān)系來提高檢測的可靠性。目前,業(yè)界最常用的方法是特征匹配檢測法,是對已知的攻擊或入侵的方式做出確定性的描述,形成相應(yīng)的事件模式。當(dāng)被審計(jì)的事件與已知的入侵事件模式相匹配時(shí),即報(bào)警。原理上與專家系統(tǒng)相仿。其檢測方法上與計(jì)算機(jī)病毒的檢測方式類似。目前,基于對包特征描述的模式匹配應(yīng)用方法較為廣泛。該方法預(yù)報(bào)檢測的準(zhǔn)確率較高,但對于無經(jīng)驗(yàn)知識的入侵與攻擊行為無能為力。
針對當(dāng)前網(wǎng)絡(luò)環(huán)境的日益復(fù)雜和網(wǎng)絡(luò)流量數(shù)據(jù)爆炸式增長的問題,本文著重研究了基于圖神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測方案。該方案將網(wǎng)絡(luò)流量數(shù)據(jù)構(gòu)建成圖,并利用圖神經(jīng)網(wǎng)絡(luò)的優(yōu)勢來處理和分類,從而提供更可靠的信息。網(wǎng)絡(luò)流量數(shù)據(jù)由IP 地址、端口號和一組與流相關(guān)的特征(如持續(xù)時(shí)間、事務(wù)字節(jié)數(shù)、傳輸?shù)臄?shù)據(jù)包數(shù)等)組成,通過學(xué)習(xí)網(wǎng)絡(luò)流數(shù)據(jù)的屬性信息和結(jié)構(gòu)信息來對不同攻擊產(chǎn)生的網(wǎng)絡(luò)流進(jìn)行分類,實(shí)現(xiàn)入侵檢測。
與傳統(tǒng)的入侵檢測方案相比,基于圖神經(jīng)網(wǎng)絡(luò)的入侵檢測方案能夠捕獲網(wǎng)絡(luò)流量之間的關(guān)系,并在面對噪聲干擾時(shí)更加穩(wěn)健。該方案將網(wǎng)絡(luò)流量數(shù)據(jù)構(gòu)建成圖,以圖的方式將它們之間的關(guān)系表達(dá)出來,它們之間存在的結(jié)構(gòu)模式在圖上是固定的,這將為入侵檢測提供更可靠的信息。
本文提出的基于圖神經(jīng)網(wǎng)絡(luò)的入侵檢測方案是一種有效的方法,可以提高網(wǎng)絡(luò)入侵檢測的準(zhǔn)確性和可靠性,對保障網(wǎng)絡(luò)安全具有重要的意義。
圖神經(jīng)網(wǎng)絡(luò)在入侵檢測中表現(xiàn)優(yōu)異[3],Lo等人[4]針對物聯(lián)網(wǎng)的入侵檢測問題提出圖神經(jīng)網(wǎng)絡(luò)的解決方案,它可以捕獲圖形的邊緣特征以及物聯(lián)網(wǎng)網(wǎng)絡(luò)中的網(wǎng)絡(luò)入侵檢測的拓?fù)湫畔?。作者? 個(gè)入侵檢測數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)評估,結(jié)果表明圖神經(jīng)網(wǎng)絡(luò)方法優(yōu)于其他方法,證明了圖神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)入侵檢測當(dāng)中的潛力,但所用模型陳舊且未解決應(yīng)用問題。Caville 等人[5]提出一種自監(jiān)督的網(wǎng)絡(luò)入侵檢測方法,以自監(jiān)督的方式利用邊緣特征和圖形拓?fù)浣Y(jié)構(gòu)。與其他基線方法相比,自監(jiān)督圖神經(jīng)網(wǎng)絡(luò)方法有著明顯的改進(jìn)效果,但模型性能有待提高。王振東等人[6]提出一種面向入侵檢測的元圖神經(jīng)網(wǎng)絡(luò)方法,它針對圖信息傳播過程中父代信息湮滅現(xiàn)象提出反信息湮滅策略,設(shè)計(jì)注意力損失函數(shù),簡化注意力機(jī)制的運(yùn)算過程,缺點(diǎn)是準(zhǔn)確率不高。郭嘉琰等人[7]針對動(dòng)態(tài)網(wǎng)絡(luò)的異常檢測提出圖神經(jīng)網(wǎng)絡(luò)的方法,將圖結(jié)構(gòu)、屬性以及動(dòng)態(tài)變化的信息引入模型當(dāng)中,學(xué)習(xí)異常檢測的表示向量。但是該方法的缺點(diǎn)在于運(yùn)行效率較低,采樣方法不太適用于大型網(wǎng)絡(luò)。Hei等人[8]將Android實(shí)體和行為關(guān)系建模為異構(gòu)信息網(wǎng)絡(luò)(HIN),然后將基于HIN的嵌入模型與圖注意力網(wǎng)絡(luò)結(jié)合,以獲得Android應(yīng)用程序的數(shù)值表示,以便分類器可以精確檢測出惡意應(yīng)用程序,但是模型可移植性較差。Li等人[9]針對分布式拒絕服務(wù)攻擊提出了圖神經(jīng)網(wǎng)絡(luò)方法,他們將流量轉(zhuǎn)換為端點(diǎn)流量圖,然后利用圖神經(jīng)網(wǎng)絡(luò)對流量圖進(jìn)行分類,以此達(dá)到對攻擊的檢測目的,但是對比試驗(yàn)不夠充分。Chang等人[10]利用可用的圖信息將剩余學(xué)習(xí)集成到圖神經(jīng)網(wǎng)絡(luò)中,提出了兩種基于圖的入侵檢測方案。實(shí)驗(yàn)結(jié)果表明,這兩種方法具有出色的檢測性能,特別是在預(yù)測少數(shù)類時(shí),未解決數(shù)據(jù)集不平衡問題。Pujol-Perich 等人[11]針對網(wǎng)絡(luò)入侵檢測提出了圖神經(jīng)網(wǎng)絡(luò)的方案,并且評估了他們的解決方案在兩種常見對抗攻擊下的穩(wěn)健性。實(shí)驗(yàn)結(jié)果表明,與機(jī)器學(xué)習(xí)方法相比,圖神經(jīng)網(wǎng)絡(luò)的解決方案具有更強(qiáng)的健壯性,但檢測準(zhǔn)確率有待提高。
圖形神經(jīng)網(wǎng)絡(luò)(GNN)[12]是一種神經(jīng)模型,通過在圖形節(jié)點(diǎn)之間傳遞消息來捕捉圖形的相關(guān)性。它拓展了現(xiàn)有的深度神經(jīng)網(wǎng)絡(luò)模型,用于處理以圖的形式表示的數(shù)據(jù)。通過將數(shù)據(jù)構(gòu)建成圖形結(jié)構(gòu)以挖掘到數(shù)據(jù)之間的聯(lián)系,它的強(qiáng)大之處在于它能同時(shí)捕獲圖形結(jié)構(gòu)中的屬性信息和結(jié)構(gòu)信息。圖神經(jīng)網(wǎng)絡(luò)在這種不規(guī)則的圖結(jié)構(gòu)上定義卷積操作,通過獲取節(jié)點(diǎn)鄰域信息的加權(quán)平均值執(zhí)行圖卷積。
通過在圖上定義卷積操作,圖神經(jīng)網(wǎng)絡(luò)可以聚合其鄰居節(jié)點(diǎn)的表示和其自身的表示來迭代更新節(jié)點(diǎn)表示。通過卷積操作來構(gòu)造圖神經(jīng)網(wǎng)絡(luò)層,然后堆疊多個(gè)卷積層構(gòu)造圖神經(jīng)網(wǎng)絡(luò)模型,以此聚合鄰居特征并根據(jù)任務(wù)的不同輸出節(jié)點(diǎn)表示(嵌入)、邊緣嵌入等。和其他深度學(xué)習(xí)方法相同,圖神經(jīng)模型也是通過損失函數(shù)的不斷優(yōu)化來訓(xùn)練出最優(yōu)的模型。
2.1.1 GAT網(wǎng)絡(luò)
圖注意力網(wǎng)絡(luò)(GAT)[13]是較為廣泛應(yīng)用的圖神經(jīng)網(wǎng)絡(luò)之一,它是通過允許節(jié)點(diǎn)在組合鄰域特征時(shí)為每個(gè)鄰域使用不同的權(quán)重來實(shí)現(xiàn)的。該技術(shù)將注意力機(jī)制納入傳播步驟,使節(jié)點(diǎn)能夠關(guān)注其鄰居的特征,以便聚合鄰居特征并為給定節(jié)點(diǎn)生成節(jié)點(diǎn)嵌入。本質(zhì)上,在GAT聚合器中,對鄰居特征的關(guān)注被用來代替節(jié)點(diǎn)特征的平均聚合。這種對不同鄰居節(jié)點(diǎn)分配不同權(quán)重是通過給它們分配不同的注意力系數(shù)來實(shí)現(xiàn)的。在圖注意力網(wǎng)絡(luò)層上,將第k-1層節(jié)點(diǎn)表示Hk-1∈RN×F轉(zhuǎn)換到下一層節(jié)點(diǎn)表示Hk∈RN×F'的過程中(這里的Hk-1表示列向量而不是行向量,N為節(jié)點(diǎn)個(gè)數(shù),F(xiàn)是每個(gè)節(jié)點(diǎn)的特征個(gè)數(shù),R為實(shí)數(shù)集),對于一個(gè)中心節(jié)點(diǎn)i和它的相鄰節(jié)點(diǎn)j∈N(i)來說,它們之間的注意力系數(shù)eij是通過如下公式計(jì)算的:
其中,Hik-1和Hjk-1分別表示節(jié)點(diǎn)i和j在第k-1層的節(jié)點(diǎn)表示,||表示兩個(gè)向量的連接運(yùn)算。為了獲得足夠的表達(dá)能力將輸入特征轉(zhuǎn)換為更高層次的特征,需要進(jìn)行一次可學(xué)習(xí)的線性變換。于是一個(gè)共享的線性變換,由權(quán)重矩陣參數(shù)化的W?RF×F'被用于各個(gè)節(jié)點(diǎn)。函數(shù)a()表示將高維數(shù)據(jù)映射為實(shí)數(shù)。在GAT 中,a()被定義為一個(gè)前饋神經(jīng)網(wǎng)絡(luò),包括一個(gè)具有權(quán)重向量W2?R1×2F'的線性變換和非線性激活函數(shù)Leaky Re LU()。而為了使不同節(jié)點(diǎn)之間的系數(shù)具有可比性,還需要使用softmax 函數(shù)對注意力系數(shù)進(jìn)行歸一化,它們的公式表達(dá)如下:
其中,aij為歸一化系數(shù),然后使用歸一化注意力系數(shù)來計(jì)算對應(yīng)于它們特征的線性組合,作為每個(gè)節(jié)點(diǎn)的最終輸出特征,聚合后的節(jié)點(diǎn)向量結(jié)果表示為:
其中,σ為激活函數(shù)(這里為ELU()),W是要訓(xùn)練的參數(shù)。為了使注意力機(jī)制的學(xué)習(xí)過程更加穩(wěn)定,可以擴(kuò)展到多頭注意機(jī)制。每個(gè)注意力頭在節(jié)點(diǎn)上決定一個(gè)不同的相似函數(shù),對于每個(gè)注意力頭,可以根據(jù)公式2獨(dú)立獲得一個(gè)新的節(jié)點(diǎn)表示。最終的節(jié)點(diǎn)表示是從不同的注意力頭中取平均節(jié)點(diǎn)表示:
其中,T是注意力頭的數(shù)量,是第t個(gè)注意力頭計(jì)算的注意力系數(shù),Wt是第t個(gè)注意力頭的線性變換矩陣。最終,將GAT 注意力層的工作原理展示在圖1中。
圖1 圖注意力網(wǎng)絡(luò)(GAT)層原理圖Fig.1 Schematic diagram of graph attention network(GAT)layer
2.1.2 GATv2與GAT的區(qū)別
圖注意力網(wǎng)絡(luò)(GAT)和注意力機(jī)制在異常檢測方面具有較大的潛力。在聚合信息的過程中加入了注意力機(jī)制,使圖注意力網(wǎng)絡(luò)的學(xué)習(xí)過程更加穩(wěn)定。其優(yōu)點(diǎn)就是在圖中為不同的鄰居節(jié)點(diǎn)分配不同權(quán)重,而非一視同仁的對待。這種方式可以更好地關(guān)注到網(wǎng)絡(luò)當(dāng)中的入侵,畢竟網(wǎng)絡(luò)入侵在網(wǎng)絡(luò)中占少數(shù),圖注意力網(wǎng)絡(luò)能夠注意到這種少數(shù)的異常情況。
但文獻(xiàn)[14]指出,GAT存在靜態(tài)注意力的問題,靜態(tài)注意力是指對關(guān)鍵節(jié)點(diǎn)的關(guān)注對于任何查詢節(jié)點(diǎn)具有相同的秩(順序),得到的注意力系數(shù)相對不變。針對這個(gè)問題,文獻(xiàn)[14]提出了具有動(dòng)態(tài)注意力的改進(jìn)版本的圖注意力網(wǎng)絡(luò)GATv2。而他們的改動(dòng)核心是將GAT中注意力系數(shù)的運(yùn)算過程(即公式1)加以改變,變化方式如公式5所示。GAT將LeakyReLU移至aT和兩個(gè)線性操作之間,aT是前饋神經(jīng)網(wǎng)絡(luò),W是簡單的線性操作。
文獻(xiàn)[14]通過完備的理論公式推導(dǎo)和相關(guān)的實(shí)驗(yàn)證明,這個(gè)改動(dòng)成功將GAT 的靜態(tài)注意力改為動(dòng)態(tài)注意力。通過在多個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)表明,GATv2取得了更好的效果。而且,實(shí)驗(yàn)還證明GATv2具有一定的抗干擾能力?;谶@些因素,本研究將采用GATv2 來構(gòu)建網(wǎng)絡(luò)入侵檢測的圖神經(jīng)網(wǎng)絡(luò)檢測模型。
2.2.1 網(wǎng)絡(luò)入侵流量圖的構(gòu)建
對于本文構(gòu)建的圖神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測方案,首先將網(wǎng)絡(luò)流量構(gòu)建成圖。一般的做法是將網(wǎng)絡(luò)流量以IP 地址為節(jié)點(diǎn),以它們之間產(chǎn)生的網(wǎng)絡(luò)流為邊來構(gòu)建網(wǎng)絡(luò)流量圖,如圖2(a)所示。其中S 代表源節(jié)點(diǎn)集合,D 代表目的節(jié)點(diǎn)集合。但是,網(wǎng)絡(luò)流量特征都存在于網(wǎng)絡(luò)流上,即網(wǎng)絡(luò)流量圖上的邊。入侵檢測能判斷這些網(wǎng)絡(luò)流是否存在網(wǎng)絡(luò)攻擊,對圖上的邊緣進(jìn)行分類。而圖注意力網(wǎng)絡(luò)適用于節(jié)點(diǎn)分類任務(wù),無法用于邊緣分類。所以,為了能夠讓本文構(gòu)建的模型能夠用于邊緣分類,模型采用圖2(b)的構(gòu)圖方式。它是以圖2(a)中的網(wǎng)絡(luò)流為節(jié)點(diǎn),以節(jié)點(diǎn)為邊構(gòu)建新的網(wǎng)絡(luò)流量圖,轉(zhuǎn)換過程的示例如圖2 所示。以這種方式將邊緣分類問題巧妙的轉(zhuǎn)化為節(jié)點(diǎn)分類問題。
圖2 模型構(gòu)建流量圖的轉(zhuǎn)換過程Fig.2 The Conversion Process of Model Construction Traffic Graph
2.2.2 E-ResGATv2方法
本文將構(gòu)建的新圖設(shè)為圖G'(v′,ε')。這里的v′就是原來圖中的邊緣集合。為了計(jì)算效率,算法實(shí)現(xiàn)的是小批量版本。算法首先構(gòu)造一個(gè)批處理的2跳全鄰域表示,這里的鄰域?yàn)閳DG' 中節(jié)點(diǎn)v′的完整鄰域,用Nv表示。每個(gè)邊緣批次的樣本用B 表示,在每個(gè)迭代k處的表示為Bk。隨著迭代次數(shù)k逐漸減小得到最終批次為B0的2跳全鄰域表示。然后,圖注意力層在這些鄰域上使用注意機(jī)制聚合鄰居信息。受到文獻(xiàn)[10]中E-ResGAT 模型使用殘差學(xué)習(xí)讓圖神經(jīng)網(wǎng)絡(luò)性能提升的啟發(fā),本文的模型還在每一層中連接了原始節(jié)點(diǎn)特征的轉(zhuǎn)換。這種方式可以讓模型學(xué)習(xí)的更加深入。最終,本文將使用GATv2所構(gòu)建的入侵檢測模型命名為E-ResGATv2。
入侵檢測模型中帶殘差的聚合過程輸入是所構(gòu)建圖中的節(jié)點(diǎn)特征hv(其中v?B0),注意力層的輸出為h'v。對于每個(gè)節(jié)點(diǎn)v,要計(jì)算其相鄰特征的加權(quán)平均,然后與轉(zhuǎn)換后的節(jié)點(diǎn)特征ev連接。在第k層帶有殘差的基于注意力的聚合過程可以表示為:
其中,auv是所構(gòu)建圖中分配給邊緣euv的注意系數(shù),W是跨層的共享線性變換,將輸入的特征映射到更低的維度。而注意系數(shù)auv是通過前饋神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)的,其中aT是權(quán)重向量。然后,通過LeakyReLU激活和softmax函數(shù)歸一化后,得到所有節(jié)點(diǎn)對的注意系數(shù),如公式7所示:
其中,hu和hv分別為節(jié)點(diǎn)u和v的節(jié)點(diǎn)表示。然后,通過采用多頭關(guān)注來使E-ResGATv2的注意力更加穩(wěn)定,多頭聚合可以表示為公式8。其中,M為注意頭的個(gè)數(shù),為第m個(gè)歸一化注意系數(shù),Wm代表第m個(gè)權(quán)重矩陣。
最終,本文構(gòu)建的E-ResGATv2網(wǎng)絡(luò)入侵檢測模型的整體架構(gòu)如圖3所示。首先,模型以網(wǎng)絡(luò)流量數(shù)據(jù)集為基礎(chǔ)通過圖形轉(zhuǎn)換構(gòu)建網(wǎng)絡(luò)流量圖,將網(wǎng)絡(luò)流(邊緣)的分類轉(zhuǎn)換為節(jié)點(diǎn)分類。然后,在圖上獲取相關(guān)節(jié)點(diǎn)的兩跳全鄰域表示,對其進(jìn)行兩跳注意力聚合,將其與轉(zhuǎn)換后的節(jié)點(diǎn)特征ei連接得到節(jié)點(diǎn)嵌入。最后,通過分類器函數(shù)對網(wǎng)絡(luò)入侵流量和正常流量進(jìn)行劃分。一般是通過softmax 分類器將節(jié)點(diǎn)嵌入轉(zhuǎn)換為類別概率,并最終與真實(shí)類別標(biāo)簽進(jìn)行比較,以計(jì)算分類評估性能指標(biāo)。
圖3 E-ResGATv2網(wǎng)絡(luò)入侵檢測模型整體架構(gòu)Fig.3 Overall architecture of E-ResGATv2 network intrusion detection model
本節(jié)介紹有關(guān)網(wǎng)絡(luò)入侵異常檢測實(shí)驗(yàn)的相關(guān)設(shè)置,首先對實(shí)驗(yàn)采用的兩個(gè)入侵檢測數(shù)據(jù)集進(jìn)行介紹,接著對實(shí)驗(yàn)環(huán)境和采用的評價(jià)指標(biāo)進(jìn)行說明,最后描述有關(guān)實(shí)驗(yàn)的細(xì)節(jié)如模型參數(shù)的設(shè)置等。
為了驗(yàn)證本文所構(gòu)建的E-ResGATv2 模型在網(wǎng)絡(luò)入侵異常檢測方面的性能,本文選取兩個(gè)常用的公開入侵檢測數(shù)據(jù)集UNSW-NB15 和ToN-IoT 來評估模型的檢測性能。它們包含了多類型的網(wǎng)絡(luò)流量數(shù)據(jù),涵蓋了各種網(wǎng)絡(luò)入侵和攻擊的情況,這種多樣性使得這兩個(gè)數(shù)據(jù)集非常適合用于測試和評估入侵檢測系統(tǒng)的性能。由于數(shù)據(jù)量龐大,接近真實(shí)網(wǎng)絡(luò)數(shù)據(jù),它們已經(jīng)廣泛用于學(xué)術(shù)屆的入侵檢測研究,在測試入侵檢測方法性能上具有代表性。
UNSW-NB15[15]是由新南威爾士大學(xué)(UNSW)網(wǎng)絡(luò)安全實(shí)驗(yàn)室建立合成環(huán)境所創(chuàng)建的,提供了在綜合環(huán)境中生成真實(shí)現(xiàn)代的正常和異常網(wǎng)絡(luò)流量數(shù)據(jù)。該數(shù)據(jù)集含9種類型的攻擊,即Dos、蠕蟲、后門、模糊程序、漏洞利用等。數(shù)據(jù)集類標(biāo)簽有二分類標(biāo)簽和多分類標(biāo)簽,數(shù)據(jù)集有大約254 萬條流量記錄,每條記錄有43 個(gè)流量特征,存儲(chǔ)在4個(gè)CSV文件中。由于數(shù)據(jù)量龐大,考慮到機(jī)器性能和計(jì)算效率,本文只采用了其中一個(gè)文件。(UNSW-NB15_1.csv)大約70萬條數(shù)據(jù)記錄。在這個(gè)文件中,正常流量數(shù)據(jù)大約占總體數(shù)據(jù)記錄的96.83%。
ToN-IoT[16]是新一代物聯(lián)網(wǎng)入侵檢測數(shù)據(jù)集,主要針對物聯(lián)網(wǎng)網(wǎng)絡(luò)中的Web 應(yīng)用程序、物聯(lián)網(wǎng)網(wǎng)關(guān)和計(jì)算機(jī)系統(tǒng)的各種攻擊技術(shù),如DoS、DDoS 和勒索軟件等類型的攻擊。包含二分類標(biāo)簽和多分類標(biāo)簽,每條記錄有39 個(gè)網(wǎng)絡(luò)流量特征。本研究使用的是ToN-IoT 數(shù)據(jù)集中的Train_Test_datasets文件大約46萬條流量數(shù)據(jù)記錄,其中正常流量記錄占全部流量記錄的比例為65.07%。
實(shí)驗(yàn)環(huán)境為Intel(R) Core(TM) i7,10 代,32G 內(nèi)存,window10 操作系統(tǒng),GPU 為NVIDIA GeForce RTX 3090 以及python 版本為3.6.13。深度學(xué)習(xí)框架用的是Pytorch,版本為1.8.1。實(shí)驗(yàn)采用召回率(Recall)、精確率(Precision)、F1-score、準(zhǔn)確率(Accuracy)以及AUC-ROC曲線來評價(jià)模型的整體性能,它們廣泛用于分類任務(wù)。前4 個(gè)指標(biāo)是基于真陽性(TP)、真陰性(TN)、假陽性(FP)和假陰性(FN)計(jì)算而來。AUC-ROC 曲線是在各種閾值設(shè)置下的分類問題的性能測量方法。ROC 是概率曲線,AUC 表示可分離性的程度。ROC 曲線下的面積即為AUC的值,AUC值在0到1之間,AUC越高模型越好。計(jì)算方式如公式9所示。
本節(jié)介紹實(shí)驗(yàn)設(shè)置的模型參數(shù)及其他細(xì)節(jié)。使用E-ResGATv2模型的圖注意力層數(shù)為3層,每個(gè)注意力層中間的隱藏層大小為64,使用的分類器為softmax 分類函數(shù)。每層注意力頭的個(gè)數(shù)為6。非線性激活函數(shù)和GAT 均用的ELU。為避免過度擬合,注意系數(shù)用dropout 方法,速率為0.2。模型所用框架為Pytorch,用Adam optimizer優(yōu)化器在反向傳播階段執(zhí)行梯度下降。UNSW-NB15 數(shù)據(jù)集使用的學(xué)習(xí)率為0.007,ToN-IoT數(shù)據(jù)集學(xué)習(xí)率為0.01。數(shù)據(jù)集按50%、20%和30%的比率劃分為訓(xùn)練、驗(yàn)證和測試集。因計(jì)算能力有限,本節(jié)設(shè)置小批量大小為500。對于模型損失函數(shù)的選擇,實(shí)驗(yàn)采用交叉熵?fù)p失函數(shù)。最終,實(shí)驗(yàn)對模型進(jìn)行了20 個(gè)(周期)epoch的訓(xùn)練,batch size為100。
將本文提出的E-ResGATV2 網(wǎng)絡(luò)入侵異常檢測方法與E-ResGAT 算法以及其他機(jī)器學(xué)習(xí)方法的檢測性能進(jìn)行對比,探究它們在抵御噪聲干擾時(shí)的表現(xiàn)。同時(shí),實(shí)驗(yàn)還對兩種圖神經(jīng)網(wǎng)絡(luò)方法進(jìn)行結(jié)構(gòu)噪聲干擾,以驗(yàn)證本文方法的性能。在對實(shí)驗(yàn)結(jié)果進(jìn)行展示的同時(shí),對其進(jìn)行分析和討論。
實(shí)驗(yàn)采用以上這些評價(jià)指標(biāo)來衡量圖神經(jīng)網(wǎng)絡(luò)入侵異常檢測方案的檢測性能。為了驗(yàn)證本文E-ResGATv2方法的改進(jìn)效果,將其與原始算法E-ResGAT進(jìn)行對比。為了公平對比,這兩種方法采用的模型參數(shù)都一致。同時(shí)將它們與幾種常見的用于網(wǎng)絡(luò)入侵檢測的機(jī)器學(xué)習(xí)方法[17]進(jìn)行實(shí)驗(yàn)比較,分別是決策樹算法(DT)、邏輯回歸(LR)和高斯樸素貝葉斯(GaussianNB)。表1將它們在以上兩個(gè)網(wǎng)絡(luò)入侵檢測數(shù)據(jù)集上的性能表現(xiàn)展示出來。由于本文主要探究模型的異常檢測能力,所以采用的主要是二分類標(biāo)簽。同時(shí),ROC 曲線作為衡量模型整體性能的重要標(biāo)準(zhǔn)也繪制在圖4中。
表1 不同檢測方法性能指標(biāo)的比較Table 1 Comparison of performance indicators of different detection methods
圖4 兩個(gè)數(shù)據(jù)集上不同檢測算法的ROC曲線Fig.4 ROC curves of different detection algorithms on two datasets
首先,在UNSW-NB15數(shù)據(jù)集上評估各種檢測算法。本文方法E-ResGATv2 的準(zhǔn)確率(Accuracy)最好,但是與E-ResGAT方法的差距不是很大。而兩種圖神經(jīng)網(wǎng)絡(luò)方法的檢測準(zhǔn)確率均優(yōu)于機(jī)器學(xué)習(xí)方法。異常檢測往往更加關(guān)注召回率(Recall),它可以代表檢測方法發(fā)現(xiàn)異常的能力。在所有算法中,DT算法的Recall值最高。E-ResGATv2的Recall值明顯好于E-ResGAT,這說明了GATv2 方法的動(dòng)態(tài)注意力方式相較于GAT的靜態(tài)注意力在聚合鄰居信息進(jìn)而發(fā)現(xiàn)異常節(jié)點(diǎn)時(shí)更有效,也進(jìn)一步證明本文的改進(jìn)起到了作用。兩種圖神經(jīng)網(wǎng)絡(luò)方法的綜合評價(jià)指標(biāo)F1-Score 值表現(xiàn)最好,GaussianNB 算法與其他方法的差距較大。GaussianNB 算法的Precision 值要遠(yuǎn)遠(yuǎn)小于其他方法,只有77.12%。綜合各種評價(jià)指標(biāo),圖神經(jīng)網(wǎng)絡(luò)方法和機(jī)器學(xué)習(xí)方法的差距不是很大,檢測結(jié)果都十分優(yōu)秀。圖4(a)為各種檢測方法的ROC 曲線圖,可以看出除了GaussianNB 算法,所有檢測方法的AUC值都達(dá)到了1。
然后,在ToN-IoT數(shù)據(jù)集上評估各種檢測方法。除兩種圖神經(jīng)網(wǎng)絡(luò)方法,所有機(jī)器學(xué)習(xí)方法的評價(jià)指標(biāo)都達(dá)到了最好。從圖神經(jīng)網(wǎng)絡(luò)的角度來看,E-ResGATv2 算法的3 個(gè)指標(biāo)都要好于E-ResGAT,說明它的檢測效果要好于未改進(jìn)的E-ResGAT算法。如圖4(b),所有檢測方法的AUC值都達(dá)到了1。但綜合其他標(biāo)價(jià)指標(biāo)來看,機(jī)器學(xué)習(xí)方法在ToN-IoT 數(shù)據(jù)集上的檢測效果要好于圖神經(jīng)網(wǎng)絡(luò)方法。
為了探究各種檢測方法在遭受噪聲干擾時(shí)的表現(xiàn),本文在兩個(gè)數(shù)據(jù)集的訓(xùn)練集上添加隨機(jī)特征值以達(dá)到噪聲干擾目的。在觀察和統(tǒng)計(jì)數(shù)據(jù)集中特征值分布之后,發(fā)現(xiàn)每列數(shù)據(jù)的最大或最小值分布頻率最小,說明其代表少數(shù)情況。而且,這種極值往往反映出數(shù)據(jù)當(dāng)中的異常。所以實(shí)驗(yàn)選取數(shù)據(jù)的最大或最小值以增加異常數(shù)據(jù),從而干擾模型分辨能力。具體做法是在每列數(shù)據(jù)的最大或最小值中隨機(jī)取值,在訓(xùn)練集上增加噪聲的規(guī)模大小由參數(shù)p來控制。p的比例越大,訓(xùn)練集上添加噪聲的規(guī)模也就越大。對這些檢測方法分別施加不同噪聲比例p的噪聲,然后通過準(zhǔn)確率的變化來評判噪聲干擾的影響程度。如圖5 是兩個(gè)數(shù)據(jù)集上不同檢測方法隨噪聲大小p的變化趨勢。其中圖5(a)是UNSW-NB15 數(shù)據(jù)集的噪聲干擾變化趨勢,由于GaussianNB 算法在該數(shù)據(jù)集上表現(xiàn)不佳,所以沒有對其進(jìn)行噪聲干擾實(shí)驗(yàn)。圖5(b)是ToN-IoT 數(shù)據(jù)集的噪聲干擾變化趨勢。從實(shí)驗(yàn)結(jié)果來看,所有方法在噪聲干擾下都出現(xiàn)了檢測性能下降的情況,只是下降幅度有所不同。
圖5 不同檢測方法在兩個(gè)數(shù)據(jù)集上隨噪聲干擾比p的變化Fig.5 The variation of different detection methods with noise interference ratio p on two datasets
如圖5(a)所示,隨著噪聲干擾不斷增大,相比其他方法,本文方法E-ResGATv2始終保持穩(wěn)定的檢測準(zhǔn)確率,這表明它在遭受特征值噪聲干擾訓(xùn)練時(shí)還能保持穩(wěn)定的狀態(tài)。而E-Res-GAT 方法呈緩慢下降趨勢,但也能保持較好性能。反觀機(jī)器學(xué)習(xí)方法LR 和DT,在噪聲干擾比例為0.1 和0.2 時(shí)驟然下降,LR 算法的準(zhǔn)確率在p為0.2時(shí)小幅回升,隨后又緩慢下降。而DT算法在突然下降后保持緩慢下降趨勢。所以,與機(jī)器學(xué)習(xí)方法相比,圖神經(jīng)網(wǎng)絡(luò)方法在遭受噪聲干擾時(shí)保持了較穩(wěn)定的狀態(tài)。
圖5(b)反映了在ToN-IoT 數(shù)據(jù)集上各種檢測方法隨噪聲干擾比例p的變化趨勢??梢悦黠@看出機(jī)器學(xué)習(xí)方法GaussianNB在噪聲比例為0.2 時(shí)斷崖式下降,隨后保持很低的檢測準(zhǔn)確率不變,說明其在遭受噪聲干擾后失去檢測性能。而機(jī)器學(xué)習(xí)方法LR 在噪聲比例較小時(shí)還能保持檢測性能,但是在噪聲比例增加到0.5時(shí)也發(fā)生斷崖式下降。而剩下的幾種方法由于其在遭受噪聲后的表現(xiàn)相近,本文將其進(jìn)行局部放大以清楚的分析其變化趨勢。從局部放大圖可以看出,兩種圖神經(jīng)網(wǎng)絡(luò)方法始終保持較好性能,DT算法在噪聲比例為0.3之后發(fā)生較大幅度的下降,與圖神經(jīng)網(wǎng)絡(luò)拉開差距。
綜合兩個(gè)數(shù)據(jù)集上各種檢測方法在遭受噪聲干擾之后的表現(xiàn),可以看出圖神經(jīng)網(wǎng)絡(luò)方法保持了較穩(wěn)定的檢測性能。而在兩種圖神經(jīng)網(wǎng)絡(luò)方法中,本文方法E-ResGATv2表現(xiàn)的更穩(wěn)定。
圖神經(jīng)網(wǎng)絡(luò)是利用了圖形結(jié)構(gòu)數(shù)據(jù)的方法,因此其還會(huì)面臨圖形結(jié)構(gòu)上的噪聲干擾。為了探究本文的兩種圖神經(jīng)網(wǎng)絡(luò)在遭受結(jié)構(gòu)噪聲干擾時(shí)的表現(xiàn),本文對它們添加結(jié)構(gòu)噪聲[14]以驗(yàn)證它們的性能。圖形結(jié)構(gòu)數(shù)據(jù)的干擾[14]通常通過隨機(jī)增加圖形結(jié)構(gòu)上原本沒有的邊來改變原有結(jié)構(gòu),從而干擾模型訓(xùn)練,增加其分辨難度。具體做法是對給定輸入圖G=(v,ε),從v×vε中隨機(jī)抽取|ε|×p個(gè)不存在的邊ε'。p為噪聲比大小,取值為0 到1。然后在含有結(jié)構(gòu)噪聲的圖G′=(v,ε∪ε')上訓(xùn)練圖神經(jīng)網(wǎng)絡(luò),以達(dá)到結(jié)構(gòu)噪聲干擾的目的。以準(zhǔn)確率(Accuracy)的變化來評價(jià)它們在遭受結(jié)構(gòu)噪聲之后的表現(xiàn),如圖6所示。圖6(a)為UNSW-NB15數(shù)據(jù)集在結(jié)構(gòu)噪聲比例不斷增大的情況下,準(zhǔn)確率的變化趨勢。在結(jié)構(gòu)噪聲干擾比例增大的過程中,兩種方法的檢測效果都呈整體下降趨勢。在中間部分略有起伏之后,最終保持下降??梢钥闯觯珽-ResGATv2 方法整體的穩(wěn)定性和檢測效果都要好于E-ResGAT 方法。圖6(b)為ToNIoT數(shù)據(jù)集隨結(jié)構(gòu)噪聲比例增大的變化趨勢。隨著噪聲比例的增大,兩種算法都呈下降趨勢。在噪聲比例為0.1 時(shí)兩種方法還能保持相同的性能,但隨著比例的增大,與本文方法E-ResGATv2相比,E-ResGAT 方法的下降趨勢更為明顯,EResGATv2方法表現(xiàn)出更強(qiáng)的穩(wěn)定性。
圖6 兩個(gè)數(shù)據(jù)集上圖神經(jīng)網(wǎng)絡(luò)檢測方法隨結(jié)構(gòu)噪聲的變化Fig.6 The changes of neural network detection methods with structural noise in two datasets
可以看出,E-ResGATv2 方法抵抗噪聲的能力要強(qiáng)于傳統(tǒng)方法,這是因?yàn)镋-ResGATv2通常使用可學(xué)習(xí)的參數(shù)來計(jì)算節(jié)點(diǎn)之間的注意力權(quán)重,這使得模型可以根據(jù)數(shù)據(jù)動(dòng)態(tài)地調(diào)整注意力。這可以被理解為模型嘗試在不同節(jié)點(diǎn)之間分配不同的重要性,以更好地捕捉圖形結(jié)構(gòu)的局部和全局信息。所以相較于其他方法,在面對噪聲導(dǎo)致圖形信息的變化時(shí),E-ResGATv2 仍然能夠憑借動(dòng)態(tài)注意力捕獲到最相關(guān)的鄰居節(jié)點(diǎn)信息,以更好地識別異常。
對于兩種圖神經(jīng)網(wǎng)絡(luò),本文對其在聚合特征的最后還添加了原始特征,類似于殘差操作。而為探究這種操作能否優(yōu)化圖神經(jīng)網(wǎng)絡(luò)的檢測性能,本文將兩個(gè)數(shù)據(jù)集上圖神經(jīng)網(wǎng)絡(luò)添加殘差前后的對比展示在圖7 中。實(shí)驗(yàn)以準(zhǔn)確率的變化來衡量兩添加殘差前后檢測性能的變化。圖7(a)為UNSW-NB15 上兩種方法有無殘差準(zhǔn)確率的對比,圖7(b)為ToN-IoT數(shù)據(jù)集的對比??梢钥闯觯ㄟ^增加殘差確實(shí)優(yōu)化了兩種方法的檢測性能,殘差的添加有利于模型更好的檢測網(wǎng)絡(luò)入侵異常。
圖7 兩個(gè)數(shù)據(jù)集上圖神經(jīng)網(wǎng)絡(luò)算法添加殘差前后對比Fig.7 Comparison of two datasets before and after adding residuals using neural network algorithms
本文針對網(wǎng)絡(luò)入侵異常檢測提出圖神經(jīng)網(wǎng)絡(luò)方案,并在兩個(gè)公開數(shù)據(jù)集上將圖神經(jīng)網(wǎng)絡(luò)方案與機(jī)器學(xué)習(xí)方法的性能進(jìn)行比較。實(shí)驗(yàn)表明,機(jī)器學(xué)習(xí)方法和圖神經(jīng)網(wǎng)絡(luò)方法在獲得相同水平的檢測效果基礎(chǔ)上,圖神經(jīng)網(wǎng)絡(luò)方法在抵抗噪聲干擾方面,表現(xiàn)出更強(qiáng)的穩(wěn)定性。通過將本文方法E-ResGATv2與E-ResGAT進(jìn)行對比,證明所提出的方法在檢測性能和抵御噪聲干擾方面都要強(qiáng)于原始算法。這說明本文的改進(jìn)更適合網(wǎng)絡(luò)入侵檢測。最后,本文還證明了殘差的添加有效的提高了兩種方法的檢測性能。
通過以上實(shí)驗(yàn),揭示了圖神經(jīng)網(wǎng)絡(luò)在入侵檢測領(lǐng)域的巨大潛力和應(yīng)用前景,尤其是其在面臨噪聲干擾時(shí)表現(xiàn)出較強(qiáng)的抗干擾能力。這證明了圖神經(jīng)網(wǎng)絡(luò)應(yīng)用在網(wǎng)絡(luò)安全領(lǐng)域的優(yōu)勢。接下來的工作將繼續(xù)探索具有魯棒性的圖神經(jīng)網(wǎng)絡(luò),考慮處理入侵檢測數(shù)據(jù)集中存在的類不平衡問題。另外,本團(tuán)隊(duì)計(jì)劃在真實(shí)網(wǎng)絡(luò)環(huán)境中進(jìn)行進(jìn)一步的實(shí)驗(yàn)和研究。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。