林宏剛,張運理,郭楠馨,陳 麟
(1.成都信息工程大學 網(wǎng)絡空間安全學院,四川 成都 610225;2.先進密碼技術與系統(tǒng)安全四川省重點實驗室,四川 成都 610225;3.網(wǎng)絡空間安全態(tài)勢感知與評估安徽省重點實驗室,安徽 合肥 230037)
僵尸網(wǎng)絡是指被黑客集中控制的計算機群,其核心特點是黑客能夠通過一對多的命令與控制信道操縱感染木馬或僵尸程序的主機執(zhí)行相同的惡意行為,如分布式拒絕服務攻擊、發(fā)送垃圾郵件、虛擬貨幣挖掘等。2020年網(wǎng)絡安全報告顯示,中國境內(nèi)僵尸程序受控主機IP地址數(shù)量高達5百萬,受控服務器數(shù)量為12 810個,僵尸網(wǎng)絡侵害事件情況依舊嚴峻。早期基于IRC和HTTP的僵尸網(wǎng)絡易被檢測發(fā)現(xiàn),目前攻擊者更青睞于采用隱蔽性和威脅性更大的P2P技術創(chuàng)建僵尸網(wǎng)絡,P2P僵尸網(wǎng)絡檢測成為當前熱門研究課題。
目前,僵尸網(wǎng)絡檢測相關工作主要應用機器學習算法(例如,隨機森林、SVM、k-means等)。此類方法采用監(jiān)督學習方法建立基于人為標記的網(wǎng)絡流量特征的模型檢測僵尸流量。近年來,研究者也開始采用一些深度學習算法(例如,CNN、LSTM、RNN等)檢測僵尸網(wǎng)絡流量,并取得了一些很好的效果,應用基于深度學習的大數(shù)據(jù)分析技術能夠?qū)崿F(xiàn)數(shù)據(jù)特征的快速自動抽取,解決建模過程中對專家知識的依賴。根據(jù)檢測所依賴特征的不同,僵尸網(wǎng)絡檢測方法主要分為基于網(wǎng)絡流量協(xié)議特征和基于網(wǎng)絡流量通信圖特征兩類。
基于網(wǎng)絡流量協(xié)議特征的檢測方法利用機器學習或者深度學習算法提取僵尸網(wǎng)絡流量協(xié)議特征來檢測僵尸網(wǎng)絡。Algelal等使用集成分類器對僵尸網(wǎng)絡流量特征進行提取,進而區(qū)分正常流量和僵尸流量。吳迪等設計實現(xiàn)BotCatcher,可以提取僵尸網(wǎng)絡流量的時間和空間兩項特征,無需依賴流量相關協(xié)議特征,進而實現(xiàn)對僵尸網(wǎng)絡的檢測。牛偉納等研究相似性來提取僵尸網(wǎng)絡流量會話特征,并使用基于決策樹的隨機森林算法來檢測P2P僵尸網(wǎng)絡。Wang等提出一種基于卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)的惡意軟件流量分類方法,采用CNN算法提取網(wǎng)絡流量的空間特征,將流量數(shù)據(jù)轉(zhuǎn)換為2維圖像作為CNN的輸入,進而進行特征學習,實現(xiàn)自動檢測。羅扶華等提出一種基于深度學習的檢測方法,先將原始流量轉(zhuǎn)化為2維圖像樣本,再利用卷積神經(jīng)網(wǎng)絡學習樣本的空間特征、長短期記憶網(wǎng)絡(long short-term memory,LSTM)學習樣本的時序特征,完成對僵尸網(wǎng)絡的檢測。基于網(wǎng)絡流量協(xié)議特征的僵尸網(wǎng)絡檢測技術主要依賴于檢測通信流的統(tǒng)計特征,但在真實網(wǎng)絡環(huán)境下,網(wǎng)絡流量數(shù)據(jù)量大,計算量大,導致檢測效率較低。此外,檢測經(jīng)過混淆加密的僵尸網(wǎng)絡流量時,此類方法將會失效。
基于網(wǎng)絡流量通信圖特征的檢測方法是研究人員為克服模型對數(shù)據(jù)依賴性高、通用性不足等問題而采取的手段。由于節(jié)點間交互可以映射到圖模型,因此可用圖的異常檢測方法對動態(tài)網(wǎng)絡異常進行檢測,例如AddGraph、Graph-TR、GDN、Spotlight。在此基礎上,研究人員常采用圖的異常點檢測和拓撲圖交互特征提取方法來檢測僵尸網(wǎng)絡。Chowdhury等根據(jù)通信圖的網(wǎng)絡拓撲結(jié)構(gòu),提取七大類圖結(jié)構(gòu)特征,采用自組織映射(self-organizing maps, SOM)算法檢測僵尸網(wǎng)絡。Lagraa等提出BotGM,將網(wǎng)絡流量行為轉(zhuǎn)換為事件序列,構(gòu)建有向圖,采用圖編輯距離來檢測異常點。Wang等提出Botcapturer,基于圖異常檢測和網(wǎng)絡流量聚類的兩層僵尸網(wǎng)絡檢測框架,采用傳統(tǒng)k-means算法聚類標記出可疑聚合流。Wang等提出BotMark,該框架基于相似性模型、穩(wěn)定性模型以及圖模型采用投票機制來識別僵尸流量?;谕ㄐ艌D特征的檢測方法需要大量人工定義拓撲特征,執(zhí)行多個預過濾步驟,并且大多需要依賴數(shù)據(jù)的特征工程和參數(shù)調(diào)優(yōu)。
隨著網(wǎng)絡結(jié)構(gòu)數(shù)據(jù)(圖)的應用越來越廣泛,傳統(tǒng)方法已無法滿足挖掘動態(tài)網(wǎng)絡中異常元素的需求。圖神經(jīng)網(wǎng)絡作為一種深度學習技術,能同時結(jié)合圖的屬性特征和結(jié)構(gòu)特征來對圖的異常數(shù)據(jù)挖掘。劉杰等提出了一種基于圖神經(jīng)網(wǎng)絡的工控網(wǎng)絡異常檢測算法,融合網(wǎng)絡節(jié)點自身屬性及網(wǎng)絡拓撲結(jié)構(gòu)中鄰域節(jié)點的信息實現(xiàn)對網(wǎng)絡異常的檢測。曲強等針對現(xiàn)有社交網(wǎng)絡Spammer檢測方法僅能提取淺層特征與計算復雜度高的問題,提出了一種基于圖卷積網(wǎng)絡(GCN)的社交網(wǎng)絡Spammer檢測技術。郭嘉琰等提出一種基于圖神經(jīng)網(wǎng)絡的異常檢測算法,將圖結(jié)構(gòu)、屬性以及動態(tài)變化的信息引入模型中,學習進行異常檢測的表示向量。
本文提出基于圖神經(jīng)網(wǎng)絡的P2P僵尸網(wǎng)絡檢測方法用于解決現(xiàn)有的檢測方法存在的不能檢測加密流量、數(shù)據(jù)量大、計算復雜等問題。首先,該方法對數(shù)據(jù)集進行預處理工作,提取節(jié)點多個特征生成特征圖,并通過圖融合方法得到模型輸入權重圖;然后,將此圖作為多層圖卷積神經(jīng)網(wǎng)絡模型的輸入,通過多層疊加的基于注意力機制的圖卷積網(wǎng)絡提取節(jié)點間特征,完成節(jié)點狀態(tài)更新;最后,對僵尸網(wǎng)絡特征進行學習,并通過節(jié)點分類完成僵尸網(wǎng)絡的檢測。該方法不依賴流量協(xié)議特征,而是融合P2P僵尸網(wǎng)絡節(jié)點交互特征及網(wǎng)絡拓撲結(jié)構(gòu)的信息實現(xiàn)僵尸網(wǎng)絡的檢測?;贗SCX-Bot-2014僵尸網(wǎng)絡數(shù)據(jù)集將本文方法與兩種已有方法進行對比試驗與分析,實驗結(jié)果表明本文方法對P2P僵尸網(wǎng)絡的檢測效果更好。
圖神經(jīng)網(wǎng)絡是為了在圖結(jié)構(gòu)的數(shù)據(jù)上進行深度學習而發(fā)展興起的一種神經(jīng)網(wǎng)絡模型,可以自動識別圖中的節(jié)點依賴關系,不需要顯式過濾器、顯式特性定義或手動調(diào)優(yōu),在提取圖特征方面應用效果極佳。本文基于節(jié)點交互特征及網(wǎng)絡拓撲結(jié)構(gòu)的信息構(gòu)建特征圖以表征P2P僵尸網(wǎng)絡,因此可利用GNN識別圖中的節(jié)點特征來檢測P2P僵尸網(wǎng)絡。本文提出的基于圖神經(jīng)網(wǎng)絡的P2P僵尸網(wǎng)絡檢測方法如圖1所示,下面對圖生成、基于圖神經(jīng)網(wǎng)絡的特征提取模型、節(jié)點分類3個主要模塊進行介紹。
圖1 基于圖神經(jīng)網(wǎng)絡的P2P僵尸網(wǎng)絡檢測模型Fig. 1 P2P botnet detection model based on graph neural networks
數(shù)據(jù)預處理過程如下:模型輸入為圖數(shù)據(jù),本文選用的僵尸網(wǎng)絡流量數(shù)據(jù)集文件格式為pcap,為保證特征提取的正確有效,需要進行數(shù)據(jù)預處理。數(shù)據(jù)集中數(shù)據(jù)流量包含除P2P僵尸網(wǎng)絡之外的各類數(shù)據(jù),數(shù)據(jù)流存在建立不完全的情況,此類數(shù)據(jù)包對檢測沒有實際意義,需要進行數(shù)據(jù)清洗。完成上述工作后,從pcap數(shù)據(jù)包文件中提取出構(gòu)建特征圖所需的源IP、目的IP、節(jié)點入度、節(jié)點出度、節(jié)點介數(shù)中心性,繪制相關特征圖作為圖融合的輸入。
采用圖數(shù)據(jù)作為模型輸入時,如果模型輸入的圖不能對節(jié)點間的有效關系進行編碼,不僅不利于網(wǎng)絡參數(shù)的學習,還會降低檢測性能。為避免圖上節(jié)點信息丟失過多,影響檢測結(jié)果,本文構(gòu)建3種節(jié)點特征圖,采用圖融合方法將3個不同圖權重融合為1個圖權重。根據(jù)P2P僵尸網(wǎng)絡中節(jié)點的源IP、目的IP、節(jié)點入度、節(jié)點出度、節(jié)點介數(shù)中心性幾項屬性分別構(gòu)建拓撲圖、出入度圖和介數(shù)中心性圖,具體實現(xiàn)方法如下。
1)根據(jù)源IP、目的IP兩項屬性,基于NetworkX圖分析算法,將pcap數(shù)據(jù)包中互相通信的主機作為圖的節(jié)點,主機之間的連接關系作為圖的邊,構(gòu)造拓撲圖G
=(V
,E
) ,其中,V
為圖中節(jié)點集合{v
,v
,···,v
};E
∈R
為節(jié)點鄰接矩陣,其元素e
=1為 節(jié)點
v
與v
之間存在直接通信。2)根據(jù)節(jié)點出度、節(jié)點入度兩項屬性,基于拓撲圖將出入度作為圖中節(jié)點間的權重,構(gòu)造出入度圖G
=(V
,D
), 其中,D
=diag(d
,d
,···,d
)節(jié)點出入度矩陣表示相應節(jié)點的度。3)根據(jù)節(jié)點介數(shù)中心性這項屬性,基于拓撲圖將節(jié)點介數(shù)中心性作為節(jié)點間的權重,構(gòu)造介數(shù)中心性圖G
=(V
,B
),介數(shù)中心性體現(xiàn)兩個非鄰接的節(jié)點間的依賴關系,是檢測P2P僵尸網(wǎng)絡的一項有用特征。用表示節(jié)點v
的中心性系數(shù),其中,σ為 從節(jié)點v
到 節(jié)點v
的 最短路徑總數(shù), σ(v
)為通過節(jié)點v
的最短路徑總數(shù)。4)圖融合過程中,先對每個圖的鄰接矩陣A
進行標準化,再通過元素積對不同圖的鄰接矩陣加權求和來組合不同的圖。為了使加權和運算后的融合結(jié)果保持歸一化,在加權矩陣中增加一個SoftMax運算,圖融合過程可表示為:w
為一條邊上的i
個權重,w
=SoftMax(w
); “°”表示元素積運算;G
為圖融合得到的圖,用作模型輸入;A
為標準化后的鄰接矩陣。針對P2P僵尸網(wǎng)絡的高混合率和傳播率等相關特征,基于Kipf等提出的圖神經(jīng)網(wǎng)絡框架,本文引入圖融合及注意力機制,設計了一個包含多個圖卷積層的圖神經(jīng)網(wǎng)絡特征提取模型,如圖1虛線框中內(nèi)容所示,主要包含注意力機制層和圖卷積層。下面將對改進的圖神經(jīng)網(wǎng)絡特征提取模型進行介紹。
1.2.1 注意力機制層
圖卷積模型中對節(jié)點權重參數(shù)的解釋采用切比雪夫多項式方案,在一個領域階次內(nèi)所有鄰節(jié)點所對應的權值相同,無法體現(xiàn)中心節(jié)點受鄰節(jié)點影響力的差異。同時在節(jié)點數(shù)量較小的情況下,圖卷積模型容易達到過擬合的狀態(tài)。因此。引進注意力機制,改進了圖卷積模型更新中心節(jié)點特征狀態(tài)的方法,能更好地提取節(jié)點特征,得到的權重參數(shù)有更好的解釋能力。注意力概率分配的實現(xiàn)流程如下:首先,利用神經(jīng)協(xié)同過濾算法(neural collaborative filtering algorithm,NCF),計算得到鄰節(jié)點到中心節(jié)點的相似性概率分布;本文在原始NCF模型的基礎上進行了調(diào)整,在NeuMF層上添加了tanh激活函數(shù),并將其輸出固定為注意力概率,如圖2所示。然后,將每個節(jié)點與其鄰居的相似性向量進行均一化操作,獲得加權計算的權重。最后,對鄰節(jié)點特征進行加權求和,其公式表示如式(2)所示,通過神經(jīng)網(wǎng)絡框架下反向傳播學習,能更好地適用于未在訓練集中出現(xiàn)過的圖數(shù)據(jù)。
圖2 改進的神經(jīng)協(xié)同過濾算法實現(xiàn)注意力概率挖掘Fig. 2 Improved attention probability mining realized by neural collaborative filtering algorithm
X
為加權求和得到的鄰節(jié)點特征矩陣,attn(v
,v
)為中心節(jié)點與鄰節(jié)點的相似性度量。1.2.2 圖卷積層
一次圖卷積操作得到的1階鄰居信息,在節(jié)點數(shù)量較少的情況下,無法充分體現(xiàn)節(jié)點間的依賴關系。為解決該問題,圖卷積過程使用多層隱藏層進行訓練,使用多層鄰居的信息,實現(xiàn)對高階鄰域結(jié)構(gòu)信息的捕獲。本文設計的圖神經(jīng)網(wǎng)絡通過多層圖卷積的堆疊將節(jié)點向量特征構(gòu)造為大小為h
的向量,該向量用于表示節(jié)點與其鄰節(jié)點的聯(lián)系。每個節(jié)點特征描述在每一個圖卷積層上,將圖映射到頻率空間,在頻率空間進行卷積操作之后,再將其轉(zhuǎn)換回節(jié)點空間,公式表示如下:X
為第l
層節(jié)點矩陣;為引入的節(jié)點自連接特征,=A
+I
;為的度數(shù)矩陣,其元素σ為ReLU激活函數(shù);W
為上一層特征X
的權值矩陣。此外,應用一個非線性函數(shù)來對當前層的隱藏節(jié)點特征屬性進行更新,矩陣更新如式(4)所示:D
AD
為標準化鄰接矩陣,為了更好地將上述圖神經(jīng)網(wǎng)絡模型用于僵尸網(wǎng)絡圖特征學習,本文使用基于隨機游走的標準鄰接矩陣=D
A
進行歸一化。基于隨機游走的標準鄰接矩陣能更好地利用P2P僵尸網(wǎng)絡拓撲結(jié)構(gòu)具有的混合分布屬性,并使得僅包含源節(jié)點度的標準鄰接矩陣和與之相對應的概率變換矩陣保持一致。同時,本文還設計了一個單獨的線性變換層來映射最后一層的預測輸入,線性變化如式(5)所示:U
為第l
層的可學習變換矩陣。經(jīng)過l
層堆疊圖卷積神經(jīng)網(wǎng)絡后,每個節(jié)點的最終特征屬性將包含Lhop鄰域內(nèi)有用的局部屬性,輸入到線性層中進行線性變換。S
為:S
為SoftMax分類器對輸入的節(jié)點是否存在于僵尸網(wǎng)絡內(nèi)的判定值,e為自然常數(shù)。通過最小化損失函數(shù),使神經(jīng)網(wǎng)絡模型達到收斂狀態(tài),減少模型預測值的誤差。本文采用交叉熵作為損失函數(shù)計算單次訓練的損失值。交叉熵損失函數(shù)通過縮小兩個概率分布的差異,使得預測概率分布盡可能達到真實概率分布,計算式如下:
L
為 損失熵值;y
?為模型預測樣本是正例的概率;y
為樣本標簽,如果樣本屬于正例則其取值為1,否則取值為0。為了更好地模擬真實的網(wǎng)絡環(huán)境,本文采用ISCX-Bot-2014僵尸網(wǎng)絡數(shù)據(jù)集,該數(shù)據(jù)集為了保證僵尸網(wǎng)絡符合真實環(huán)境的情況,混合了ISOT dataset、ISCX 2012 IDS dataset、Botnet traffic generated by the malware capture facility project的子集。ISCX-Botnet-2014數(shù)據(jù)集通用性強,包含了已知的多種P2P僵尸網(wǎng)絡,同時,在構(gòu)造數(shù)據(jù)集的過程中采用的都是真實的僵尸網(wǎng)絡流量軌跡,以保證數(shù)據(jù)集真實性。該數(shù)據(jù)集分為訓練集和測試集,訓練數(shù)據(jù)集大小為5.3 GB,測試數(shù)據(jù)集大小為8.5 GB,測試集包含訓練集沒有的多種僵尸網(wǎng)絡,可用于評價學習模型對未知僵尸網(wǎng)絡的檢測效果。
為了分析模型在不同情況下的檢測效果,本文采用準確率(ACC)、F1值(F1-score)、誤報率(FPR)、漏報率(FNR)4種度量標準作為評價指標。準確率指正確判別僵尸網(wǎng)絡節(jié)點占總體節(jié)點數(shù)的比例;F1-score是分類問題的一個衡量指標,是精確率和召回率的加權調(diào)和平均數(shù),最大為1,最小為0;誤報率用于評估正常流量誤報為僵尸流量的概率;漏報率用于評估僵尸流量誤報為正常流量的概率。4種指標的具體計算式如式(8)~(11)所示:
P
為 準確率,V
表示正樣本判斷為正向的概率,V
表 示負樣本判斷為負向的概率,V
表示負樣本判斷為正向的概率,V
表示正樣本判斷為負向的概率。P
為精確率(precision, PPV),指檢測為僵尸節(jié)點樣本中實際也為僵尸節(jié)點的比例;P
為召回率(recall),指所有僵尸節(jié)點中被判為僵尸節(jié)點的比例。P
為誤報率。P
為漏報率。2.3.1 實驗環(huán)境
本文模型輸入為多個特征圖,特征提取過程需要良好的硬件運算性能。實驗環(huán)境配置如下:采用PyTorch作為神經(jīng)網(wǎng)絡框架;計算機硬件配置CPU為i5-10400f 6核,16 GB內(nèi)存,顯卡為NVIDIA GTX 1660s,搭載Windows10專業(yè)版64位操作系統(tǒng),編譯環(huán)境為python3.8,編譯器采用PyCharm。
2.3.2 參數(shù)配置
本文設計的GNN模型輸入為不包含任何流量協(xié)議特征的特征圖,層與層之間的非線性激活函數(shù)采用ReLU函數(shù),并且在每一層輸出后加上偏差向量,設置所有層的嵌入大小為32,最后一層作為節(jié)點輸出的線性層。本文使用Adam優(yōu)化器對訓練模型進行優(yōu)化。Adam優(yōu)化算法相關參數(shù)設置如下:
P
指學習速率或步長,更大的值在速率校正之前會加快初始學習速度,較小的值在模型訓練期間降低學習速度,本文模型中設置為0.005;P
為第1次估計的指數(shù)衰減率,本文模型中設置為0.9;P
為第2次估計的指數(shù)衰減率,在稀疏梯度問題上,其取值應該接近1.0,本文模型中設置為0.999。P
為一個非常小的數(shù)字,可以防止任何情況下出現(xiàn)分母為0,保證算法穩(wěn)定,本文模型中設置其為1e - 08。此外,還需設置與Adam算法無直接關系的參數(shù)V
=5e-4,該參數(shù)的作用是L2正則化,表示當前可學習參數(shù)p
的權值衰減;g
為待更新的學習參數(shù)p
的偏導數(shù),公式如下:2.3.3 實驗內(nèi)容
為了從多個角度對本文提出的方法進行評估,根據(jù)以下因素設置了對比實驗。
1)為研究GNN模型層數(shù)對學習訓練檢測效果的影響,本文采用包含2、4、8、12層的圖卷積層模型進行對比學習驗證。為研究訓練集中僵尸節(jié)點規(guī)模大小對檢測未知小型僵尸網(wǎng)絡效果的影響,本文在包含100、1 000、10 000僵尸網(wǎng)絡節(jié)點的訓練集上進行模型訓練的對比實驗。
2)本文方法與其他兩類具有代表性的檢測方法進行對比實驗,并考慮訓練集中僵尸節(jié)點規(guī)模為100、1 000、10 000對檢測性能的影響。對比方法是基于CNN和LSTM的深度學習檢測方法(CNN_LSTM)、基于SOM的檢測方法。
本文使用第2.2節(jié)提到的4項評估指標在不同圖卷積層層數(shù)、不同僵尸網(wǎng)絡節(jié)點規(guī)模下進行對比實驗,結(jié)果如表1所示。4項指標中,F(xiàn)1值能反映模型的穩(wěn)定性,ACC值能準確反映預測結(jié)果的準確性,因此,根據(jù)表1中F1和ACC兩項指標繪制折線圖,如圖3、4所示。從表1和圖3、4可以看出:圖卷積層層數(shù)一致時,在更大規(guī)模僵尸網(wǎng)絡社區(qū)上訓練的模型檢測效果明顯優(yōu)于小規(guī)模僵尸節(jié)點訓練得到的模型,說明訓練樣本包含的僵尸網(wǎng)絡規(guī)模大小對模型訓練影響較大。同時,模型圖卷積層層數(shù)在4層以上時有更好的圖卷積效果,說明在深層圖卷積模型上穩(wěn)定性更好。
表1 不同深度及不同僵尸節(jié)點規(guī)模條件下模型實驗結(jié)果
Tab. 1 Experimental results of the model at different depths and different bot node sizes
圖卷積層層數(shù) 100個僵尸節(jié)點 1 000個僵尸節(jié)點 10 000個僵尸節(jié)點FPR/% FNR/% ACC/% F1/% FPR/% FNR/% ACC/% F1/% FPR/% FNR/% ACC/% F1/%2 10.00 76.00 57.00 35.82 5.30 74.20 60.25 39.36 0.914 73.24 62.925 41.92 4 7.00 62.00 65.50 52.41 6.10 60.10 66.90 54.66 0.513 32.24 82.63 80.54 8 3.00 36.00 80.50 76.65 1.10 31.20 83.85 80.99 0.231 11.90 93.94 93.56 12 2.00 14.00 92.00 91.49 0.30 11.60 94.05 93.69 0.009 1.82 99.09 99.08
圖3 不同層數(shù)圖神經(jīng)網(wǎng)絡模型F1值Fig. 3 F1-score on graph neural network model with varying number of layers
圖4 不同層數(shù)圖神經(jīng)網(wǎng)絡模型ACCFig. 4 ACC on graph neural network model with varying number of layers
本文方法與其他方法的對比結(jié)果如表2所示。將能反映模型穩(wěn)定性和預測結(jié)果準確性的F1和ACC指標繪制為折線圖,如圖5、6所示。從表2和圖5、6可以看出,在訓練集包含僵尸節(jié)點數(shù)量較小時,本文方法的F1值和檢測準確率ACC能達到90%以上,說明本文方法的穩(wěn)定性優(yōu)于其他兩類對比方法;在訓練集包含僵尸節(jié)點數(shù)量較大時,3類方法都能達到較高的檢測準確率,但是本文方法的誤報率和漏報率明顯低于其他兩類方法,說明增加訓練集中僵尸節(jié)點數(shù)量對本文所提模型訓練效果提升更大。
表2 不同模型檢測結(jié)果
Tab. 2 Detection results on different models
模型 100個僵尸節(jié)點 1 000個僵尸節(jié)點 10 000個僵尸節(jié)點FPR/% FNR/% ACC/% F1/% FPR/% FNR/% ACC/% F1/% FPR/% FNR/% ACC/% F1/%CNN_LSTM 2.00 35.00 81.33 78.33 0.50 19.10 90.19 89.78 0.060 14.33 92.81 92.25 SOM 2.00 30.00 83.92 81.28 0.20 15.70 92.05 91.38 0.080 5.45 97.24 97.16本文方法 2.00 14.00 92.00 91.49 0.30 11.60 94.05 93.69 0.009 1.82 99.09 99.08
圖5 不同模型的F1值Fig. 5 F1-score of contrastive experiments on different models
圖6 不同模型的ACCFig. 6 ACC of contrastive experiments on different models
本文提出一種基于圖神經(jīng)網(wǎng)絡的P2P僵尸網(wǎng)絡檢測模型,采用圖融合方法將生成多個特征圖融合后作為GNN模型的輸入,引入注意力機制作為節(jié)點狀態(tài)更新函數(shù),結(jié)合多個圖卷積層的堆疊實現(xiàn)對交互特征的降維抽取和對高階結(jié)構(gòu)信息的挖掘。相比基于CNN_LSTM和SOM等算法的僵尸網(wǎng)絡檢測方法,本文方法的特征學習只針對節(jié)點交互特征以及網(wǎng)絡拓撲結(jié)構(gòu)的信息,不需要對流量協(xié)議特征進行提取,因此,可對加密、采用混淆技術的僵尸網(wǎng)絡進行檢測。實驗結(jié)果表明,對P2P僵尸網(wǎng)絡節(jié)點的檢測有效且準確率在一定程度上優(yōu)于其他算法,訓練集中包含合適的僵尸節(jié)點數(shù)量能更有利于模型學習節(jié)點間的交互特征,同時,深層模型具有更好的檢測準確率和更低的誤報率?,F(xiàn)階段的本文方法基于空間層次進行檢測,在未來的研究工作中,將重點研究基于時序和空間兩個層次的檢測方法,更有效地對節(jié)點特征進行挖掘?qū)W習。