本發(fā)明屬于信息安全,尤其涉及一種基于增量學習的動態(tài)僵尸網(wǎng)絡(luò)檢測系統(tǒng)。
背景技術(shù):
1、隨著物聯(lián)網(wǎng)設(shè)備的廣泛普及,利用物聯(lián)網(wǎng)設(shè)備進行感染傳播的僵尸網(wǎng)絡(luò)規(guī)模也在不斷增加。黑客可以利用大規(guī)模僵尸網(wǎng)絡(luò)發(fā)動ddos攻擊、發(fā)送釣魚郵件等暴力網(wǎng)絡(luò)攻擊行為,這些攻擊一旦發(fā)生很難阻止,且對國家基礎(chǔ)設(shè)施和國民信息安全造成巨大威脅。當務(wù)之急是在僵尸網(wǎng)絡(luò)傳播和潛伏階段對僵尸網(wǎng)絡(luò)進行精準檢測和破壞,以減輕僵尸網(wǎng)絡(luò)產(chǎn)生的危害。
2、現(xiàn)有的僵尸網(wǎng)絡(luò)檢測技術(shù)利用僵尸網(wǎng)絡(luò)產(chǎn)生的流量特征,訓練深度學習模型進行僵尸網(wǎng)絡(luò)流量和節(jié)點的檢測。由于僵尸網(wǎng)絡(luò)往往具有特殊的控制結(jié)構(gòu),該結(jié)構(gòu)可以抽象為網(wǎng)絡(luò)交互圖的形式,作為重要檢測依據(jù),且可以根據(jù)其控制結(jié)構(gòu)針對關(guān)鍵控制節(jié)點進行破壞,因此圖神經(jīng)網(wǎng)絡(luò)被廣泛應(yīng)用于實現(xiàn)精準的僵尸網(wǎng)絡(luò)檢測,目前已被國內(nèi)外學者廣泛研究。
3、但現(xiàn)有技術(shù)存在如下不足:1、無法提取控制拓撲:由于攻擊者希望批量控制大規(guī)模僵尸主機,同時又希望主機集群不會因為個別關(guān)鍵節(jié)點被破壞而大面積失控,因此往往建立復雜的、動態(tài)的、高混合速率的控制結(jié)構(gòu)進行控制?,F(xiàn)有方法往往只針對僵尸流量或僵尸節(jié)點進行檢測,未能有效提取出完整的僵尸控制拓撲。盡管后續(xù)可以將分散的流量進行集中分析來確定僵尸網(wǎng)絡(luò)的控制結(jié)構(gòu),進而發(fā)現(xiàn)關(guān)鍵控制節(jié)點,破壞節(jié)點使僵尸網(wǎng)絡(luò)癱瘓,然而,僵尸網(wǎng)絡(luò)中的節(jié)點大部分時間處于休眠階段,僅與控制節(jié)點保持稀疏的心跳連接。這使得某一時段中檢測到的僵尸網(wǎng)絡(luò)行為交互,無法組成完整的僵尸網(wǎng)絡(luò)控制拓撲,使提取出的控制結(jié)構(gòu)零散化、稀疏化,極大影響僵尸網(wǎng)絡(luò)檢測和分析效果。2、無法使用高動態(tài)僵尸網(wǎng)絡(luò):包括圖神經(jīng)網(wǎng)絡(luò)在內(nèi)的大多數(shù)深度學習模型的原理是對已有數(shù)據(jù)集中的數(shù)據(jù)分布進行擬合,并嘗試將其拓展到真實數(shù)據(jù)中,完成檢測。該過程難以檢測動態(tài)化極強、分布變化極快的實時數(shù)據(jù),導致大部分深度學習模型只在數(shù)據(jù)集分布上有效,無法適應(yīng)真實世界中分布變化的數(shù)據(jù)。盡管有方法提出通過衡量數(shù)據(jù)集概念漂移程度的方式進行模型調(diào)整,以適應(yīng)數(shù)據(jù)分布的變化,但該過程計算消耗大,無法適應(yīng)動態(tài)變化速度快的數(shù)據(jù)。僵尸網(wǎng)絡(luò)本身動態(tài)性極強,時刻有新的僵尸節(jié)點被感染,也有舊的僵尸節(jié)點被破壞或休眠,這導致現(xiàn)有的依賴于深度學習模型的方法僅在數(shù)據(jù)集中保持有效,無法檢測真實世界中的動態(tài)僵尸網(wǎng)絡(luò)。3、無法記住已有知識:數(shù)據(jù)分布的改變可以被衡量,并用于指導模型的下一步訓練,以使模型能夠適應(yīng)動態(tài)的分布改變的新批次數(shù)據(jù)。然而,該方法下更新的模型只能擬合新批次數(shù)據(jù),無法在舊批次數(shù)據(jù)上保持良好效果,該現(xiàn)象被稱為災難性遺忘。在動態(tài)僵尸網(wǎng)絡(luò)的檢測任務(wù)中,使用該方法需要在每次分布改變時都更新模型,更新模型的成本極大,難以在真實世界中的僵尸網(wǎng)絡(luò)檢測任務(wù)重產(chǎn)生效果。
4、盡管已有一些工作致力于改進僵尸網(wǎng)絡(luò)檢測技術(shù),但往往無法完全解決上述問題。例如,授權(quán)號為cn115118491b的中國發(fā)明專利利用網(wǎng)絡(luò)原始數(shù)據(jù)中的源ip地址和目的ip地址構(gòu)建流量交互圖,并利用預訓練圖神經(jīng)網(wǎng)絡(luò)模型對網(wǎng)絡(luò)數(shù)據(jù)進行檢測。但該方法的預訓練模型僅對訓練數(shù)據(jù)有效,無法在數(shù)據(jù)分布已改變的新批次數(shù)據(jù)中保持良好效果,無法適應(yīng)僵尸網(wǎng)絡(luò)集群的高頻率動態(tài)變化特點。公開號為cn116896478a的中國發(fā)明專利計算新批次流量數(shù)據(jù)相對于已有模型的概念漂移程度,計算殘差并更新模型,使模型擁有檢測動態(tài)分布僵尸網(wǎng)絡(luò)流量數(shù)據(jù)的能力。但該方法計算殘差更新模型的過程較為繁瑣,當數(shù)據(jù)頻繁變化時,模型需要進行頻繁的重新訓練,無法適應(yīng)高動態(tài)變化的僵尸網(wǎng)絡(luò)數(shù)據(jù)。授權(quán)號為cn112995150b的中國發(fā)明專利設(shè)計了一種基于cnn和lstm融合的僵尸網(wǎng)絡(luò)檢測方法,將僵尸網(wǎng)絡(luò)流量數(shù)據(jù)進行預處理后進行訓練,利用cnn模型提取流量空間特征,利用lstm模型提取流量時序特征,融合后實現(xiàn)僵尸網(wǎng)絡(luò)流量檢測。但該方法僅能檢測僵尸網(wǎng)絡(luò)流量條目,無法捕獲在實際分析中更加重要的僵尸網(wǎng)絡(luò)節(jié)點與控制拓撲,且只在靜態(tài)的僵尸網(wǎng)絡(luò)流量數(shù)據(jù)集中有效,沒有適應(yīng)分布改變的動態(tài)僵尸網(wǎng)絡(luò)流量數(shù)據(jù)的能力。公開號為cn116232721a的中國發(fā)明專利通過聯(lián)合已知的p2p僵尸網(wǎng)絡(luò)和背景流量,構(gòu)建了合成的僵尸網(wǎng)絡(luò)通信流量數(shù)據(jù)集,并利用圖神經(jīng)網(wǎng)絡(luò)對通信拓撲和網(wǎng)絡(luò)流量進行分析,更新智能體模型參數(shù),針對p2p僵尸網(wǎng)絡(luò)進行檢測。但該方法僅能檢測已收集的p2p僵尸網(wǎng)絡(luò)節(jié)點,無法提取p2p僵尸網(wǎng)絡(luò)的關(guān)鍵控制拓撲,無法檢測動態(tài)性強的p2p僵尸網(wǎng)絡(luò)變種。
技術(shù)實現(xiàn)思路
1、有鑒于現(xiàn)有技術(shù)的上述缺陷,本發(fā)明提出一種基于增量學習的動態(tài)僵尸網(wǎng)絡(luò)檢測系統(tǒng),本發(fā)明設(shè)計的技術(shù)方案包括:
2、所述系統(tǒng)包括流量處理模塊、模型訓練模塊、經(jīng)驗緩存模塊和經(jīng)驗重放模塊;
3、所述流量處理模塊用于生成流量的節(jié)點和邊的特征;
4、所述模型訓練模塊用于訓練基于注意力節(jié)點采樣的圖神經(jīng)網(wǎng)絡(luò)模型;
5、所述經(jīng)驗緩存模塊用于圖神經(jīng)網(wǎng)絡(luò)模型訓練完成后,根據(jù)注意力采樣結(jié)果提取節(jié)點的關(guān)鍵子圖,聚合后保存至經(jīng)驗緩存區(qū),并進行維護和更新;
6、所述經(jīng)驗重放模塊用于選擇關(guān)鍵子圖在新批次數(shù)據(jù)中重放,重新聚合新批次數(shù)據(jù)特征,進行圖神經(jīng)網(wǎng)絡(luò)模型微調(diào)。
7、優(yōu)選地,所述流量處理模塊包括流量清洗模塊、流量交互圖生成模塊和特征聚合模塊;
8、所述流量清洗模塊用于獲取網(wǎng)關(guān)中收集的區(qū)域網(wǎng)絡(luò)流量記錄,并將非結(jié)構(gòu)化的區(qū)域網(wǎng)絡(luò)流量記錄轉(zhuǎn)化為結(jié)構(gòu)化的區(qū)域網(wǎng)絡(luò)流量記錄;
9、所述流量交互圖生成模塊用于提取所述區(qū)域網(wǎng)絡(luò)流量記錄中的網(wǎng)絡(luò)交互信息和產(chǎn)生交互的ip實體,所述網(wǎng)絡(luò)交互信息作為圖的邊,所述ip實體作為圖的節(jié)點,組合成反映所述區(qū)域網(wǎng)絡(luò)信息的流量交互圖;
10、所述特征聚合模塊用于將組成邊的網(wǎng)絡(luò)流特征進行聚合,獲得邊特征,并將與節(jié)點相關(guān)的邊特征聚合,獲得節(jié)點特征。
11、優(yōu)選地,所述模型訓練模塊包括圖模型加載模塊、注意力采樣模塊和參數(shù)更新模塊;
12、所述圖模型加載模塊用于加載初始注意力采樣圖神經(jīng)網(wǎng)絡(luò)模型進行訓練,和/或在圖神經(jīng)網(wǎng)絡(luò)模型訓練時加載上一批次數(shù)據(jù)已訓練好的注意力采樣圖神經(jīng)網(wǎng)絡(luò)模型;
13、所述注意力采樣模塊用于根據(jù)節(jié)點特征計算注意力權(quán)重,并根據(jù)注意力權(quán)重矩陣獲得每個節(jié)點對鄰居采樣的概率分布,根據(jù)概率對鄰居進行采樣;
14、所述參數(shù)更新模塊用于根據(jù)圖神經(jīng)網(wǎng)絡(luò)模型的訓練結(jié)果計算損失函數(shù),并引入經(jīng)驗緩存區(qū)節(jié)點的權(quán)重,根據(jù)損失函數(shù)優(yōu)化模型參數(shù)。
15、優(yōu)選地,所述注意力采樣模塊的采樣策略包括重要性采樣和隨機采樣公式如下:
16、
17、式中,為一個變換矩陣,d(s)為采樣策略中的隱藏維數(shù),d(l)為第l層的隱藏維度,為節(jié)點vi在第l層的隱藏嵌入,n(i)為節(jié)點vi的度,為一個attention向量,q(l)(·|i)為被歸一化后概率和為1;
18、優(yōu)選地,所述注意力采樣模塊還用于在圖神經(jīng)網(wǎng)絡(luò)模型各層之間添加殘差連接并聚合多層gnn嵌入。
19、優(yōu)選地,所述聚合多層gnn嵌入包括:當連續(xù)兩個gnn層之間的維度差異存在,引入線性轉(zhuǎn)換矩陣w用于調(diào)整輸入維度,當圖神經(jīng)網(wǎng)絡(luò)模型中每一層的輸出為轉(zhuǎn)換公式如下:
20、
21、式中,為線性變換矩陣,fθ(·)為當前層的非線性轉(zhuǎn)換。
22、優(yōu)選地,所述根據(jù)圖神經(jīng)網(wǎng)絡(luò)模型的訓練結(jié)果計算損失函數(shù),公式如下:
23、
24、式中,為圖神經(jīng)網(wǎng)絡(luò)模型fθ(x)在數(shù)據(jù)集d上的損失函數(shù),x為輸入特征,y為輸入標簽,θ為圖神經(jīng)網(wǎng)絡(luò)模型的參數(shù)。
25、優(yōu)選地,所述引入經(jīng)驗緩存區(qū)節(jié)點的權(quán)重包括:
26、利用特定時間間隔中使用的緩存節(jié)點數(shù)量之間的比例以及全部訓練節(jié)點的總數(shù)量得到緩存節(jié)點的權(quán)重,公式如下:
27、
28、計算每個訓練批次的緩存權(quán)重,得到經(jīng)驗緩存區(qū)節(jié)點的權(quán)重,公式如下:
29、
30、式中,為在批處理中使用的經(jīng)驗緩沖區(qū)節(jié)點數(shù),b為批處理大??;
31、得到歸一化損失函數(shù),公式如下:
32、
33、優(yōu)選地,所述經(jīng)驗緩存模塊包括關(guān)鍵控制拓撲提取模塊、關(guān)鍵控制拓撲聚合模塊和緩存更新模塊;
34、所述關(guān)鍵控制拓撲提取模塊用于獲取圖神經(jīng)網(wǎng)絡(luò)模型訓練完成后的節(jié)點采樣結(jié)果,并將采樣結(jié)果連接成子圖,與僵尸節(jié)點一一對應(yīng),作為僵尸網(wǎng)絡(luò)的關(guān)鍵控制拓撲;
35、所述關(guān)鍵控制拓撲聚合模塊用于將關(guān)鍵控制拓撲中具有關(guān)聯(lián)節(jié)點和關(guān)聯(lián)邊的部分進行拼接存儲;
36、所述緩存更新模塊用于根據(jù)新批次數(shù)據(jù)的特征聚合結(jié)果和控制拓撲更新結(jié)果,對經(jīng)驗緩存區(qū)中的節(jié)點特征與邊特征進行更新,同時維護控制拓撲列表,將被識別為良性子圖的圖刪除,添加新的被識別為僵尸網(wǎng)絡(luò)節(jié)點的關(guān)鍵控制拓撲。
37、優(yōu)選地,所述經(jīng)驗重放模塊包括關(guān)鍵控制拓撲選擇模塊、關(guān)鍵控制拓撲重放模塊和新批次流量接收模塊;
38、所述關(guān)鍵控制拓撲選擇模塊用于根據(jù)經(jīng)驗緩存區(qū)中的關(guān)鍵控制拓撲與當前批次數(shù)據(jù)組成的流量交互圖的關(guān)聯(lián)性,選擇相關(guān)的控制拓撲,等待重放;
39、所述關(guān)鍵控制拓撲重放模塊用于將選擇的控制拓撲拼接進新批次數(shù)據(jù)的流量交互圖中,并根據(jù)關(guān)鍵子圖的特征更新拼接后圖中的節(jié)點和邊特征,將圖結(jié)構(gòu)和特征列表進行處理后,重新輸入模型訓練模塊,進行已有模型的微調(diào);
40、所述新批次流量接收模塊用于將新一批次的網(wǎng)絡(luò)流量進行接收,并輸入流量處理模塊。
41、有益效果:
42、1、本發(fā)明利用基于注意力概率節(jié)點采樣的圖神經(jīng)網(wǎng)絡(luò)模型,在使模型具備高度的僵尸節(jié)點識別能力的同時,其決策依據(jù)能被提取為子圖,作為僵尸網(wǎng)絡(luò)關(guān)鍵控制拓撲,且實驗證明該拓撲具有高度可解釋性,有利于對大規(guī)模復雜僵尸網(wǎng)絡(luò)的深度分析和定向化消滅;
43、2、本發(fā)明利用僵尸網(wǎng)絡(luò)拓撲特征,在圖結(jié)構(gòu)中對動態(tài)數(shù)據(jù)進行表達,并直接在圖上對已有模型進行重新訓練和微調(diào),不需要進行專門的概念漂移計算,能高效快速的使已有模型適應(yīng)當前批次的分布改變的動態(tài)流量數(shù)據(jù),實現(xiàn)了動態(tài)僵尸網(wǎng)絡(luò)數(shù)據(jù)的高效處理;
44、3、本發(fā)明對提取出的僵尸網(wǎng)絡(luò)關(guān)鍵拓撲進行保存和更新,并在新批次數(shù)據(jù)到達時,選擇性添加和聚合到新批次數(shù)據(jù)中,一起參與模型的更新和微調(diào)過程,使模型既能適應(yīng)當前批次數(shù)據(jù),又能適應(yīng)已學習過的數(shù)據(jù),具有良好的抗災難性遺忘能力。