本發(fā)明涉及信息安全,尤其涉及一種異常網(wǎng)絡(luò)流量檢測(cè)方法。
背景技術(shù):
1、隨著信息化社會(huì)的不斷進(jìn)步,互聯(lián)網(wǎng)得到了迅猛發(fā)展,這也導(dǎo)致了網(wǎng)絡(luò)流量呈現(xiàn)出爆炸式的增長。網(wǎng)絡(luò)流量的劇增也帶來了相應(yīng)的安全隱患,時(shí)刻威脅著網(wǎng)絡(luò)社會(huì)的信息安全。傳統(tǒng)的機(jī)器學(xué)習(xí)方法在處理異常網(wǎng)絡(luò)流量檢測(cè)時(shí)已顯不足,目前普遍采用的解決方案是基于深度學(xué)習(xí)。然而,基于深度學(xué)習(xí)算法的異常網(wǎng)絡(luò)流量檢測(cè)模型的參數(shù)規(guī)模日益增大,對(duì)于處理能力有限的資源受限型設(shè)備(嵌入式設(shè)備、網(wǎng)絡(luò)交換機(jī)、邊緣設(shè)備等)而言,模型的運(yùn)行效率成為一個(gè)不容忽視的問題。
2、雙向長短時(shí)記憶網(wǎng)絡(luò)(bilstm)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它在處理序列數(shù)據(jù)是能夠同時(shí)考慮過去和未來的上下文信息。bilstm通過將兩個(gè)長短時(shí)記憶網(wǎng)絡(luò)(lstm)層疊加在一起并分別處理正向和反向的序列信息,增加了模型對(duì)時(shí)間序列數(shù)據(jù)的理解能力。使用bilstm可以很好地提高模型的檢測(cè)能力以及檢測(cè)準(zhǔn)確度。
3、知識(shí)蒸餾是一種模型壓縮的算法,旨在將大型深度學(xué)習(xí)模型(通常稱為教師模型)的知識(shí)傳遞給一個(gè)更小、更高效的模型(通常稱為學(xué)生模型),同時(shí)盡可能減少性能損失,構(gòu)造出一個(gè)性能類似但是體積和計(jì)算復(fù)雜度更小的模型,這對(duì)于在資源受限的環(huán)境中部署模型十分重要。
4、而現(xiàn)有技術(shù)中,并沒有將bilstm模型與知識(shí)蒸餾算法進(jìn)行結(jié)合,對(duì)異常網(wǎng)絡(luò)流量進(jìn)行檢測(cè)的方法,并且現(xiàn)有的異常網(wǎng)絡(luò)流量檢測(cè)模型的參數(shù)都過大,導(dǎo)致在資源受限型設(shè)備中的檢測(cè)速度較慢、運(yùn)行效率較低。
5、因此,亟需提供一種異常網(wǎng)絡(luò)流量檢測(cè)方法,相對(duì)于現(xiàn)有技術(shù),提高檢測(cè)速度和運(yùn)行效率。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明解決現(xiàn)有技術(shù)存在的技術(shù)問題,本發(fā)明提供了一種異常網(wǎng)絡(luò)流量檢測(cè)方法。
2、為實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
3、一種異常網(wǎng)絡(luò)流量檢測(cè)方法,包括以下步驟:
4、s1、獲取待檢測(cè)網(wǎng)絡(luò)流量數(shù)據(jù),對(duì)待檢測(cè)網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行預(yù)處理,形成待檢測(cè)數(shù)據(jù)集;
5、s2、構(gòu)建異常網(wǎng)絡(luò)流量檢測(cè)模型,具體包括以下步驟:
6、s21、獲取原始異常網(wǎng)絡(luò)流量數(shù)據(jù),對(duì)原始異常網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行預(yù)處理,形成原始數(shù)據(jù)集;
7、s22、構(gòu)建教師模型,選擇bilstm模型作為教師模型的基本結(jié)構(gòu),利用s2步驟得到的原始數(shù)據(jù)集對(duì)bilstm模型進(jìn)行訓(xùn)練得到教師模型;
8、s23、構(gòu)建學(xué)生模型,選擇單向的lstm模型作為學(xué)生模型,采用知識(shí)蒸餾算法對(duì)單向的lstm模型進(jìn)行訓(xùn)練,得到異常網(wǎng)絡(luò)流量檢測(cè)模型;
9、s3、將s1步驟預(yù)處理后的待檢測(cè)數(shù)據(jù)集輸入至異常網(wǎng)絡(luò)流量檢測(cè)模型中,輸出檢測(cè)結(jié)果。
10、進(jìn)一步地,s22步驟中bilstm模型的結(jié)構(gòu)包括前向lstm單元、后向lstm單元、全連接層、softmax層和輸出層;
11、所述前向lstm單元、所述后向lstm單元并聯(lián)設(shè)置,所述全連接層同時(shí)與所述前向lstm單元、所述后向lstm單元連接,所述softmax層與所述全連接層連接,所述輸出層與所述softmax層連接。
12、更進(jìn)一步地,所述前向lstm單元、所述后向lstm單元、所述全連接層都設(shè)為若干個(gè),若干個(gè)所述前向lstm單元、若干個(gè)所述后向lstm單元、若干個(gè)所述全連接層對(duì)應(yīng)設(shè)置。
13、更進(jìn)一步地,s22具體包括以下步驟:
14、s221、將原始數(shù)據(jù)集作為輸入,分別輸入至前向lstm單元和后向lstm單元中;
15、s222、前向lstm單元和后向lstm單元將各自的輸出結(jié)果輸入至全連接層中,在全連接層中匯聚形成多通道矩陣;
16、s223、全連接層將得到的多通道矩陣通過relu激活函數(shù)處理后,輸入至softmax層進(jìn)行分類,得到教師模型的異常網(wǎng)絡(luò)流量檢測(cè)結(jié)果;
17、s224、迭代s221-s223步驟,得到教師模型。
18、進(jìn)一步地,s23步驟中知識(shí)蒸餾算法具體包括以下步驟:
19、s231、將s21步驟預(yù)處理后的原始數(shù)據(jù)集中的數(shù)據(jù)輸入至單向的lstm模型中,進(jìn)行前向傳播,得出單向的lstm模型對(duì)每個(gè)數(shù)據(jù)的預(yù)測(cè)概率;
20、s232、根據(jù)s231得到的預(yù)測(cè)概率,計(jì)算總損失;
21、s233、根據(jù)s232步驟計(jì)算出的總損失,進(jìn)行反向傳播算法,更新單向的lstm模型中參數(shù)的權(quán)重;
22、s234、迭代s231-s234步驟,直至達(dá)到設(shè)定迭代次數(shù),得到異常網(wǎng)絡(luò)流量檢測(cè)模型。
23、更進(jìn)一步地,s232步驟中的總損失根據(jù)損失函數(shù)計(jì)算得出,損失函數(shù)模型表示為:
24、l=αlh+(1-α)ls;
25、上式中,l表示總損失;lh表示硬標(biāo)簽的損失,是學(xué)生模型的預(yù)測(cè)結(jié)果與對(duì)應(yīng)的數(shù)據(jù)之間的預(yù)測(cè)損失;ls表示學(xué)生模型對(duì)教師模型生成的軟標(biāo)簽的預(yù)測(cè)損失;α表示平衡lh和ls的權(quán)重系數(shù)。
26、更進(jìn)一步地,其中,設(shè)定知識(shí)蒸餾算法中的溫度值,基于softmax函數(shù)以及設(shè)定的溫度值,得到教師模型在原始數(shù)據(jù)集上生成的軟標(biāo)簽。
27、更進(jìn)一步地,所設(shè)定的溫度值用于保持教師模型的輸出概率在設(shè)定范圍內(nèi)。
28、進(jìn)一步地,s21具體包括以下步驟:
29、s211、將所獲取的原始異常網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行切割,形成若干個(gè)規(guī)模一致的子數(shù)據(jù)包;
30、s212、對(duì)每個(gè)子數(shù)據(jù)包中字段缺失的部分進(jìn)行補(bǔ)零操作,同時(shí)對(duì)同一個(gè)子數(shù)據(jù)包中被截?cái)嗟臄?shù)據(jù)進(jìn)行字段填補(bǔ);
31、s213、對(duì)經(jīng)過s212步驟處理后的全部子數(shù)據(jù)包,劃分訓(xùn)練集和測(cè)試集。
32、更進(jìn)一步地,s213步驟中使用k-折交叉驗(yàn)證法進(jìn)行訓(xùn)練集和測(cè)試集的劃分,設(shè)定k-折交叉驗(yàn)證法中的k=10。
33、與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
34、本發(fā)明以bilstm模型作為教師模型,以單向的lstm模型作為學(xué)生模型,采用知識(shí)蒸餾算法,得到異常網(wǎng)絡(luò)流量檢測(cè)模型,對(duì)待檢測(cè)網(wǎng)絡(luò)流量進(jìn)行異常檢測(cè),實(shí)現(xiàn)了壓縮異常網(wǎng)絡(luò)流量檢測(cè)模型的參數(shù),在提高模型識(shí)別速度的同時(shí),盡量減少性能損失、保證模型的識(shí)別正確率,還具有一定的通用性。
1.一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,s22步驟中bilstm模型的結(jié)構(gòu)包括前向lstm單元、后向lstm單元、全連接層、softmax層和輸出層;
3.根據(jù)權(quán)利要求2所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,所述前向lstm單元、所述后向lstm單元、所述全連接層都設(shè)為若干個(gè),若干個(gè)所述前向lstm單元、若干個(gè)所述后向lstm單元、若干個(gè)所述全連接層對(duì)應(yīng)設(shè)置。
4.根據(jù)權(quán)利要求2所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,s22具體包括以下步驟:
5.根據(jù)權(quán)利要求1所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,s23步驟中知識(shí)蒸餾算法具體包括以下步驟:
6.根據(jù)權(quán)利要求5所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,s232步驟中的總損失根據(jù)損失函數(shù)計(jì)算得出,損失函數(shù)模型表示為:
7.根據(jù)權(quán)利要求6所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,其中,設(shè)定知識(shí)蒸餾算法中的溫度值,基于softmax函數(shù)以及設(shè)定的溫度值,得到教師模型在原始數(shù)據(jù)集上生成的軟標(biāo)簽。
8.根據(jù)權(quán)利要求7所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,所設(shè)定的溫度值用于保持教師模型的輸出概率在設(shè)定范圍內(nèi)。
9.根據(jù)權(quán)利要求1所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,s21具體包括以下步驟:
10.根據(jù)權(quán)利要求9所述的一種異常網(wǎng)絡(luò)流量檢測(cè)方法,其特征在于,s213步驟中使用k-折交叉驗(yàn)證法進(jìn)行訓(xùn)練集和測(cè)試集的劃分,設(shè)定k-折交叉驗(yàn)證法中的k=10。