李 洋
(西華師范大學(xué) 計(jì)算機(jī)學(xué)院,四川 南充 637002)
伴隨著計(jì)算機(jī)網(wǎng)絡(luò)、移動(dòng)通信網(wǎng)絡(luò)和其他雜合的信息網(wǎng)絡(luò)的發(fā)展,使得網(wǎng)絡(luò)安全由傳統(tǒng)的局域網(wǎng)的網(wǎng)絡(luò)安全轉(zhuǎn)換成大數(shù)據(jù)背景下的網(wǎng)絡(luò)安全.大數(shù)據(jù)背景下的網(wǎng)絡(luò)安全指的是在超出了可控制規(guī)模,網(wǎng)絡(luò)管理員或網(wǎng)絡(luò)入侵防御軟件不易在用戶可容忍的時(shí)間內(nèi)收集、存儲(chǔ)、維護(hù)、管理、分析、阻斷的網(wǎng)絡(luò)攻擊[1].目前大數(shù)據(jù)具有具有海量(Volume)、高速(Velocity)、多變(Variey)3個(gè)較為突出的特點(diǎn)[2],而面向大數(shù)據(jù)的網(wǎng)絡(luò)入侵呈現(xiàn)出短時(shí)間的突發(fā)性、爆發(fā)等非線性的狀態(tài),同時(shí)網(wǎng)絡(luò)入侵和網(wǎng)絡(luò)攻擊手段具有多樣化、變種快和自學(xué)習(xí)性等特點(diǎn).入侵檢測(cè)系統(tǒng)是網(wǎng)絡(luò)安全的第二到閘門,與防火墻聯(lián)動(dòng)應(yīng)對(duì)網(wǎng)絡(luò)攻擊,是網(wǎng)絡(luò)安全防護(hù)的技術(shù)之一[3].
網(wǎng)絡(luò)入侵檢測(cè)主要包含誤用入侵檢測(cè)與異常入侵檢測(cè),兩者的區(qū)別在于前者的檢測(cè)效率較高,缺點(diǎn)是不能發(fā)現(xiàn)變種的入侵行為,而后者可以彌補(bǔ)前者的缺陷,所以目前在大數(shù)據(jù)環(huán)境下主要是對(duì)異常入侵檢測(cè)進(jìn)行研究[4].傳統(tǒng)地通過網(wǎng)絡(luò)安全專家處理在大數(shù)據(jù)網(wǎng)絡(luò)安全問題下,對(duì)入侵檢測(cè)判斷在時(shí)效性、高誤報(bào)率和受專家自身的經(jīng)驗(yàn)上具有較大的相關(guān)性.相反人工神經(jīng)網(wǎng)絡(luò)在非線性模擬能力、學(xué)習(xí)能力和自適應(yīng)能力上表現(xiàn)良好,近年來(lái),神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)入侵檢測(cè)取得了廣泛的應(yīng)用,但在實(shí)際的入侵檢測(cè)仍存在一些不足.例如文獻(xiàn)[5]采用OC-SVM檢測(cè)入侵源節(jié)點(diǎn)和時(shí)間段節(jié)點(diǎn),建立集群制的入侵檢測(cè)模型,雖然獲得了檢測(cè)精度的提升,但時(shí)間效率降低了.又例如文獻(xiàn)[6]利用SVM替代GRU分類函數(shù)Softmax,提高了檢測(cè)效率,但入侵檢測(cè)的準(zhǔn)確率較低.
針對(duì)上述存在的問題,提出了一種面向大數(shù)據(jù)的BiGAN網(wǎng)絡(luò)入侵檢測(cè)的方法.通過雙向GAN(BiGAN)的協(xié)同機(jī)制,有效地提高了檢測(cè)效率,降低了時(shí)間復(fù)雜度.最后使用KDD CUP99數(shù)據(jù)集對(duì)該模型進(jìn)行測(cè)試.
GAN起源于博弈論中的納什均衡[7],最初的生成對(duì)抗網(wǎng)由兩個(gè)神經(jīng)網(wǎng)絡(luò):生成器模型(generator model,簡(jiǎn)稱G)和鑒別模型(discriminative model,簡(jiǎn)稱D).生成器模型的輸入通常是二維高斯分布或者均勻分布的隨機(jī)向量z,以此輸出向量z的分布域G(z),而鑒別模型則是區(qū)分真實(shí)數(shù)據(jù)樣本xi在生成器模型生成的分布域G(z)相似的概率.其中的博弈體現(xiàn)在G通過最大化的學(xué)習(xí)真實(shí)數(shù)據(jù)樣本的分布以提高欺騙D,D則通過最大努力的訓(xùn)練提升鑒別能力以避免G的欺騙.GAN的學(xué)習(xí)過程是G和D兩者之間的一種博弈過程[8],過程可以描述為min-max公式即式(1).
(1)
其中V(G,D)為價(jià)值函數(shù),Px為真實(shí)數(shù)據(jù)樣本x的數(shù)據(jù)分布域,Pz為生成數(shù)據(jù)樣本z的數(shù)據(jù)分布域.GAN整個(gè)學(xué)習(xí)過程包含了前向傳播階段和反向傳播階段兩個(gè)階段,前向傳播階段包含了模型的輸入和模型的輸出,反向傳播階段包含了優(yōu)化目標(biāo)、鑒別器損失函數(shù)和生成器損失函數(shù).
圖1 BiGAN網(wǎng)絡(luò)架構(gòu)
鑒于GAN存在一些缺陷,如JS divergence距離偏差問題,導(dǎo)致最終的GANs學(xué)習(xí)到的數(shù)據(jù)樣本分布域與真實(shí)的數(shù)據(jù)樣本分布相差較大;另外GAN訓(xùn)練速度較慢尤其是D的訓(xùn)練速度影響較大(在樣本數(shù)據(jù)樣本較大的前提下).由此提出了BiGAN(Bidirectional GAN),BiGAN架構(gòu)在GAN架構(gòu)的基礎(chǔ)上增加了編碼器E(Encoder,Decoder),將數(shù)據(jù)樣本輸入encoder中產(chǎn)生對(duì)應(yīng)的編碼域,其次定義一個(gè)與encoder無(wú)交集的decoder,通過輸入編碼域,輸出對(duì)應(yīng)的數(shù)據(jù)樣本,最后通過鑒別模型D進(jìn)行鑒別.對(duì)應(yīng)的雙向生成對(duì)抗網(wǎng)絡(luò)架構(gòu)如圖1所示.
BiGAN對(duì)GAN訓(xùn)練進(jìn)行了優(yōu)化,即將價(jià)值函數(shù)定義為式(2).
V(Dxz,Dxx,Dzz,E,G)=V(Dxz,E,G)+V(Dxx,E,G)+V(Dzz,E,G) .
(2)
其中Dxz,Dxx,Dzz為對(duì)應(yīng)的鑒別器,另一方面為了BiGAN的穩(wěn)定性,這里將利用分類評(píng)分函數(shù)A(x)[9],即式(3).
(3)
其中fxx(x,x)表示Dxx的激活函數(shù),如果樣本的分類評(píng)價(jià)函數(shù)A(x)過大,則可能為異常,反之則為正常.綜合上述描述BiGAN網(wǎng)絡(luò)模型算法如下
BiGAN Anomaly Detection
Inputx,~PXtest(x),E,G,fxxwherefxxis the feature layer ofDxx
OutputA(x),whereAis the anomayly score
1 procedureINFERENCE
5 return ‖fδ-fα‖
6 end procedure
網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)在進(jìn)行網(wǎng)絡(luò)入侵檢測(cè)的同時(shí),本身也成為了網(wǎng)絡(luò)攻擊的對(duì)象,如何有效地避免入侵檢測(cè)系統(tǒng)發(fā)生突發(fā)性故障事件,如網(wǎng)絡(luò)攻擊、木馬病毒入侵、軟硬件系統(tǒng)宕機(jī)等,潛伏網(wǎng)絡(luò)可以較好地解決突發(fā)性故障事件,潛伏網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖2所示[10].
圖2 潛伏網(wǎng)絡(luò)模型
面向大數(shù)據(jù)的BiGAN網(wǎng)絡(luò)入侵檢測(cè)模型通過在潛伏網(wǎng)絡(luò)模型內(nèi)嵌BiGAN網(wǎng)絡(luò),即通過在潛伏網(wǎng)絡(luò)模型中的重要分析組件內(nèi)嵌BiGAN網(wǎng)絡(luò),從而實(shí)現(xiàn)了對(duì)大數(shù)據(jù)類型的網(wǎng)絡(luò)入侵的應(yīng)急、轉(zhuǎn)移攻擊、減緩攻擊和網(wǎng)絡(luò)犯罪取證等功能.一方面通過分布式系統(tǒng)架構(gòu)的部署從邏輯降低了對(duì)于網(wǎng)絡(luò)入侵檢測(cè)的時(shí)間開銷和空間開銷;另一方面潛伏網(wǎng)絡(luò)是基于Docker容器建立的,使得面向大數(shù)據(jù)的BiGAN網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)能夠在多平臺(tái)上進(jìn)行搭建,具有跨平臺(tái)性.
實(shí)驗(yàn)采用美國(guó)麻省理工學(xué)院林肯實(shí)驗(yàn)室公布的KDD_Cup99數(shù)據(jù)集[11],廣泛應(yīng)用于模擬入侵檢測(cè).其中包含500多萬(wàn)條數(shù)據(jù),每條數(shù)據(jù)有41個(gè)特征屬性,其中有34個(gè)為連續(xù),7分類特征(離散),其中7個(gè)分類特征如表1所示.
表1 分類特征
3.2.1 數(shù)據(jù)集選取
由于KDD_Cup99數(shù)據(jù)集較大,存在大量的重復(fù)數(shù)據(jù)且有噪聲數(shù)據(jù)較多,這里選用kddcup.data_10_percent_corrected數(shù)據(jù)集,避免了重復(fù)的計(jì)算帶來(lái)的額外開銷影響和預(yù)測(cè)精度的降低.
3.2.2 數(shù)據(jù)標(biāo)準(zhǔn)化
為了減輕不同的量綱對(duì)比較運(yùn)算帶來(lái)的誤差,這里采用one-hot(獨(dú)熱)編碼后,進(jìn)一步用min-max標(biāo)準(zhǔn)化(離差標(biāo)準(zhǔn)化).
本文中實(shí)驗(yàn)環(huán)境由實(shí)驗(yàn)平臺(tái)和實(shí)驗(yàn)環(huán)境配置構(gòu)成,實(shí)驗(yàn)平臺(tái)和實(shí)驗(yàn)環(huán)境配置的具體信息如表2所示.
實(shí)驗(yàn)采用了GAN入侵檢測(cè)與面向大數(shù)據(jù)的BiGAN入侵檢測(cè)的超參數(shù)通過了人工賦值見表3.
表2實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)平臺(tái)描述操作系統(tǒng)Ubuntu 16.04 64位內(nèi)存4GBCPUIntel Corei5 2.6GHz編譯語(yǔ)言Python 3.5.3深度學(xué)習(xí)框架Tensorflow 1.6.0
表3兩種神經(jīng)網(wǎng)絡(luò)中的超參數(shù)
超參數(shù)GAN面向大數(shù)據(jù)的BiGANBatch Size5050Latent Dim3232Learning Rate1e-51e-5
為了進(jìn)行評(píng)估,將本文的方法與同OC-SVM,IF和GAN分別運(yùn)行10,并在精確率(Preccison)、召回率(Recall)和F1分?jǐn)?shù)(F1-Score)進(jìn)行比較,結(jié)果如表4所示.
表4 實(shí)驗(yàn)結(jié)果
由上述實(shí)驗(yàn)可以看出上述的模型對(duì)實(shí)驗(yàn)數(shù)據(jù)集檢測(cè)的準(zhǔn)確率都達(dá)不到100%,但提出的面向大數(shù)據(jù)的BiGAN網(wǎng)絡(luò)入侵檢測(cè)模型,一方面比OC-SVM,IF,GAN等模型在準(zhǔn)確率、召回率、F1-Score取得了較好的效果;另一方面能夠快速部署和實(shí)施;使得能夠更好地解決在大數(shù)據(jù)網(wǎng)絡(luò)背景下短時(shí)間的突發(fā)性、爆發(fā)的網(wǎng)絡(luò)安全問題.
本文提出的面向大數(shù)據(jù)的BiGAN網(wǎng)絡(luò)入侵檢測(cè)模型的低誤報(bào)率、高準(zhǔn)確率、高效率,是一種較為可行且有效的網(wǎng)絡(luò)入侵檢測(cè)方法,同時(shí)為網(wǎng)絡(luò)取證和攻擊溯源提供了方便.然而實(shí)驗(yàn)數(shù)據(jù)KDD_Cup99與真實(shí)數(shù)據(jù)還存在一些差距,模型的部署還較為依賴目前主流的TCP/IP協(xié)議.有待在后續(xù)加強(qiáng)對(duì)非TCP/IP協(xié)議的支持和兼容IPV6協(xié)議,將該模型運(yùn)用于實(shí)際的網(wǎng)絡(luò)中,并利用網(wǎng)絡(luò)中的反饋來(lái)改進(jìn)該模型.