劉擁民,楊鈺津,羅皓懿,黃 浩,謝鐵強(qiáng)
(1.中南林業(yè)科技大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,長(zhǎng)沙 410004;2.中南林業(yè)科技大學(xué) 智慧林業(yè)云研究中心,長(zhǎng)沙 410004)
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)的應(yīng)用前景非常廣闊,如森林火災(zāi)檢測(cè)、自動(dòng)駕駛汽車和智能電網(wǎng)等[1-3]。WSN 主要負(fù)責(zé)從物理環(huán)境采集數(shù)據(jù),將收集到的數(shù)據(jù)傳輸?shù)交ヂ?lián)網(wǎng)數(shù)據(jù)中心或網(wǎng)絡(luò)云端進(jìn)行處理。隨著第五代移動(dòng)通信技術(shù)(5th Generation mobile communication technology,5G)的推廣以及物聯(lián)網(wǎng)應(yīng)用的擴(kuò)充造成WSN 數(shù)據(jù)激增,WSN 面臨多方威脅。由于WSN 節(jié)點(diǎn)資源受限、部署策略和通信信道開(kāi)放等特性,WSN 系統(tǒng)在數(shù)據(jù)的采集和傳輸過(guò)程中易受到各種類型的入侵攻擊,其中對(duì)數(shù)據(jù)進(jìn)行的攻擊常常導(dǎo)致數(shù)據(jù)損壞;而對(duì)網(wǎng)絡(luò)結(jié)構(gòu)、路由的攻擊則可能導(dǎo)致網(wǎng)絡(luò)功能喪失,甚至停止服務(wù)、網(wǎng)絡(luò)崩潰。面對(duì)上述威脅,入侵檢測(cè)是一種能夠保障安全的主動(dòng)防御技術(shù),它能監(jiān)測(cè)通信網(wǎng)絡(luò)中的各種類型的入侵活動(dòng),并自動(dòng)檢測(cè)各種入侵企圖[4],預(yù)警內(nèi)部和外部的攻擊。入侵檢測(cè)系統(tǒng)分為基于規(guī)則的和基于行為的[5]兩種類型,前者基于已知惡意流量既定的屬性,后者側(cè)重于與正常樣本特征的偏差。基于規(guī)則的入侵檢測(cè)系統(tǒng)對(duì)識(shí)別新攻擊的效果不佳,相比之下,基于行為的入侵檢測(cè)能更有效地將各種偏離正常的行為捕獲為異常。
在過(guò)去,研究者們提出了許多方法來(lái)設(shè)計(jì)WSN 入侵檢測(cè)系統(tǒng)。Selvakumar 等[4]使用Allen 區(qū)間代數(shù)和模糊粗糙集特征選擇算法實(shí)現(xiàn)了一種自適應(yīng)的入侵檢測(cè)機(jī)制,通過(guò)選擇大量的攻擊數(shù)據(jù)對(duì)WSN 進(jìn)行有效的攻擊預(yù)測(cè)。結(jié)果表明,與標(biāo)準(zhǔn)模型相比,該方法提高了檢測(cè)精度,降低了誤報(bào)率,但它需要通過(guò)使用基于遺傳的特征才能進(jìn)一步提高性能。Sun等[6]引入否定選擇算法(Negative Selection Algorithm,NSA)改進(jìn)V-detector 入侵檢測(cè)模型,通過(guò)修改檢測(cè)器生成規(guī)則和優(yōu)化檢測(cè)器來(lái)改進(jìn)V-detector 算法,并使用主成分分析來(lái)減少檢測(cè)特征。Kalnoor 等[7]使用模式匹配技術(shù)檢測(cè)入侵者,將提取的特征與現(xiàn)有模式進(jìn)行比較,如果在模式匹配過(guò)程中出現(xiàn)偏差,則認(rèn)為是異常的,然而,對(duì)于大型網(wǎng)絡(luò)該過(guò)程過(guò)于復(fù)雜,因此不適用于大型無(wú)線傳感網(wǎng)絡(luò)。Borkar 等[8]提出了ACSO(Adaptive Chicken Swarm Optimization)模型,以突破聚類方法中的限制,還提出了一種基于自適應(yīng)支持向量機(jī)的入侵檢測(cè)分類模型來(lái)檢測(cè)不同類型的攻擊。雖然該模型融合了聚類技術(shù)提高網(wǎng)絡(luò)效率,減少了時(shí)間消耗,提高了預(yù)測(cè)精度,但在解決高維優(yōu)化問(wèn)題時(shí),容易陷入局部最優(yōu)。Otoum等[9]提出了通過(guò)受限玻爾茲曼機(jī)入侵檢測(cè)結(jié)構(gòu)來(lái)保護(hù)WSN,分析了基于深度學(xué)習(xí)的入侵檢測(cè)系統(tǒng)在WSN 中應(yīng)用的可行性,并與自適應(yīng)機(jī)器學(xué)習(xí)的入侵檢測(cè)方法進(jìn)行了比較,實(shí)驗(yàn)結(jié)果表明,構(gòu)建的入侵檢測(cè)結(jié)構(gòu)檢測(cè)率更高,但檢測(cè)時(shí)間增加了一半。Gavel 等[10]將數(shù)據(jù)出現(xiàn)概率與全局概率密度函數(shù)相結(jié)合,判斷網(wǎng)絡(luò)中的入侵事件,并引入了皮爾遜散度以提高檢測(cè)精度,降低假陽(yáng)性率,但是,該研究沒(méi)有考慮入侵的不平衡性。
隨著5G 的應(yīng)用和物聯(lián)網(wǎng)的感知數(shù)據(jù)流量的增加,大規(guī)模、多維度的數(shù)據(jù)源源不斷地產(chǎn)生,攻擊場(chǎng)景變得更加復(fù)雜。現(xiàn)有WSN 入侵檢測(cè)方法在取得一定成果的同時(shí),也存在著處理高維、多樣、不平衡數(shù)據(jù)時(shí)效果不佳,泛化能力不強(qiáng)的問(wèn)題。針對(duì)以上問(wèn)題,機(jī)器學(xué)習(xí)技術(shù)被應(yīng)用于WSN 的入侵檢測(cè)系統(tǒng)中?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的WSN 入侵檢測(cè)方法如K 近鄰[11]、支持向量機(jī)[12]、決策樹(shù)[13]以及隨機(jī)森林[14]等存在許多局限性,如決策樹(shù)的運(yùn)行需要足夠的內(nèi)存,因此不適用于太大的數(shù)據(jù)集;而支持向量機(jī)在處理高維數(shù)據(jù)時(shí)很耗時(shí)。正常和異常樣本數(shù)量之間的不平衡性會(huì)給這些基于統(tǒng)計(jì)學(xué)習(xí)模型的判斷帶來(lái)偏差;在數(shù)據(jù)的預(yù)處理和標(biāo)記方面需要做大量的工作;它們的訓(xùn)練都必須是基于已知攻擊類型的,對(duì)于未知攻擊的檢測(cè)能力非常弱。
WSN 數(shù)據(jù)具有高維、不平衡的特點(diǎn)。在以往的研究中,較大的數(shù)據(jù)集和高維特征數(shù)據(jù)可能會(huì)降低入侵檢測(cè)系統(tǒng)的性能[4],隨著深度學(xué)習(xí)的發(fā)展,基于深度學(xué)習(xí)的異常檢測(cè)方法以其良好的性能得到了廣泛的應(yīng)用[15]。例如,深度自動(dòng)編碼高斯混合模型[16]、長(zhǎng)短期記憶(Long Short-Term Memory network,LSTM)編碼器-解碼器[17]、深度自編碼器與生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)的混合模型[18]顯示出多元異常檢測(cè)的良好性能。然而,入侵檢測(cè)系統(tǒng)在對(duì)抗性例子下逐漸暴露其脆弱性,攻擊者試圖通過(guò)使用對(duì)抗的惡意流量,欺騙模型進(jìn)行錯(cuò)誤分類。GAN 是抗衡、甚至是反制這種對(duì)抗攻擊的潛在方法,通過(guò)GAN 可以增加入侵檢測(cè)系統(tǒng)的魯棒性[19]。GAN 是由Goodfellow 等[20]最早提出生成模型中的一種,目前,主要應(yīng)用于計(jì)算機(jī)視覺(jué)、時(shí)間序列和文本生成等領(lǐng)域[21-23]。在圖像數(shù)據(jù)中,特定特征周圍的特征通常相互關(guān)聯(lián)。然而,網(wǎng)絡(luò)數(shù)據(jù)流的特征大多是獨(dú)立的特征,這些特征之間相關(guān)性不強(qiáng)。在這種情況下,經(jīng)典的卷積核對(duì)特征提取的影響很小,因此本文采用了帶有Dropout 操作的全連接層來(lái)構(gòu)建網(wǎng)絡(luò)。將GAN 應(yīng)用于異常檢測(cè)任務(wù)是通過(guò)學(xué)習(xí)正常狀態(tài)的分布,然后通過(guò)測(cè)試樣本和學(xué)習(xí)到的分布之間的差異,來(lái)判斷測(cè)試樣本是否為異常狀態(tài)。盡管GAN 適用于模擬現(xiàn)實(shí)世界數(shù)據(jù)的高維復(fù)雜分布[24],但GAN 在異常檢測(cè)中的應(yīng)用還相對(duì)較少。Schlegl 等[25]最早提出的AnoGAN(Anomaly detection with GAN)方法基于深度卷積對(duì)抗網(wǎng)絡(luò)(Deep Convolution GAN,DCGAN),通過(guò)建立真實(shí)空間和潛在空間之間的映射來(lái)更好地提取正常樣本的特征,但當(dāng)數(shù)據(jù)維數(shù)增加時(shí),基于反向傳播算法的映射時(shí)間成本很高。Donahue 等[26]提出BiGAN(Bidirectional GAN),當(dāng)生成器學(xué)習(xí)潛在空間到真實(shí)空間的映射時(shí),編碼器同時(shí)學(xué)習(xí)從真實(shí)空間到潛在空間的映射,該方法通過(guò)加入編碼器顯著降低了時(shí)間成本,但檢測(cè)效率不高。Zenati 等[27]提出了對(duì)抗學(xué)習(xí)異常檢測(cè)(Adversarially Learned Anomaly Detection,ALAD),在加入編碼器的基礎(chǔ)上,改進(jìn)了判別器,因此能更快、更有效地進(jìn)行推理,異常檢測(cè)性能也顯著提高,并且擅長(zhǎng)處理高維特征數(shù)據(jù)。
針對(duì)WSN 入侵檢測(cè)任務(wù),ALAD 方法仍然存在局限性,離散特征的數(shù)據(jù)會(huì)導(dǎo)致GAN 訓(xùn)練過(guò)程中出現(xiàn)不穩(wěn)定,模式崩潰的問(wèn)題[28],只能簡(jiǎn)單地提取一些局部特征,因而只能學(xué)習(xí)到一個(gè)不完全分布,在處理多樣性的WSN 入侵流量數(shù)據(jù)問(wèn)題上比較困難[29]。為擺脫這種困境,本文提出一種基于雙向循環(huán)生成對(duì)抗網(wǎng)絡(luò)的無(wú)線傳感網(wǎng)入侵檢測(cè)方法——BiCirGAN(Bidirectional Circulation Generative Adversarial Network),利用雙向異常檢測(cè)結(jié)構(gòu)[27],結(jié)合譜歸一化方法[30]和Wasserstein 距離[28]改進(jìn)GAN 的目標(biāo)函數(shù),并對(duì)異常評(píng)分進(jìn)行優(yōu)化。在KDD99、UNSW_NB15 和WSN_DS 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文方法在具有離散高維特征的不平衡數(shù)據(jù)集上的精確度高于其他經(jīng)典方法,具備更加優(yōu)異的性能。
WSN 為多跳分布式網(wǎng)絡(luò),由多個(gè)簇群組成,每一個(gè)簇由簇頭節(jié)點(diǎn)和傳感器節(jié)點(diǎn)組成,簇頭為每個(gè)簇中的匯聚節(jié)點(diǎn),且由資源豐富的節(jié)點(diǎn)擔(dān)任。簇內(nèi)感知節(jié)點(diǎn)將采集的數(shù)據(jù)傳輸?shù)酱仡^節(jié)點(diǎn),簇頭節(jié)點(diǎn)對(duì)本簇內(nèi)的感知數(shù)據(jù)進(jìn)行處理后轉(zhuǎn)發(fā)至基站,如圖1。采用分層結(jié)構(gòu)的WSN 可對(duì)網(wǎng)絡(luò)流量進(jìn)行分布式檢測(cè),能分散能量開(kāi)銷減輕通信負(fù)擔(dān),實(shí)現(xiàn)節(jié)能[31]。
基于互聯(lián)網(wǎng)的信息處理系統(tǒng)面臨著各種各樣的威脅,這些威脅會(huì)導(dǎo)致系統(tǒng)被破壞,進(jìn)而導(dǎo)致WSN 中的信息嚴(yán)重丟失;此外,通過(guò)WSN 進(jìn)行數(shù)據(jù)通信的流量也在不斷增加,如此大量的數(shù)據(jù)自然成為了攻擊者的目標(biāo),因此確保通過(guò)互聯(lián)網(wǎng)進(jìn)行安全有效的信息交流至關(guān)重要。如圖1 所示,WSN 受到的攻擊可能來(lái)自互聯(lián)網(wǎng)、鄰近的WSN 或是本身的WSN 內(nèi)部,對(duì)于資源受限的傳感器節(jié)點(diǎn)而言,檢測(cè)WSN 中的入侵行為是一個(gè)挑戰(zhàn)。由于基站(Base Station,BS)具有充足的能量和強(qiáng)大的運(yùn)算能力,因此本文在基站上設(shè)置入侵檢測(cè)系統(tǒng),監(jiān)控流量并訓(xùn)練入侵檢測(cè)模型,對(duì)攻擊進(jìn)行檢測(cè),無(wú)需傳感器節(jié)點(diǎn)(Sensor Node,SN)花費(fèi)額外的能量參與入侵檢測(cè)。
圖1 與互聯(lián)網(wǎng)連接的WSN的分布式分層系統(tǒng)Fig.1 Distributed hierarchical system of WSN connected with Internet
針對(duì)這種WSN 的結(jié)構(gòu),傳統(tǒng)的檢測(cè)方法在檢測(cè)數(shù)據(jù)的海量性、高緯度與多樣性上非常受限,無(wú)法有效地平衡檢測(cè)模型在時(shí)間尺度與檢測(cè)準(zhǔn)確率上的一致性,引言中介紹了基于GAN 的方法能有效擺脫這種困境。如圖2 所示,本文提出的BicirGAN 模型分為以下幾個(gè)階段:1)數(shù)據(jù)預(yù)處理階段,WSN 中的簇頭節(jié)點(diǎn)(Cluster Node,CN)每隔一段時(shí)間將收集的傳感數(shù)據(jù)發(fā)送給無(wú)線網(wǎng)絡(luò)中的基站,基站調(diào)整初始流量數(shù)據(jù)的格式并對(duì)調(diào)整后的數(shù)據(jù)進(jìn)行數(shù)值化和歸一化處理;2)訓(xùn)練與檢測(cè)階段,使用預(yù)處理好的訓(xùn)練數(shù)據(jù)集訓(xùn)練入侵檢測(cè)模型,通過(guò)BiCirGAN 從大量流量數(shù)據(jù)中區(qū)分異常數(shù)據(jù),對(duì)可疑數(shù)據(jù)作進(jìn)一步檢測(cè),整個(gè)訓(xùn)練過(guò)程通過(guò)多次調(diào)整方法參數(shù)提高檢測(cè)率;3)評(píng)估階段,通過(guò)檢測(cè)的結(jié)果評(píng)估訓(xùn)練后的入侵檢測(cè)模型,如果檢測(cè)率能滿足實(shí)際應(yīng)用需求,則停止訓(xùn)練,否則重復(fù)階段2)對(duì)BiCirGAN 進(jìn)行訓(xùn)練。
圖2 WSN入侵檢測(cè)模型訓(xùn)練流程Fig.2 Training flow of WSN intrusion detection model
GAN 由生成器Ge和判別器Di組成。Ge將從潛在空間(通常是高斯分布或均勻分布)中采樣的隨機(jī)變量z映射到真實(shí)空間,生成類似真實(shí)數(shù)據(jù)的正常樣本,Di嘗試區(qū)分真實(shí)數(shù)據(jù)樣本x與Ge生成的樣本Ge(z)。二者對(duì)抗博弈完成訓(xùn)練。博弈采用的是最大最小博弈,目標(biāo)函數(shù)為:
其中min maxV(Di,Ge)表示:對(duì)于判別器Di,訓(xùn)練目標(biāo)是使函數(shù)V取到最大值;而對(duì)于生成器Ge,訓(xùn)練目標(biāo)是最小化V的值。E 表示數(shù)學(xué)期望,pX是數(shù)據(jù)x在真實(shí)空間X的分布,pZ為潛在生成器變量z在潛在空間Z的分布。固定的Ge,最優(yōu)判別器為:
當(dāng)且僅當(dāng)pGe(x)=pX(x)時(shí),Ge和Di同時(shí)達(dá)到全局最優(yōu)。
在異常檢測(cè)中,為了提高計(jì)算效率采用對(duì)抗性學(xué)習(xí)異常檢測(cè),提高GAN 的學(xué)習(xí)速度以及方法的整體異常檢測(cè)性能,結(jié)構(gòu)如圖3,ALAD 方法包含一個(gè)生成器Ge、一個(gè)編碼器En和三個(gè)判別器Dixz,Dixx,Dizz。ALAD 方法的目標(biāo)函數(shù)為:
圖3 ALAD方法結(jié)構(gòu)Fig.3 Structure of ALAD method
在ALAD 方法基礎(chǔ)上,引入自適應(yīng)矩估計(jì)梯度下降法不斷降低三個(gè)判別器的損失,組合網(wǎng)絡(luò)流量數(shù)據(jù)間各種有效的特征來(lái)進(jìn)行對(duì)抗學(xué)習(xí),以縮小潛在空間分布與真實(shí)空間分布的差距。BiCirGAN 具體結(jié)構(gòu)信息如下:
1)編碼器En。編碼器En將輸入的x∈X映射到潛在空間得到編碼樣本En(x),解碼器Ge將En(x)映射回真實(shí)空間,從而重構(gòu)特征Ge(En(x))。En是一個(gè)非線性函數(shù)映射的多層感知機(jī)(Multi-Layer Perceptron,MLP),由兩層神經(jīng)網(wǎng)絡(luò)組成,每層都是全連接層,神經(jīng)元個(gè)數(shù)逐層遞減。
其中:WEn表示En的權(quán)重矩陣;bEn表示En的偏移矢量矩陣;σEn表示En的激活函數(shù)。
2)生成器Ge(解碼器)。生成器Ge將隨機(jī)采樣的z∈Z映射到真實(shí)空間生成特征Ge(z),編碼器En將Ge(z)映射回潛在空間得到En(Ge(z))。Ge由全連接的三層神經(jīng)網(wǎng)絡(luò)組成,第一層神經(jīng)元個(gè)數(shù)為潛在特征空間維度,第三層的神經(jīng)元個(gè)數(shù)為真實(shí)空間中原始數(shù)據(jù)的特征維度。
其中:WGe表示Ge的權(quán)重矩陣;bGe表示Ge的偏移矢量矩陣;σGe表示Ge的激活函數(shù)。
3)判別器Dixz為核心判別器,采用帶有Dropout 操作的全連接層來(lái)構(gòu)建網(wǎng)絡(luò)。concat(x,En(x))和concat(Ge(z),z)作為輸入進(jìn)行對(duì)抗學(xué)習(xí),得到帶有判別信息的潛在表示。生成特征與潛在表示的聯(lián)合概率分布分別為:
4)判別器Dixx。聯(lián)合輸入concat(x,Ge(En(x))) 和concat(x,x)到判別器Dixx進(jìn)行對(duì)抗學(xué)習(xí),能有效降低重新構(gòu)建特征信息的損失。本文借鑒Li 等[32]提出的Hπ(x|z)=(其中π(x,z)代表x和z上的聯(lián)合分布),使Dixx近似Ge和En的條件熵,從而促進(jìn)循環(huán)達(dá)到一致性,目標(biāo)函數(shù)為:
5)判別器Dizz。concat(z,z)和concat(z,En(Ge(z)))作為輸入進(jìn)行對(duì)抗學(xué)習(xí),使生成的樣本更具多樣性,從而提高GAN 的學(xué)習(xí)能力以及穩(wěn)定性,目標(biāo)函數(shù)為:
對(duì)于網(wǎng)絡(luò)入侵檢測(cè)中的離散特征數(shù)據(jù),JS 散度(Jensen-Shannon divergence)有其局限性。對(duì)于用0-1 表示的邏輯特征與用One-Hot 編碼或Dummy 編碼的非數(shù)值特征,維度擴(kuò)展可能非常嚴(yán)重,造成真實(shí)樣本和生成樣本之間幾乎沒(méi)有重疊。當(dāng)兩個(gè)分布幾乎沒(méi)有重疊時(shí),JS 散度將不可避免地收斂到一個(gè)常數(shù),導(dǎo)致梯度消失的發(fā)生。
針對(duì)上述問(wèn)題,WGAN(Wasserstein Generative Adversarial Network)方法利用Wasserstein 距離代替了JS 散度來(lái)衡量?jī)蓚€(gè)分布的差異,該方法在離散分布上也表現(xiàn)良好,有助于改善區(qū)分過(guò)程,也有助于改善生成過(guò)程,從而生成更穩(wěn)定、更優(yōu)質(zhì)的結(jié)果。即使兩個(gè)沒(méi)有重疊的分布,Wasserstein 距離仍然能夠反映其遠(yuǎn)近。該模型的目標(biāo)函數(shù)為:
其中f表示滿足1-Lipschitz 約束的任意函數(shù),也稱Critic,1-Lipschitz 約束定義為:
這一約束的作用在于對(duì)相鄰的兩點(diǎn)x1和x2,函數(shù)值f對(duì)數(shù)據(jù)不會(huì)過(guò)度敏感。
WGAN 使訓(xùn)練過(guò)程更加穩(wěn)定,避免了模式坍塌的發(fā)生。WGAN 的目標(biāo)函數(shù)中的函數(shù)f可以通過(guò)神經(jīng)網(wǎng)絡(luò)模型來(lái)估計(jì),要使每一層的神經(jīng)網(wǎng)絡(luò)都滿足1-Lipschitz 約束,通過(guò)證明與推導(dǎo)只需要約束參數(shù)w:
WGAN 模型提出了參數(shù)裁剪(weight clipping)來(lái)約束參數(shù)的范圍,使f的w保持在[-c,c]范圍,但用這種方法訓(xùn)練出來(lái)的模型過(guò)于簡(jiǎn)單,生成能力較差,還很容易造成梯度消失或梯度爆炸。
本文采取譜歸一化來(lái)約束參數(shù)范圍。譜歸一化約束是通過(guò)約束Critic的每一層網(wǎng)絡(luò)的權(quán)重矩陣的譜范數(shù)來(lái)約束Critic的1-Lipschitz,這樣增強(qiáng)了GAN 在訓(xùn)練過(guò)程中的穩(wěn)定性。譜范數(shù)(Spectral Normalization)的定義為:
其中‖W‖s為權(quán)重矩陣W的最大特征值(maximum singular value)。對(duì)式(14)進(jìn)行調(diào)整得到:
結(jié)合式(11),譜范數(shù)能更準(zhǔn)確地反映1-Lipschitz 約束,使權(quán)重矩陣W與譜范數(shù)‖W‖s的比值等于1,得到譜歸一化:
結(jié)合WGAN 的目標(biāo)函數(shù),將ALAD 模型的目標(biāo)函數(shù)修改為:
通過(guò)式(18)~(21)生成的潛在空間特征的Wasserstein 距離,可以使生成的潛在空間特征更接近真實(shí)空間特征,從而生成更高質(zhì)量的網(wǎng)絡(luò)流量數(shù)據(jù)。此外添加譜歸一化穩(wěn)定GAN 的訓(xùn)練,能使模型更快地收斂。
測(cè)試樣本和正常樣本的學(xué)習(xí)分布之間的差異越大,測(cè)試樣本越可能異常,因此可以通過(guò)差異來(lái)評(píng)估樣本,而不需要直接評(píng)估生成器生成的結(jié)果。結(jié)合Li 等[22]與Zenati 等[27]提出的計(jì)算異常分?jǐn)?shù)方法,本文提出的異常率為:
其中:A表示異常率,A值越大樣本異常的概率越高;n代表樣本個(gè)數(shù),λi為一個(gè)常數(shù);LRi為重建損失,用來(lái)衡量測(cè)試樣本和生成樣本之間的差異;xi是輸入樣本,Ge(En(xi)是通過(guò)生成器重建的樣本;LDi是從真實(shí)的數(shù)據(jù)分布中得到的判別損失。在判別損失中,fxxj(·,·)表示給定輸入樣本對(duì)的判別器Dixx網(wǎng)絡(luò)中的特征層,k代表中間層層數(shù),中間層產(chǎn)生的損失也稱為特征匹配損失[26],如圖4 所示。
圖4 訓(xùn)練損失Fig.4 Training loss
異常的評(píng)估取決于生成樣本與原始樣本分布的距離,即生成器從潛在空間學(xué)習(xí)特征分布的能力,本文綜合考慮了判別與重構(gòu)損失,增強(qiáng)了模型識(shí)別正常樣本與異常樣本的能力,提高了異常檢測(cè)精度。
關(guān)于異常率,一種方法是在檢測(cè)中確定一個(gè)閾值來(lái)判斷樣本是否異常入侵。這種方法適用于在線檢測(cè),因?yàn)椴恍枰私庹颖竞彤惓颖镜谋壤?,只需要從?jīng)驗(yàn)中獲得的閾值。第二種方法將高于污染率c(異常/(正常+異常))的相關(guān)樣本標(biāo)記為異常入侵,通常應(yīng)用于數(shù)據(jù)集上的測(cè)試。由于本文的實(shí)驗(yàn)是在數(shù)據(jù)集的基礎(chǔ)上進(jìn)行仿真測(cè)試的,因此采用第二種方法來(lái)評(píng)估模型的異常檢測(cè)率。
本章從對(duì)比實(shí)驗(yàn)、消融實(shí)驗(yàn)和可視化實(shí)驗(yàn)來(lái)分析BiCirGAN 的檢測(cè)性能。此外,通過(guò)計(jì)算方法的執(zhí)行時(shí)間來(lái)評(píng)估方法的實(shí)時(shí)檢測(cè)效率。
實(shí)驗(yàn)環(huán)境基于Windows 操作系統(tǒng),使用Python 語(yǔ)言,在Pytorch 框架上搭建方法,主要硬件環(huán)境為CPU Intel Core i7-4710HQ,內(nèi)存8 GB,GPU NVIDIA GeForce GTX 860M。
實(shí)際上,目前的WSN 仍處于建設(shè)的初級(jí)階段,難以進(jìn)行大規(guī)模的物理測(cè)試。為了充分評(píng)估和驗(yàn)證所提出的方法,實(shí)驗(yàn)使用公開(kāi)權(quán)威數(shù)據(jù)集:KDD99 數(shù)據(jù)集[27]、UNSW-NB15 數(shù)據(jù)集[33]、WSN_DS 數(shù)據(jù)集[34]。
首先對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理。KDD99 數(shù)據(jù)集中每條記錄包含41 個(gè)固定的特征屬性和1 個(gè)類標(biāo)識(shí),在41 個(gè)固定的特征屬性中,9 個(gè)特征屬性為離散型,對(duì)其進(jìn)行One-hot 編碼后,總共獲得121 個(gè)特征。UNSW-NB15 數(shù)據(jù)集每條記錄包含49個(gè)特征,對(duì)其中3 個(gè)離散特征使用One-Hot 進(jìn)行編碼,總共得到196 個(gè)特征。WSN_DS 數(shù)據(jù)集為無(wú)線傳感器網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)專用數(shù)據(jù)集,該數(shù)據(jù)集的數(shù)據(jù)特征是基于WSN 中的LEACH(Low Energy Adaptive Clustering Hierarchy)路由協(xié)議,選擇其中的18 個(gè)無(wú)標(biāo)簽特征屬性作為實(shí)例特征。對(duì)數(shù)據(jù)集選取的樣本的統(tǒng)計(jì)詳見(jiàn)表1。
表1 數(shù)據(jù)集描述Tab.1 Data set description
流量數(shù)據(jù)歸一化可以消除不同維度數(shù)據(jù)之間的差異,保證訓(xùn)練結(jié)果的可靠性。本文采用最小-最大值歸一化方法處理數(shù)據(jù):
其中Qi,j代表數(shù)據(jù)集的第i行和第j列中的特征值。
采用經(jīng)典網(wǎng)絡(luò)異常檢測(cè)系統(tǒng)研究相同的評(píng)估方法。為測(cè)量基于GAN 的WSN 入侵檢測(cè)模型的性能,使用精確度Prec(Precision)、假陽(yáng)性率(False Positive Rate,F(xiàn)PR)、召回率Rec(Recall)和F1 分?jǐn)?shù)F1(F1 score),計(jì)算如式(24)~(27)所示。異常檢測(cè)的分類混淆矩陣,如表2 所示。
表2 異常檢測(cè)分類混淆矩陣Tab.2 Anomaly detection classification confusion matrix
不同數(shù)據(jù)集下相關(guān)參數(shù)設(shè)置如表3 所示。其中:learning_rate表示學(xué)習(xí)率;batch_size代表每一批次的大?。籰atent_dim為潛在空間的維度;nb_epochs表示迭代的次數(shù)。
表3 數(shù)據(jù)集參數(shù)Tab.3 Parameters of datasets
模型的網(wǎng)絡(luò)參數(shù)依據(jù)數(shù)據(jù)集維度進(jìn)行設(shè)置,如表4 所示,其中:units表示神經(jīng)元個(gè)數(shù);σ表示激活函數(shù);Dropout表示丟失率,連接方式為全連接。
表4 不同數(shù)據(jù)集下網(wǎng)絡(luò)參數(shù)設(shè)置Tab.4 Network parameter settings under different datasets
3.4.1 對(duì)比實(shí)驗(yàn)
BiCirGAN 方法與以下4 種方法進(jìn)行對(duì)比:1)AnoGAN[25]是基于生成對(duì)抗網(wǎng)絡(luò)異常檢測(cè)最常見(jiàn)的方法;2)BiGAN[26]首次在生成對(duì)抗網(wǎng)絡(luò)上引入了編碼器;3)MAD-GAN(Multivariate Anomaly Detection with GAN)[22]是基于GAN 的多變量時(shí)間序列異常檢測(cè)方法,以LSTM 為基本方法來(lái)捕獲時(shí)間上的依賴關(guān)系,并將其嵌入到GAN 的框架中;4)ALAD[27]是一個(gè)基于雙向GAN 的異常檢測(cè)方法。
5 個(gè)方法在3 個(gè)數(shù)據(jù)集的對(duì)比實(shí)驗(yàn)結(jié)果如表5 所示,BiCirGAN 的效果最好,檢測(cè)精確度提高了3.9%~33.0%。說(shuō)明在充分考慮潛在空間分布合理性的前提下,BiCirGAN 能夠有效地發(fā)揮深度生成學(xué)習(xí)方法的優(yōu)勢(shì),在高維、樣本多樣、數(shù)據(jù)量多的UNSW-NB15 數(shù)據(jù)集和不平衡數(shù)據(jù)較多的WSN_DS 數(shù)據(jù)集上有效提升精確度、召回率、F1 分?jǐn)?shù),假陽(yáng)性率(誤報(bào)率)也有所下降。
表5 基于GAN模型的異常檢測(cè)模型在3個(gè)數(shù)據(jù)集上的評(píng)估結(jié)果Tab.5 Evaluation results of anomaly detection models based on GAN model on three datasets
3.4.2 消融實(shí)驗(yàn)
為驗(yàn)證模型各部分的有效性,在KDD99、UNSW-NB15、WSN_DS 數(shù)據(jù)集上進(jìn)行了BiCirGAN 的消融實(shí)驗(yàn),不同模型的組合如下:1)ALAD+JS 模型:應(yīng)用改進(jìn)后的ALAD 網(wǎng)絡(luò)結(jié)構(gòu),目標(biāo)函數(shù)使用原始的JS 散度衡量異常與正常兩個(gè)分布之間的差距。2)ALAD+WD 模型:應(yīng)用改進(jìn)后的ALAD 網(wǎng)絡(luò)結(jié)構(gòu),目標(biāo)函數(shù)采用Wasserstein 距離衡量異常與正常兩個(gè)分布之間的差距,通過(guò)WGAN 原始的參數(shù)裁剪來(lái)約束參數(shù)。3)BiCirGAN 模型:在模型2)的基礎(chǔ)上,添加譜歸一化對(duì)WGAN 進(jìn)行參數(shù)約束。結(jié)果如表6 所示。
從表6 中可見(jiàn),將JS 散度替換成用Wasserstein 距離衡量異常和正常兩個(gè)分布之間的距離,性能反而降低,是因?yàn)閃GAN 的參數(shù)裁剪導(dǎo)致訓(xùn)練的不穩(wěn)定,沒(méi)能充分學(xué)習(xí)數(shù)據(jù)的分布。在UNSW-NB15 數(shù)據(jù)集上,BiCirGAN 方法相較于ALAD+JS 方法,Pre、Rec、F1 指標(biāo)分別提高了6.74%、5.71%、7.58%;在WSN_DS 數(shù)據(jù)集上Pre、Rec、F1 分別提高了4.16%、1.85%、3.04%,在KDD99 數(shù)據(jù)集Pre、Rec、F1 分別提高了3.70%、1.00%、2.34%。從評(píng)價(jià)指標(biāo)上來(lái)看,在維度更高、數(shù)據(jù)類型更多的UNSW-NB15 數(shù)據(jù)集上,效果更好,在不平衡的WSN_DS 數(shù)據(jù)集上效果次之。實(shí)驗(yàn)結(jié)果表明BiCirGAN 方法不僅能學(xué)到更好的特征分布,在處理高維、樣本類型多樣以及不平衡數(shù)據(jù)上效果會(huì)更佳。
表6 消融實(shí)驗(yàn)評(píng)估結(jié)果Tab.6 Evaluation results of ablation experiment
3.4.3 訓(xùn)練效率實(shí)驗(yàn)
繪制出在KDD99 數(shù)據(jù)集上訓(xùn)練迭代100 次的判別器損失圖,如圖5 所示,可以看出當(dāng)生成器最小化時(shí),BiCirGAN 方法相較于ALAD 收斂得更快,在50 代左右損失值已經(jīng)達(dá)到比較低的水平。
圖5 判別器模型損失值變化Fig.5 Discriminator model loss value change
即使一個(gè)方法在檢測(cè)中可以達(dá)到非常好的效果,檢測(cè)延遲依舊是一個(gè)重要的考慮因素,如果檢測(cè)過(guò)程花費(fèi)了過(guò)多的時(shí)間,攻擊方仍然有足夠的時(shí)間來(lái)?yè)p壞系統(tǒng)。由于BiCirGAN 是在ALAD 方法網(wǎng)絡(luò)結(jié)構(gòu)上進(jìn)行優(yōu)化的,因此選擇其作為基準(zhǔn)對(duì)推斷時(shí)間進(jìn)行比較。在不同數(shù)據(jù)集上兩個(gè)方法的平均推斷時(shí)間比較如表7 所示,實(shí)驗(yàn)結(jié)果表明,與ALAD方法相比,BiCirGAN 對(duì)數(shù)據(jù)的平均推斷時(shí)間更短,在UNSWNB15、WSN_DS 數(shù)據(jù)集上分別為ALAD 的1/4.57 和1/4.67,因此新方法在高維離散不平衡的網(wǎng)絡(luò)數(shù)據(jù)的異常檢測(cè)上較ALAD 方法的效率更高。
表7 平均推斷時(shí)間Tab.7 Average inference time
3.4.4 可視化實(shí)驗(yàn)
為了探索BiCirGAN 對(duì)異常數(shù)據(jù)的檢測(cè)能力,實(shí)驗(yàn)對(duì)BiCirGAN 與ALAD 方法在UNSW-NB15 測(cè)試數(shù)據(jù)集上分別進(jìn)行了異常率的計(jì)算,如圖6 所示。
圖6 測(cè)試樣本異常率分布Fig.6 Test sample anomaly rate distribution
在BiCirGAN 的異常率分布結(jié)果中,正常與異常分布邊界(c)清晰明顯,重合分布較少,正常樣本和異常樣本在異常率下進(jìn)行了有效的聚集。對(duì)比ALAD 方法的異常率分布與本文方法在可視化上有著明顯的差距,重合分布較多,如圖6(a)。這說(shuō)明BiCirGAN 較ALAD 方法在網(wǎng)絡(luò)異常數(shù)據(jù)上能學(xué)習(xí)到更高質(zhì)量的特征分布,從而給出更加準(zhǔn)確的異常率的值。
上述實(shí)驗(yàn)表明,BiCirGAN 在各項(xiàng)評(píng)價(jià)指標(biāo)中均有提升,且針對(duì)網(wǎng)絡(luò)高維數(shù)據(jù)異常檢測(cè)的改進(jìn)有效、訓(xùn)練更加穩(wěn)定、收斂更快、檢測(cè)效率更高且能更好地完成正常樣本與異常樣本的分離,在高維、離散、不平衡的WSN 網(wǎng)絡(luò)流量數(shù)據(jù)的異常檢測(cè)上表現(xiàn)出更加優(yōu)異的檢測(cè)性能。
本文提出了一種雙向循環(huán)生成對(duì)抗網(wǎng)絡(luò)的入侵檢測(cè)方法BiCirGAN,能對(duì)復(fù)雜網(wǎng)絡(luò)環(huán)境下的WSN 中的異常數(shù)據(jù)進(jìn)行有效的檢測(cè)。該方法考慮到潛在空間表示分布的約束條件,引入了改進(jìn)的ALAD 方法,通過(guò)雙向內(nèi)循環(huán)訓(xùn)練機(jī)制將高維性、多樣性以及不平衡性的數(shù)據(jù)集通過(guò)潛在空間合理地表示出來(lái),進(jìn)而提高了異常檢測(cè)的有效性;考慮了離散數(shù)據(jù)特征的重疊分布,結(jié)合Wassertein 距離和譜歸一化改進(jìn)目標(biāo)函數(shù),解決了GAN 訓(xùn)練的模式崩壞與不穩(wěn)定等問(wèn)題。實(shí)驗(yàn)結(jié)果表明該方法各項(xiàng)檢測(cè)性能均高于對(duì)比方法,在訓(xùn)練中更加穩(wěn)定,并且大大減少了測(cè)試過(guò)程中的時(shí)間成本,降低了計(jì)算資源的消耗。
但在數(shù)據(jù)少量的情況下,本方法效果較為一般。在下一步的工作中,本研究將對(duì)WSN 特定類型的攻擊進(jìn)行分類,此外盡管已經(jīng)驗(yàn)證了該方法在KDD99、UNSW-NB15、WSN_DS數(shù)據(jù)集下的實(shí)驗(yàn)結(jié)果,但仍有必要進(jìn)一步改進(jìn)方法以應(yīng)對(duì)訓(xùn)練數(shù)據(jù)集不足以及更復(fù)雜的無(wú)線傳感網(wǎng)絡(luò)傳輸環(huán)境。