国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于對比學(xué)習(xí)的細粒度未知惡意流量分類方法

2023-01-09 12:33:08王一豐郭淵博陳慶禮方晨林韌昊
通信學(xué)報 2022年10期
關(guān)鍵詞:細粒度重構(gòu)流量

王一豐,郭淵博,陳慶禮,方晨,林韌昊

(1.信息工程大學(xué)密碼工程學(xué)院,河南 鄭州 450001;2.鄭州大學(xué)計算機與人工智能學(xué)院,河南 鄭州 450001)

0 引言

基于流量的網(wǎng)絡(luò)入侵檢測系統(tǒng)(NIDS,network intrusion detection system)是網(wǎng)絡(luò)空間中最重要的安全設(shè)備類型之一,已被廣泛應(yīng)用于各類信息系統(tǒng)的防護中。隨著移動互聯(lián)網(wǎng)和物聯(lián)網(wǎng)(IoT,Internet of things)等技術(shù)的發(fā)展,系統(tǒng)的規(guī)模不斷擴大,且終端設(shè)備的種類和數(shù)量也不斷增多。而這些資源受限的終端設(shè)備由于難以部署安全軟件或代理且更易存在較多漏洞,更易遭受攻擊。這種趨勢使NIDS 在網(wǎng)絡(luò)防御中的重要性日益凸顯。

NIDS 的主要作用是對惡意流量的分類。目前,流量分類方法主要有基于端口、基于載荷和基于流3 種[1]。然而,如今網(wǎng)絡(luò)攻擊愈發(fā)具有對抗性,常采用各種途徑規(guī)避NIDS 檢測。例如,端口混淆和端口跳變等技術(shù)使基于端口的方法準(zhǔn)確率大幅下降[2];加密技術(shù)的廣泛應(yīng)用使基于載荷的方法幾乎完全失效[3],此外,隱私和計算開銷等問題也是這類方法的缺點[1]。2020 年,超過70%的惡意活動在通信中使用了加密技術(shù)[4]。而基于流的方法不存在上述問題,并且由于機器學(xué)習(xí)(ML,machine learning)和深度學(xué)習(xí)(DL,deep learning)的快速發(fā)展,這類方法的檢測性能大幅提高,現(xiàn)已成為流量分類領(lǐng)域的主流方法[5-6]。然而,以往研究發(fā)現(xiàn)這類方法在實際惡意流量檢測中存在以下3 個問題。

1) 機器學(xué)習(xí),特別是深度學(xué)習(xí)的分類性能嚴(yán)重依賴于訓(xùn)練數(shù)據(jù)的數(shù)量和質(zhì)量[7]。但由于實際中標(biāo)注數(shù)據(jù)成本昂貴或存在新型網(wǎng)絡(luò)威脅,往往沒有足夠標(biāo)注數(shù)據(jù)可用。此外,更細粒度的分類能提供更多威脅信息,有助于安全專家快速響應(yīng)。而以往大多研究沒有考慮此問題,缺乏在細粒度小樣本(C2FS,coarse-to-fine few-shot)條件下的評估結(jié)果。

2) 惡意流量檢測也是一個開集分類問題,數(shù)量快速增長的未知攻擊(如惡意軟件新變種、零日攻擊以及針對IoT 等新興技術(shù)的攻擊)產(chǎn)生了各類未知惡意流量,現(xiàn)今的NIDS 需應(yīng)對未知惡意流量分類的挑戰(zhàn)[8]。而以往大多實驗結(jié)果是在閉集上,未考慮對未知類的檢測。

3) 機器學(xué)習(xí)算法容易遭受逃逸攻擊,或者說對抗樣本攻擊[9]。研究表明,某些惡意流量只需添加不影響惡意功能的微小擾動即可繞過NIDS 的檢測[10-11]。此外,流量欺騙[12]、混淆[13]等技術(shù)的發(fā)展也使惡意類流量可以偽裝接近于良性類,從而誤導(dǎo)分類器[14]。

為了解決以上問題,本文提出一種基于對比學(xué)習(xí)[15]的細粒度未知惡意流量分類方法,主要貢獻如下。

1) 提出了在C2FS 條件下的惡意流量檢測任務(wù),并提出了一種基于條件變分編碼器(CVAE,conditional variational auto-encoder)[16]和極值理論(EVT,extreme value theory)[17]的半監(jiān)督在線學(xué)習(xí)方法。相比以往方法,本文在一個框架下實現(xiàn)了對已知、未知和小樣本類上的細粒度高性能分類。

2) 在流量分類的各階段設(shè)計并加入了對比損失,并采用了再訓(xùn)練架構(gòu),使對小樣本惡意類流量的分類性能和模型的泛化性能相比以往大幅提高。

3) 在公開數(shù)據(jù)集上的實驗結(jié)果表明,相比以往方法,本文方法對所有惡意類,特別是小樣本類的分類精度更高,且能夠有效降低逃逸攻擊效果。

1 相關(guān)工作

1.1 基于機器學(xué)習(xí)的惡意流量分類

惡意流量分類的基本目標(biāo)是區(qū)分良性類和惡意類流量。隨著數(shù)據(jù)規(guī)模的增加,相比傳統(tǒng)方法,機器學(xué)習(xí)在惡意流量分類中的性能優(yōu)勢愈發(fā)凸顯[18]。采用機器學(xué)習(xí)的方法具有使用場景廣、分類準(zhǔn)確率高、能分類加密流量等優(yōu)點。這些研究的區(qū)別主要在于流特征、分類對象和分類算法的選擇。常用的流特征包括頭部、負載、時空和統(tǒng)計特征[7]。依據(jù)顆粒度,可將分類對象劃分為分組、主機和會話級[19]。常用的分類算法包括支持向量機(SVM,support vector machine)[20]、高斯混合模型(GMM,Gaussian mixture model)[21]、隨機森林(RF,random forest)[22]、卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)[23]等,且都在實驗環(huán)境下取得了不錯的效果。

基于頭部和負載特征的方法在應(yīng)對精心設(shè)計的攻擊時表現(xiàn)不佳。例如,各類公共服務(wù)(社交網(wǎng)站、云平臺等)由于允許用戶定義內(nèi)容,常被用作隱蔽信道發(fā)布命令或傳遞竊取信息[24]。加密或隨機填充等方式也會改變負載特征,從而導(dǎo)致分類性能下降。相比之下,基于統(tǒng)計和時空特征的方法雖然也存在上述問題,但由于在保持惡意功能條件下修改特征成本較大且往往會產(chǎn)生新的可分類特征[13],因此更適用于具有對抗性的惡意流量分類。

部分研究還考慮了實際應(yīng)用中細粒度、小/零樣本等現(xiàn)實需求和問題。文獻[25]提出了一種多級半監(jiān)督學(xué)習(xí)框架來緩解惡意流量分類中的類不平衡問題。文獻[8]采用CVAE 和EVT 來實現(xiàn)流量的細粒度檢測和對未知類的分類。但據(jù)本文所知,目前缺乏同時考慮上述3 個問題的惡意流量分類方法。

1.2 開集分類與流量分類

開集分類是指模型通過在訓(xùn)練階段學(xué)習(xí)已知類樣本,并在測試階段辨別一個樣本是已知類還是未知類。目標(biāo)是找到一個可測函數(shù)f(f(x) > 0表示分類正確),既要最小化已知分類經(jīng)驗風(fēng)險Rε(f(V)),也要最小化開放空間風(fēng)險Ro(f)[26],即其中,V是訓(xùn)練數(shù)據(jù),λr是正則化常數(shù)。

開集分類包括判別和生成兩類方法。在判別方法中,實現(xiàn)開集分類主要有基于稀疏表示[27]、極值機(EVM,extreme value machine)[28]、OpenMax[29]等。在生成方法中,主要有基于實例生成[30]和非實例生成[31]兩類。在這些方法中,EVT 最常被引入用以對未知類進行評估。當(dāng)前流量分類中考慮開集分類問題的文獻還相對較少。文獻[32]采用Weibull-calibrated SVM 對流量進行細粒度分類,并采用EVT 評估校準(zhǔn)。文獻[33]通過EVT 近似計算每個已知類的邊緣距離分布,實現(xiàn)開集流量分類。

1.3 惡意流量分類中的逃逸攻擊

逃逸攻擊(或?qū)箻颖竟簦┦侵腹粽咴诓桓淖兡繕?biāo)系統(tǒng)的情況下,通過構(gòu)造特定對抗樣本以欺騙目標(biāo)系統(tǒng)的攻擊。機器學(xué)習(xí),特別是深度學(xué)習(xí)方法普遍存在容易遭受逃逸攻擊的問題[34],且各類對抗樣本生成方法層出不窮,如FGSM(fast gradient sign method)[35]、FFF(fast feature fool)[36]等。

逃逸攻擊近年來已應(yīng)用于惡意流量偽裝中,以逃避基于機器學(xué)習(xí)的NIDS 檢測。文獻[37]采用生成對抗網(wǎng)絡(luò)(GAN,generative adversarial network)修改流量的非功能性特征,將原始惡意流量轉(zhuǎn)換為對抗流量繞過黑盒NIDS 檢測。文獻[38]同樣采用GAN 模型學(xué)習(xí)良性流特征指導(dǎo)對抗樣本生成,以傳出/傳入數(shù)據(jù)包等6 個特征實現(xiàn)逃逸攻擊。文獻[10]不僅實現(xiàn)了基于GAN的加密惡意流量偽裝,還模仿了良性類的主機級通信時間特征。隨著逃逸攻擊在惡意流量分類中不斷發(fā)展,未來NIDS 中需要考慮對此類攻擊的防御。

1.4 對比學(xué)習(xí)

對比學(xué)習(xí)屬于表征學(xué)習(xí),目的是學(xué)習(xí)一種數(shù)據(jù)變換方式,其更容易解決下游任務(wù)。通過學(xué)習(xí)數(shù)據(jù)的特征表示,使特征空間中相同類數(shù)據(jù)較近,不同類數(shù)據(jù)彼此遠離。大多數(shù)方法是基于對比損失實現(xiàn)的。而其他方法,如BYOL(bootstrap your own latent)模型[39]雖然沒有采用負樣本,但其多層感知機(MLP,multilayer perception)預(yù)測器也可以視作負樣本網(wǎng)絡(luò)。文獻[40]指出對比學(xué)習(xí)模型的性能與負樣本的數(shù)量和質(zhì)量相關(guān)。本文總結(jié)了當(dāng)前3 種主流的對比學(xué)習(xí)方法。

1) 以SimCLR[41]為代表的方法。這類方法將當(dāng)前訓(xùn)練批次中的其他類樣本作為負樣本,通過對比損失實現(xiàn)對比學(xué)習(xí)。這類方法訓(xùn)練難度較大且會丟失以往部分負樣本。

2) 以MoCo[42]為代表的方法。這類方法維護一個大的先入先出負樣本隊列(x-1,x-2,…,x-m),每次訓(xùn)練更新最舊的一小批負樣本。經(jīng)典的MoCo 架構(gòu)如圖1 所示,采用模板網(wǎng)絡(luò)fM來實現(xiàn)對正負樣本的特征提取。對于fM,其初始化參數(shù)為原始特征提取網(wǎng)絡(luò)fq,訓(xùn)練時基于動量緩慢更新參數(shù)。這類方法因不需要反向傳播而計算量較小,但負樣本更新速度較慢。

圖1 經(jīng)典的MoCo 架構(gòu)

3) 以AdCo[43]為代表的方法。這類方法設(shè)計負樣本網(wǎng)絡(luò)表示“整體”負樣本,用以生成高質(zhì)量負樣本信息[44]。這類方法由于需要設(shè)計訓(xùn)練負樣本網(wǎng)絡(luò),模型結(jié)構(gòu)比較復(fù)雜。

2 方法設(shè)計

現(xiàn)有基于流特征的NIDS 存在缺乏標(biāo)注數(shù)據(jù)和易受逃逸攻擊的問題,本節(jié)在文獻[8]的基礎(chǔ)上,受文獻[45-46]啟發(fā)將對比學(xué)習(xí)與CVAE 結(jié)合,以實現(xiàn)已知、未知、小樣本類的流量細粒度分類。

流量的流特征可以采用CICFlowMeter[47]等流量特征提取工具提取。本文中流量的流特征經(jīng)過提取和預(yù)處理后記作d維實值特征向量xi∈Rd,對應(yīng)類標(biāo)簽記作yi∈ {0,1}k+f+1,用k+f+1維的獨熱(one-hot)向量表示。記O為one-hot 編碼函數(shù),作用是將輸入向量的最大維度設(shè)為1,其余維度值設(shè)為 0。類標(biāo)簽集合可以表示為Call={B,M1,…,Mk,Mk+1,… ,Mk+f,Mk+f+1},其中,B表示良性類,M1,…,Mk表示k類大樣本已知惡意類,Mk+1,…,Mk+f表示f類小樣本已知惡意類,Mk+f+1表示未知惡意類 。訓(xùn)練集Strain=Strain-B∪Strain-K∪Strain-F由大量良性類樣本Strain-B={(xi,yi)|yi=B}、一定量的已知惡意類樣本Strain-K={(xi,yi)|yi∈ {M1,… ,Mk}}以及極少量的小樣本已知惡意類樣本Strain-F={(xi,yi)|yi∈{Mk+1,…,Mk+f}}組成。本文利用訓(xùn)練集Strain訓(xùn)練分類網(wǎng)絡(luò)Pθ,使其對所有類樣本x∈ {xi|yi∈Call}的預(yù)測結(jié)果都盡量接近其真實標(biāo)簽y,即目標(biāo)為

本文提出了一個基于流特征的流量分類方法,可同時實現(xiàn)對已知、未知、小樣本類的流量細粒度分類,整體結(jié)構(gòu)如圖2 所示。模型分為已知惡意流量訓(xùn)練、未知惡意流量訓(xùn)練和測試3 個階段。首先,在已知惡意流量訓(xùn)練階段采用CVAE 模型,并設(shè)計對比損失結(jié)合CVAE 編碼器訓(xùn)練,使不同類樣本在潛特征空間中進一步區(qū)分。相比以往方法,加入對比損失后對于小樣本類檢測有顯著提升。其次,在模型未知惡意流量訓(xùn)練階段采用EVT 模型。當(dāng)模型在已知惡意流量訓(xùn)練后,固定編碼器和解碼器的網(wǎng)絡(luò)參數(shù)訓(xùn)練重構(gòu)網(wǎng)絡(luò)參數(shù),并在重構(gòu)階段也加入了對比損失,基于重構(gòu)誤差訓(xùn)練EVT 模型,使模型對未知類的分類性能顯著提高。最后,在測試階段用訓(xùn)練后的CVAE 和EVT 模型對新樣本進行分類。并且重采樣、再訓(xùn)練和L2 正則化等技巧在此也被采用,以進一步提升模型的檢測和泛化性能。

圖2 基于對比學(xué)習(xí)的細粒度惡意流量檢測模型整體結(jié)構(gòu)

2.1 已知惡意流量訓(xùn)練階段

該階段結(jié)構(gòu)如圖2 中的已知惡意流量訓(xùn)練階段所示,目標(biāo)是采用訓(xùn)練集Strain對良性類(B)和已知惡意類(M1,…,Mk+f)樣本進行分類。本文在此階段采用對比學(xué)習(xí)結(jié)合CVAE 模型[8]實現(xiàn)。CVAE可視為有監(jiān)督VAE 模型,在惡意流量檢測中表現(xiàn)優(yōu)異,更重要的是其獨特的“解碼重構(gòu)”架構(gòu)可以幫助分類未知惡意類樣本。

首先,將樣本x∈Rd轉(zhuǎn)化為更低維的潛特征z∈R h,h<<d,更低維的特征空間計算速度更快且能更好地區(qū)分不同類的樣本[8]。對于給定x,y,其z的真實分布記為P(z|x,y),采用一個網(wǎng)絡(luò)Q(z|x,y)近似模擬P(z|x,y)。對于目標(biāo)式(2)的logPθ(y|x)可以改寫為[16]

其中,DKL表示KL 散度[48],用于衡量2 個分布之間的差異。式(3)中前兩項合稱為CVAE 證據(jù)下界值(ELBO,evidence lower-bound),即

由于式(3)第三項中P(z|x,y)無法計算,但KL散度一定非負,因此 logPθ(y|x) ≥LELBO,則式(2)可以等價為

其中,P(z|x)、Q(z|x,y)、P(y|x,z)均采用GMLP(Gaussian multi-layered perceptron)近似模擬。假設(shè)P(z|x)服從正態(tài)分布,采用先驗網(wǎng)絡(luò)P(x)近似;Q(z|x,y)采用編碼網(wǎng)絡(luò)QE(x,y)近似,對應(yīng)CVAE編碼器;P(y|x,z)采用解碼網(wǎng)絡(luò)QD(x,z)近似,對應(yīng)CVAE 解碼器。則基于目標(biāo)式(5),P(x)、QE(x,y)和QD(x,z)采用隨機梯度下降(SGD,stochastic gradient descent)算法通過最小化損失函數(shù)式(6)更新網(wǎng)絡(luò)參數(shù),實現(xiàn)流量分類

其中,z=SA(QE(x,y))是QE(x,y)編碼后正態(tài)分布的采樣,SA 表示采樣函數(shù)。

但以上CVAE 模型存在一定缺陷:一是難以分類小樣本類,二是易遭受對抗樣本的攻擊。為了緩解這2 個問題,本文學(xué)習(xí)潛特征z時加入了對比學(xué)習(xí)。在潛特征空間中,本文希望同類樣本之間更加緊湊,異類樣本之間更加分散。這樣即使是小樣本類也可與其他類區(qū)分開,并且有助于分類未知惡意類流量和防御逃逸攻擊。

為了實現(xiàn)對比學(xué)習(xí),對于任意樣本對(xi,yi)∈Strain,P(xi)首先應(yīng)與同類樣本x+的P(x+)接近,與異類樣本x-的P(x-)遠離;同樣QE(xi,yi)應(yīng)與同類樣本x+的QE(x+,yi)接近,與異類樣本x-的QE(x-,yi)遠離;最后,P(xi)應(yīng)與其對應(yīng)的QE(xi,yi)接近,與其他不正確的y-≠yi生成的QE(xi,y-)遠離。而對比學(xué)習(xí)的損失函數(shù)可以采用InfoNCE 損失[49]的形式來表示

其中,τ是歸一化超參數(shù)。計算時對P(x)和QE(x,y)進行重采樣,以 SA(P(x))和 SA(QE(x,y))計算損失函數(shù)。

對比學(xué)習(xí)中負樣本的選擇至關(guān)重要。為了兼顧效率與精度,本文對不同類型x采用不同策略選取負樣本。首先,采用SimCLR 類方法迅速訓(xùn)練P(x)、QE(x,y);當(dāng)模型收斂速度下降后,選擇負樣本時采用AdCo 類思想,選擇針對性負樣本。即當(dāng)樣本對(xi,yi)∈Strain-K時,選擇屬于同一粗粒度類但不同細粒度類或良性類樣本作為負樣本;最后,對于小樣本類樣本對(xi,yi)∈Strain-F,希望其與盡可能多的負樣本訓(xùn)練,因此對于這部分樣本采用MoCo類方法訓(xùn)練至模型收斂。

本文在CVAE 模型訓(xùn)練時加入了對比損失,以不平衡采樣數(shù)據(jù)訓(xùn)練整體的CVAE 模型,其損失函數(shù)如式(8)所示,對應(yīng)圖2 中的①。

其中,λC是權(quán)重超參數(shù)。

該階段的訓(xùn)練策略如算法1 的步驟1)~步驟16)所示。

2.2 未知惡意流量訓(xùn)練階段

該階段結(jié)構(gòu)如圖2 中的未知惡意流量訓(xùn)練階段所示,目標(biāo)是對未知類(Mk+f+1)惡意樣本進行分類。在此階段,本文采用對比學(xué)習(xí)結(jié)合CVAE 重構(gòu)網(wǎng)絡(luò)和EVT 方法實現(xiàn)流量分類。

在CVAE 模型完成2.1 節(jié)訓(xùn)練后,首先固定QE(x,y)的參數(shù)訓(xùn)練重構(gòu)網(wǎng)絡(luò)R(z,y)。重構(gòu)網(wǎng)絡(luò)R(z,y)用于對輸入潛特征z(由編碼器網(wǎng)絡(luò)QE生成)和給定標(biāo)簽y'并生成重構(gòu)樣本x'。其目標(biāo)是編碼網(wǎng)絡(luò)QE輸入的x和解碼網(wǎng)絡(luò)QD輸出的x'盡量接近。重構(gòu)損失函數(shù)如式(9)所示,重構(gòu)損失采用均方誤差(MSE,mean square error)來衡量。

對于未知類檢測思路是訓(xùn)練后的CVAE 模型對已知類樣本對(xi,yi)∈{(xi,yi)|yi∈ {M1,…,Mk+f}}的預(yù)測標(biāo)簽yi'大概率是正確的,即yi' =yi,其重構(gòu)樣本也應(yīng)接近xi;而對未知類樣本對(xi,yi)∈{(xi,yi)|yi=Mk+f+1},其預(yù)測類標(biāo)簽yi'必定錯誤,即yi' ≠yi,其重構(gòu)樣本xi'應(yīng)與原樣本xi相差較大。這樣就可以判斷新樣本xi'是否屬于未知惡意類。

為了減少對未知類的誤判,訓(xùn)練時重構(gòu)樣本xi'應(yīng)與輸入樣本xi接近,與其他類樣本y-≠yi生成的R(zi,y-)較遠。為此,采用對比學(xué)習(xí)式(10)放大這種需求。

最后利用式(11)訓(xùn)練重構(gòu)網(wǎng)絡(luò)R(z,y)。訓(xùn)練時固 定P(x)和QE(x,y)參數(shù),實際計算時z=SA(QE(x,y))由QE(x,y)編碼后正態(tài)分布采樣,對應(yīng)圖2 中的②。由于對比損失幾何上類似余弦相似度,因此在重構(gòu)樣本時潛特征z也需歸一化。

其中,λR是權(quán)重超參數(shù)。

未知惡意類分類時,由于模型對不同已知類的分類和重構(gòu)能力不同,難以采用統(tǒng)一閾值進行分類。為此,本文采用EVT 為每個已知大樣本類估計分類閾值。EVT 認為對于任意的隨機變量X,其極值相對于閾值t超出的部分應(yīng)服從 GPD(generalized pareto distribution)分布

其中,γ,σ> 0,實際中可以采用極大似然估計方法計算γ,σ,對數(shù)似然函數(shù)表示為

其中,Nt表示觀測數(shù)據(jù)中超過閾值t的樣本數(shù)量,Xi表示觀察數(shù)據(jù)。本文采用Strain-B∪Strain-K中樣本的重構(gòu)誤差作為觀察數(shù)據(jù),分別對大樣本已知類(B,M1,…,Mk)構(gòu)建k+1 個EVT 模型,對應(yīng)于圖2中的③。

該階段的訓(xùn)練策略如算法1 的步驟17)~步驟24)所示。

2.3 細粒度惡意流量的訓(xùn)練策略與測試階段

本文模型的整體訓(xùn)練策略如算法1 所示。

算法1細粒度惡意流量分類模型訓(xùn)練算法

輸入標(biāo)記訓(xùn)練數(shù)據(jù)集Strain

輸出訓(xùn)練后的P(x)、QE(x,y)、QD(x,z)和R(z,y),以及k+1 個訓(xùn)練后的EVT 模型參數(shù)

1) 隨機初始化P(x)、QE(x,y)、QD(x,z)、R(z,y);

2) for(xi,yi)∈Straindo

3) 計算QE(xi,yi)和P(xi)得到潛特征;

4) 隨機選擇負樣本,基于式(8)計算損失和梯度,并采用SGD 更新P(x)、QE(x,y)、QD(x,z)參數(shù);

5) end for

6) 重復(fù)步驟2)~步驟5),直至模型大致收斂;

7) for(xi,yi)∈Strain-Kdo

8) 計算QE(xi,yi)和P(xi)得到潛特征;

9) 選擇xi的同一粗粒度類但不同細粒度類或良性類樣本為負樣本,基于式(8)采用SGD 更新P(x)、QE(x,y)、QD(x,z)參數(shù);

10) end for

11) 重復(fù)步驟7)~步驟10),直至模型大致收斂;

12) for (xi,yi)∈Strain-Fdo

13) 計算QE(xi,yi)和P(xi)得到潛特征;

14) 采用MoCo 架構(gòu),維持大量負樣本,基于式(8)采用動量方式更新P(x)、QE(x,y)、QD(x,z)參數(shù);

15) end for

16) 重復(fù)步驟12)~步驟15),直至模型收斂;

17) for(xi,yi)∈Strain-B∪Strain-Kdo

18) 計算QE(xi,yi)得到潛特征;

19) 固定當(dāng)前P(x)、QE(x,y)、QD(x,z)網(wǎng)絡(luò)參數(shù),基于式(11)采用 SGD 更新R(z,y)參數(shù);

20) end for

21) 重復(fù)步驟17)~步驟20),直至模型收斂;

22) forci∈{B,M1,…,Mk} do

23) 計算ci類所有訓(xùn)練樣本的重構(gòu)誤差,并將其作為觀察數(shù)據(jù),選取經(jīng)驗閾值ti并基于式(13)估算ci類的EVT 模型參數(shù)γi,σi;

24) end for

訓(xùn)練完成后,模型在測試階段的流程如圖2 中的測試階段所示。具體來說,對于一個待分類的新樣本xi,首先采用先驗網(wǎng)絡(luò)P得到潛特征分布zi。接著解碼器QD給出預(yù)測標(biāo)簽。若為小樣本惡意類,則直接將作為分類向量輸出;若為良性類或大樣本已知惡意類,則繼續(xù)用重構(gòu)網(wǎng)絡(luò)R計算x與所有大樣本已知類的標(biāo)簽計算重構(gòu)樣本R(SA(zi),{B,M1,…,Mk})及其重構(gòu)誤差。之所以不對被分類為小樣本類的樣本進行重構(gòu),是因為模型對小樣本類分類能力不足。接著,基于大樣本已知類EVT 模型,對當(dāng)前重構(gòu)誤差計算概率,用于對的修正,得到修正后的概率向量。若分類結(jié)果改變(即O或其最大值小于閾值(即),則最終分類結(jié)果為未知惡意類Mk+f+1;否則,分類結(jié)果仍為

為了進一步提升對小樣本類的分類能力,本文還采用半監(jiān)督學(xué)習(xí)中的再訓(xùn)練架構(gòu)。測試時的無標(biāo)記樣本xi經(jīng)過模型預(yù)測得到分類向量,若,則先基于式(14)分析質(zhì)量并篩選其中高質(zhì)量偽標(biāo)簽。其中高置信度樣本對作為新標(biāo)注數(shù)據(jù),再次重新用于模型訓(xùn)練以提升對小樣本類的分類能力。再訓(xùn)練時只更新解碼器QD(x,z)參數(shù)。

對抗逃逸攻擊需要增強模型的泛化能力[50],常見方法主要分為兩類:一是對數(shù)據(jù)處理,例如通過添加隨機噪聲進行數(shù)據(jù)增強、部署檢測器分類輸入數(shù)據(jù)、中間層隨機Dropout 等[51];二是對模型參數(shù)處理,例如L1、L2 正則化[52]和對抗訓(xùn)練[53]等。

本文采用了3 種技巧來增強模型的泛化能力以降低逃逸攻擊的效果。首先,訓(xùn)練和測試時在潛特征空間中進行重采樣,相當(dāng)于對數(shù)據(jù)添加了噪聲進行數(shù)據(jù)增強,而這其中對比損失的加入使重采樣對模型原本分類性能的影響減少。其次,模型在訓(xùn)練損失函數(shù)式(8)和式(11)時加入了L2正則項。文獻[35]指出L2 正則化能有效增強線性模型的泛化能力且容易實現(xiàn)。最后,逃逸攻擊在未知類分類階段大多被分類為未知攻擊,實現(xiàn)對抗樣本的分類。此外,對比學(xué)習(xí)在此也提高了模型的泛化性能。

3 實驗分析

本節(jié)在一個惡意流量分類文獻中廣泛采用的公開數(shù)據(jù)集NSL-KDD[54]上評估了所提方法。首先,對所提方法各個組件的有效性進行了分析。其次,將所提方法與現(xiàn)有方法進行了對比分析。實驗表明,所提方法在分類小樣本惡意類、分類未知惡意類和抵御逃避攻擊等方面明顯優(yōu)于其他方法。

3.1 數(shù)據(jù)集

本文實驗采用NSL-KDD[54]數(shù)據(jù)集,該數(shù)據(jù)集是著名KDD 99 數(shù)據(jù)集的修訂版本。NSL-KDD 數(shù)據(jù)集包括良性類和39 種細粒度攻擊類。其中,攻擊可以分為4 個粗粒度類,即拒絕服務(wù)(DoS,denial of service)類攻擊、掃描(Probe)類攻擊、遠程入侵(R2L,remote to login)類攻擊和本地提權(quán)(U2R,user to root)類攻擊,具體數(shù)據(jù)分布如表1 所示。本文選擇NSL-KDD 作為實驗數(shù)據(jù)集主要基于以下兩點:1) NSL-KDD 雖然發(fā)布時間較早,但一直被高水平研究所采用,可以與經(jīng)典和先進方法比較;2) 更重要的是,相比其他公開數(shù)據(jù)集,NSL-KDD包含了豐富的細粒度類標(biāo)簽,適用于本文場景,而其他數(shù)據(jù)集大多只有粗粒度標(biāo)簽,或細粒度標(biāo)簽種類不夠豐富。

結(jié)合表1 的數(shù)據(jù)分布和實際情況發(fā)現(xiàn),DoS 類和Probe 類在實際中如果存在,則一般有大量標(biāo)記樣本。而U2R 類和R2L 類在實際中存在較少,更頻繁存在小樣本情況。本文在表1 中列舉并采取了接近實際的實驗設(shè)置。對于小樣本類,每類只選取5 個樣本(5-shot)用于訓(xùn)練。

表1 NSL-KDD 數(shù)據(jù)集各細粒度類的數(shù)據(jù)分布

3.2 評估標(biāo)準(zhǔn)

在分類任務(wù)中,TP 為被模型預(yù)測為正類的正樣本,TN 為被模型預(yù)測為負類的負樣本,F(xiàn)P 為被模型預(yù)測為正類的負樣本,F(xiàn)N 為被模型預(yù)測為負類的正樣本,則分類任務(wù)通常采用以下3 個衡量指標(biāo):精度(Precision)、召回率(Recall)和F1值。

在已知類分類階段,本文同樣關(guān)注稀疏類(小樣本類),因此在訓(xùn)練時采用宏(macro)平均值對模型分類性能進行評估,式(18)表示宏平均F1值。在后續(xù)模型性能評估時,都采用宏平均指標(biāo)。

3.3 有效性分析

本節(jié)對本文模型中各個組件的有效性進行分析。實驗選擇了200 次訓(xùn)練后的各模型進行比較分析。

本節(jié)首先討論了第2 節(jié)中幾個重要超參數(shù)的設(shè)置。式(8)中λC和式(11)中λR都是訓(xùn)練時對比學(xué)習(xí)的權(quán)重,是隨著訓(xùn)練過程動態(tài)變化的。實驗發(fā)現(xiàn),若初始訓(xùn)練時權(quán)重取正值,則模型收斂速度很慢。因此前30 個訓(xùn)練批次時,權(quán)重均取0;之后訓(xùn)練時權(quán)重均取0.5,使模型能快速收斂。其次,對于未知分類閾值εun,選擇訓(xùn)練集上的最佳分類設(shè)置,實驗中εun=0.82。最后,對于再訓(xùn)練過程中的交叉熵閾值εre,其取值應(yīng)是訓(xùn)練集上小樣本類分類性能最佳時的最小值,實驗發(fā)現(xiàn),當(dāng)εre=1.88時取得了最佳效果。

在已知惡意流量訓(xùn)練階段,首先分析對比學(xué)習(xí)對檢測性能(特別是小樣本類)的提升效果。本節(jié)比較了本文模型、不采用對比學(xué)習(xí)的模型和采用SimCLR 對比學(xué)習(xí)的模型的性能。如圖3 所示,在100 次訓(xùn)練后,不采用對比學(xué)習(xí)的模型由于訓(xùn)練難度低模型已經(jīng)收斂。而采用對比學(xué)習(xí)的模型,雖然訓(xùn)練難度高導(dǎo)致所需的訓(xùn)練次數(shù)較多,但在進一步充分訓(xùn)練后,模型性能還可以進一步提升。

圖3 已知惡意流量訓(xùn)練階段不同模型的性能變化

已知類分類階段不同設(shè)置下的歸一化矩陣如圖4所示。如圖4(a)和圖4(b)所示,加入對比學(xué)習(xí)后本文模型對部分大樣本類(如良性類和back 類)和小樣本類的分類性能有明顯提升。但由于加入對比學(xué)習(xí)后,模型訓(xùn)練難度較大,導(dǎo)致同樣訓(xùn)練次數(shù)下模型可能訓(xùn)練不充分,極少類(如warezclient 類)性能反而略微下降。

其次,分析再訓(xùn)練過程對小樣本類的提升效果。如圖4(a)和4(c)所示,再訓(xùn)練后模型對小樣本類分類性能幾乎都有明顯提升。如圖4(b)和4(d)所示,再訓(xùn)練過程對不采用對比學(xué)習(xí)的模型幾乎沒有幫助。這是因為不采用對比學(xué)習(xí)的模型對小樣本惡意類分類能力較差,其輸出的偽標(biāo)簽質(zhì)量較差,對分類小樣本類幾乎沒有幫助,反而可能降低檢測性能。

圖4 已知類分類階段不同設(shè)置下的歸一化混淆矩陣

在未知類分類訓(xùn)練階段,本節(jié)以已知階段本文模型為基線繼續(xù)未知階段訓(xùn)練過程,分別對比了本文模型和在重構(gòu)階段不采用對比學(xué)習(xí)的模型。如圖5(a)和圖5(b)所示,在重構(gòu)階段采用對比學(xué)習(xí)對未知類分類性能有一定提升,并且降低了對部分類(特別是良性類)的誤判。這是因為對比學(xué)習(xí)將同類更加聚合,從而使誤報減少。由于良性類在實際檢測中頻繁出現(xiàn),這對于實際檢測性能影響較大。

圖5 未知類分類階段不同設(shè)置下的歸一化混淆矩陣

最后,分析模型對逃逸攻擊的防御效果。實驗采用FGSM 算法對所有已知惡意類生成對抗樣本測試。如圖6(a)和圖6(b)所示,相比不采樣的模型,采取重采樣的本文模型在同樣烈度的逃逸攻擊下分類性能更高,證明了重采樣能有效對抗逃逸攻擊。如圖6(a)和圖6(c)所示,不采用對比學(xué)習(xí)的模型也增強了對抗逃逸攻擊的能力。最后,如圖6(a)和圖6(d)所示,大部分逃逸攻擊即使在已知類分類階段騙過了模型,但在未知類分類階段逃逸攻擊大多被分類為未知攻擊類,也能一定程度上發(fā)現(xiàn)逃逸攻擊。

圖6 不同設(shè)置下遭受逃逸攻擊后的歸一化混淆矩陣

3.4 性能分析

本節(jié)討論本文方法與其他方法的性能對比。其中,基線模型是先進的CVAE-EVT 模型[8]。在此實驗結(jié)果與文獻[8]中不同的原因主要包括以下兩點:一是數(shù)據(jù)預(yù)處理方式和MLP 網(wǎng)絡(luò)結(jié)構(gòu)不同;二是采用價標(biāo)準(zhǔn)不同,本文采用宏平均指標(biāo)評。

在已知類分類階段,分類模型都能實現(xiàn)對大樣本已知惡意類的分類。但實際中由于網(wǎng)絡(luò)欺騙流量或業(yè)務(wù)變化,往往存在概念漂移等問題,模型需要能快速訓(xùn)練并應(yīng)用。因此,本節(jié)在此主要測試在相同訓(xùn)練時間內(nèi)(本文模型在實驗環(huán)境下訓(xùn)練200 次的時間——約5 min),幾種方法對良性類、大樣本已知類和小樣本已知類的宏平均指標(biāo)如表2 所示。表2 中,盡管隨機森林方法在大樣本類部分指標(biāo)得到了更優(yōu)結(jié)果,但不能兼顧精度與召回率。這是因為隨機森林方法未采取措施平衡稀疏類,導(dǎo)致對稀疏(小樣本)類精度提升但召回率下降,對大樣本類則反之。實際中對于出現(xiàn)次數(shù)較少的惡意類,高召回率則代表了低漏報率,這對攻擊檢測而言更為重要。且隨機森林對小樣本類束手無策,而本文模型由于加入了對比學(xué)習(xí)以及再訓(xùn)練方法,在各階段都表現(xiàn)出了最佳綜合性能,特別是在小樣本類的分類上提升明顯。

表2 已知類分類階段不同模型檢測性能對比

在未知類分類訓(xùn)練階段,相同訓(xùn)練時間內(nèi)本文模型與先進的CVAE-EVT 模型[8]進行了對比。圖7 給出了不同未知類設(shè)置下的宏平均F1值。加入對比學(xué)習(xí)的本文模型對各類未知類的檢測性能基本優(yōu)于CVAE-EVT 模型,證明了本文方法的先進性。

圖7 不同未知類設(shè)置下的宏平均F1 值

4 結(jié)束語

本文旨在設(shè)計一種應(yīng)用于NIDS 的細粒度惡意流量分類方法。在CVAE-EVT 模型[8]的基礎(chǔ)上,本文提出了一個能夠兼顧已知類、小樣本類和未知類的方法,且所設(shè)計模型需具有較強的泛化性,能夠在一定程度上對抗逃逸攻擊。該方法通過在各階段引入了對比學(xué)習(xí)策略提高分類性能。并且,融合再訓(xùn)練、重采樣、L2 正則化等技巧,使模型泛化性能進一步提高。實驗結(jié)果證明了該方法的有效性和先進性。最后,由于當(dāng)前逃逸攻擊技術(shù)不斷發(fā)展,未來擬在此基礎(chǔ)上進一步研究在保證分類性能條件下的防御逃逸攻擊流量的方法。

猜你喜歡
細粒度重構(gòu)流量
融合判別性與細粒度特征的抗遮擋紅外目標(biāo)跟蹤算法
冰墩墩背后的流量密碼
玩具世界(2022年2期)2022-06-15 07:35:36
長城敘事的重構(gòu)
攝影世界(2022年1期)2022-01-21 10:50:14
張曉明:流量決定勝負!三大流量高地裂變無限可能!
細粒度的流計算執(zhí)行效率優(yōu)化方法
尋找書業(yè)新流量
出版人(2020年4期)2020-11-14 08:34:26
北方大陸 重構(gòu)未來
基于雙線性卷積網(wǎng)絡(luò)的細粒度圖像定位
北京的重構(gòu)與再造
商周刊(2017年6期)2017-08-22 03:42:36
支持細粒度權(quán)限控制且可搜索的PHR云服務(wù)系統(tǒng)
郸城县| 江山市| 盐津县| 邛崃市| 二手房| 乐清市| 三门县| 绥中县| 博乐市| 太白县| 正宁县| 蓬莱市| 高尔夫| 西乌珠穆沁旗| 宁蒗| 深圳市| 米林县| 蓬莱市| 江西省| 灌阳县| 博白县| 确山县| 寿宁县| 阿鲁科尔沁旗| 兴国县| 宁河县| 大连市| 昌都县| 岐山县| 界首市| 石柱| 连州市| 卢湾区| 绥德县| 林口县| 怀化市| 呼伦贝尔市| 德钦县| 高台县| 乌恰县| 锦屏县|