本發(fā)明涉及網(wǎng)絡(luò)安全,更具體的說是涉及一種流量分類和ood數(shù)據(jù)檢測方法、系統(tǒng)、裝置及介質(zhì)。
背景技術(shù):
1、網(wǎng)絡(luò)流量分類一直是網(wǎng)絡(luò)安全研究領(lǐng)域關(guān)注的熱點之一,在各類場景下實現(xiàn)流量快速分類以及未知流量的檢測對防范網(wǎng)絡(luò)攻擊、惡意軟件和交易欺詐等各類網(wǎng)絡(luò)安全威脅具有重要意義。
2、當(dāng)前,能夠?qū)崿F(xiàn)流量快速分類以及未知流量的檢測的方案主要有三種。
3、1、基于載荷的方法,主要利用提取的端口號進(jìn)行分類或者利用正則的方式對數(shù)據(jù)包的有效負(fù)載匹配特定模式進(jìn)行分類。該方法在面臨網(wǎng)絡(luò)地址轉(zhuǎn)換(nat)、協(xié)議嵌入、隨機(jī)端口分配或者加密流量時,分類性能會顯著下降。
4、2、基于統(tǒng)計學(xué)習(xí)的方法,主要利用專家經(jīng)驗手動選取流量數(shù)據(jù)的特征集合,之后利用傳統(tǒng)機(jī)器學(xué)習(xí)的方法如樸素貝葉斯、svm、隨機(jī)森林等方法進(jìn)行分類;該方法盡管在分類效果上有一定程度的提升,但嚴(yán)重依賴專家經(jīng)驗,對不同種類的流量、不同粒度的分類標(biāo)準(zhǔn)適應(yīng)性較差,同時在面對數(shù)據(jù)中類別不均衡和模型遷移學(xué)習(xí)能力差等問題時也存在一定困難。
5、3、基于深度學(xué)習(xí)的方法,利用cnn或lstm等方法對原始流量數(shù)據(jù)提取特征,形成嵌入向量,之后利用全連接層進(jìn)行分類。基于深度學(xué)習(xí)的方法避免了人為選取特征集合的麻煩,但此類模型在遇到新類型流量時往往需要大量帶標(biāo)簽的新類型流量進(jìn)行重新訓(xùn)練或增量訓(xùn)練,這導(dǎo)致無法模型對新型流量進(jìn)行實時快速分類,還會造成算力資源的消耗。另外,真實場景中流量性質(zhì)隨時間發(fā)生變化或out-of-distribution(ood,即訓(xùn)練集中或樣本庫未出現(xiàn)的新類型數(shù)據(jù))時常出現(xiàn)等問題,也使得此類模型的適應(yīng)性有所下降。
技術(shù)實現(xiàn)思路
1、針對以上問題,本發(fā)明的目的在于提供一種流量分類和ood數(shù)據(jù)檢測方法、系統(tǒng)、裝置及介質(zhì),通過改進(jìn)元學(xué)習(xí)框架使得模型同時實現(xiàn)了對新類型流量的快速分類和ood數(shù)據(jù)檢測。
2、本發(fā)明為實現(xiàn)上述目的,通過以下技術(shù)方案實現(xiàn):
3、第一方面,本發(fā)明公開了一種流量分類和ood數(shù)據(jù)檢測方法,包括如下步驟:
4、s1:將原始流量切分為會話,在會話中提取預(yù)設(shè)數(shù)量的流量數(shù)據(jù)轉(zhuǎn)化為矩陣,并生成元訓(xùn)練集和元測試集;
5、s2:通過對元訓(xùn)練集隨機(jī)抽樣生成元任務(wù),輸出對應(yīng)的支持集、查詢集和標(biāo)簽集;
6、s3:基于元任務(wù),利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,得到嵌入向量;
7、s4:計算支持集中每類樣本的原型,并計算查詢集和樣本集中每個樣本到各原型的距離;
8、s5:根據(jù)所述距離,通過損失函數(shù)優(yōu)化模型參數(shù),以生成分類檢測模型;
9、s6:應(yīng)用分類檢測模型對元測試集或待檢測的流量數(shù)據(jù)進(jìn)行特征提取和距離計算,并根據(jù)閾值進(jìn)行ood數(shù)據(jù)判定和分類。
10、進(jìn)一步,所述步驟s1包括:
11、將原始流量切分為多個會話;
12、截取每個會話的前個數(shù)據(jù)包,并提取每個數(shù)據(jù)包的前個字節(jié);
13、將每個字節(jié)的數(shù)據(jù)轉(zhuǎn)化成的數(shù)值數(shù)據(jù),并數(shù)值數(shù)據(jù)轉(zhuǎn)化為的流量數(shù)據(jù)矩陣;
14、將流量數(shù)據(jù)矩陣記為,其中和分別代表了流量樣本和對應(yīng)的標(biāo)簽;
15、將分為元訓(xùn)練集和元測試集;其中,元訓(xùn)練集和元測試集中的樣本,元測試集的標(biāo)簽集合包含若干元訓(xùn)練集的標(biāo)簽集合中不含有的標(biāo)簽。
16、進(jìn)一步,所述步驟s2包括:
17、從元訓(xùn)練集的標(biāo)簽集合中隨機(jī)抽取個類別形成類別子集,其中,小于中的總類別數(shù);
18、對類別子集中每一個類別分別從元訓(xùn)練集中隨機(jī)抽取個樣本,將它們切分為個樣本和個樣本,分別添加進(jìn)支持集和查詢集中;
19、在標(biāo)簽集合中除去類別子集的元素,并從標(biāo)簽集合中抽取若干標(biāo)簽,形成ood標(biāo)簽集合;
20、根據(jù)ood標(biāo)簽集合中的所有類別,從元訓(xùn)練集中抽取個樣本,形成ood樣本集合;
21、輸出一個元任務(wù),以及對應(yīng)的支持集、查詢集和ood樣本集合。
22、進(jìn)一步,所述步驟s3包括:
23、將支持集、查詢集和ood樣本集合輸入卷積神經(jīng)網(wǎng)絡(luò)的4個第一類卷積block?i進(jìn)行特征提取,生成第一特征圖;
24、將第一特征圖輸入卷積神經(jīng)網(wǎng)絡(luò)的2個第二類卷積block?ii進(jìn)行特征提取,生成目標(biāo)特征圖;
25、對目標(biāo)特征圖進(jìn)行展開處理,生成每個樣本的高維向量,將高維向量輸入卷積神經(jīng)網(wǎng)絡(luò)的全連接層,得到每個樣本的嵌入向量。
26、進(jìn)一步,所述步驟s4包括:
27、基于每個樣本的嵌入向量,通過公式計算出第k類樣本的原型,以生成支持集中每類樣本的原型;其中,為支持集中第類樣本的集合,表示取集合中元素的數(shù)量;
28、根據(jù)以下公式計算查詢集和ood樣本集合中每個樣本對應(yīng)的嵌入向量到每個原型的距離:
29、
30、其中,是或中樣本的索引,是第個維度的權(quán)重因子;
31、所述權(quán)重向量;其中,為可訓(xùn)練的矩陣,為softmax操作,為向量的連接操作;
32、根據(jù)公式計算查詢集中樣本的概率分布。
33、進(jìn)一步,所述步驟s5包括:
34、分別計算查詢集中每個樣本的樸素分類損失和邊際損失;
35、其中,,,為第一預(yù)設(shè)閾值;
36、根據(jù)公式計算ood樣本集合中每個樣本的邊際損失;其中為第二預(yù)設(shè)閾值;
37、根據(jù)公式計算總的損失;
38、根據(jù)總的損失判斷損失是否收斂;若收斂,配置模型參數(shù),并生成分類檢測模型。
39、進(jìn)一步,所述步驟s6包括:
40、獲取元測試集或待檢測的流量數(shù)據(jù),作為待測數(shù)據(jù);
41、基于待測數(shù)據(jù),根據(jù)步驟s2生成相應(yīng)的元任務(wù);
42、將元任務(wù)輸入分類檢測模型,進(jìn)行特征提取和距離計算,生成相應(yīng)的查詢集中每個樣本到各原型的距離d;
43、判斷是否d>判定閾值th;若是,則將相應(yīng)的樣本歸為doo;若否,則選擇距離d對應(yīng)原型的類別作為樣本的預(yù)測類別。
44、第二方面,本發(fā)明還公開了一種流量分類和ood數(shù)據(jù)檢測系統(tǒng),包括:
45、數(shù)據(jù)預(yù)處理模塊,用于將原始流量切分為會話,在會話中提取預(yù)設(shè)數(shù)量的流量數(shù)據(jù)轉(zhuǎn)化為矩陣,并生成元訓(xùn)練集和元測試集;
46、元任務(wù)生成模塊,用于通過對元訓(xùn)練集隨機(jī)抽樣生成元任務(wù),輸出對應(yīng)的支持集、查詢集和標(biāo)簽集;
47、特征提取模塊,用于基于元任務(wù),利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取,得到嵌入向量;
48、原型和距離計算模塊,用于計算支持集中每類樣本的原型,并計算查詢集和樣本集中每個樣本到各原型的距離;
49、損失計算及訓(xùn)練模塊,用于根據(jù)所述距離,通過損失函數(shù)優(yōu)化模型參數(shù),以生成分類檢測模型;
50、元測試模塊,用于應(yīng)用分類檢測模型對元測試集或待檢測的流量數(shù)據(jù)進(jìn)行特征提取和距離計算,并根據(jù)閾值進(jìn)行ood數(shù)據(jù)判定和分類。
51、第三方面,本發(fā)明還公開了一種流量分類和ood數(shù)據(jù)檢測裝置,包括:
52、存儲器,用于存儲流量分類和ood數(shù)據(jù)檢測程序;
53、處理器,用于執(zhí)行所述流量分類和ood數(shù)據(jù)檢測程序時實現(xiàn)如上文任一項所述流量分類和ood數(shù)據(jù)檢測方法的步驟。
54、第四方面,本發(fā)明還公開了一種可讀存儲介質(zhì),所述可讀存儲介質(zhì)上存儲有流量分類和ood數(shù)據(jù)檢測程序,所述流量分類和ood數(shù)據(jù)檢測程序被處理器執(zhí)行時實現(xiàn)如上文任一項所述流量分類和ood數(shù)據(jù)檢測方法的步驟。
55、對比現(xiàn)有技術(shù),本發(fā)明有益效果在于:?本發(fā)明公開了一種流量分類和ood數(shù)據(jù)檢測方法、系統(tǒng)、裝置及介質(zhì),通過改進(jìn)元學(xué)習(xí)框架構(gòu)建了一種分類檢測模型,使得模型同時實現(xiàn)了對新類型流量的快速分類和ood數(shù)據(jù)檢測。分類檢測模型在元訓(xùn)練階段完成之后,在遇到新類型流量時,無需重新訓(xùn)練,只需要對新類型流量進(jìn)行少量標(biāo)注,直接放入支持集,即可對新類型的流量進(jìn)行分類。這避免大量標(biāo)注帶來的人工成本和計算資源的消耗。
56、在實際應(yīng)用時,即使突然遇到樣本庫中從未標(biāo)注過的類別或來不及標(biāo)注的數(shù)據(jù),本發(fā)明也可以快速鑒別為ood數(shù)據(jù)。避免了真實場景中ood數(shù)據(jù)的突然出現(xiàn)造成的模型誤分類的情況。另外,分類檢測模型的采用的預(yù)處理方式和特征提取過程中的三維卷積結(jié)構(gòu),充分保留了數(shù)據(jù)的時序特性使得模型獲得更有效的表征;本發(fā)明采用了獨特的距離計算方式,提高了模型的對數(shù)據(jù)的利用能力,提高了模型的分類性能和穩(wěn)定性。
57、由此可見,本發(fā)明與現(xiàn)有技術(shù)相比,具有突出的實質(zhì)性特點和顯著的進(jìn)步,其實施的有益效果也是顯而易見的。