李沛洋,李 璇,陳俊杰,陳永樂
太原理工大學(xué) 信息與計算機學(xué)院,太原030024
近年來,隨著移動通信技術(shù)的不斷發(fā)展,越來越多的物聯(lián)網(wǎng)設(shè)備出現(xiàn)在人們的日常生活中,例如路由器、網(wǎng)絡(luò)攝像頭、可穿戴智能設(shè)備、智能家居設(shè)備和工業(yè)控制設(shè)備等。但是由于物聯(lián)網(wǎng)設(shè)備能夠直接連接物理世界,且防護(hù)薄弱,數(shù)量龐大,現(xiàn)已成為僵尸網(wǎng)絡(luò)攻擊的主要目標(biāo)之一[1]。僵尸網(wǎng)絡(luò)由眾多被惡意程序感染的計算機組成,攻擊者可通過僵尸網(wǎng)絡(luò)遠(yuǎn)程控制僵尸主機,從而發(fā)動大規(guī)模的網(wǎng)絡(luò)攻擊任務(wù),例如發(fā)送惡意垃圾郵件、信息竊取、實施點擊欺詐等惡意網(wǎng)絡(luò)行為[2]。因此,眾多僵尸網(wǎng)絡(luò)檢測技術(shù)被提出,特別是近年來出現(xiàn)的許多基于機器學(xué)習(xí)的僵尸網(wǎng)絡(luò)流量檢測算法,這些算法從網(wǎng)絡(luò)流量中提取流量的基本統(tǒng)計特征,并設(shè)計、訓(xùn)練和優(yōu)化神經(jīng)網(wǎng)絡(luò),使其能夠有效地將良性流量和不同類型的攻擊流量進(jìn)行區(qū)分。例如,Hwang等人提出了一種由卷積神經(jīng)網(wǎng)絡(luò)和無監(jiān)督深度學(xué)習(xí)模型組成的異常流量檢測機制,用于自動分析流量模式和過濾異常流量[3]。Gao 等人設(shè)計了一種基于深度神經(jīng)網(wǎng)絡(luò)和關(guān)聯(lián)分析的兩級異常檢測系統(tǒng),該系統(tǒng)在公共數(shù)據(jù)集NSL-KDD 上表現(xiàn)出較高檢測精度和低誤報率[4]。Luo等人利用卷積神經(jīng)網(wǎng)絡(luò)和長短期記憶網(wǎng)絡(luò)分別學(xué)習(xí)網(wǎng)絡(luò)流量的空間特征和時序特征,將特征學(xué)習(xí)的整個過程完全由深度神經(jīng)網(wǎng)絡(luò)自動完成,最終實現(xiàn)了對大規(guī)模僵尸網(wǎng)絡(luò)的檢測[5]。Sriram等人利用設(shè)計的僵尸網(wǎng)絡(luò)檢測框架收集網(wǎng)絡(luò)流量,將其轉(zhuǎn)換為連接記錄,并使用深度學(xué)習(xí)模型檢測來自受損物聯(lián)網(wǎng)設(shè)備的攻擊[6]。
然而目前大多數(shù)研究者僅僅致力于不斷優(yōu)化這些檢測算法,旨在提高對僵尸網(wǎng)絡(luò)的檢測效率和準(zhǔn)確率,卻忽略了機器學(xué)習(xí)算法的魯棒性。通常情況下,攻擊者可以利用僵尸網(wǎng)絡(luò)發(fā)動有效攻擊并獲取收益,他們有足夠的動機來深入研究這些僵尸網(wǎng)絡(luò)檢測算法,從而發(fā)現(xiàn)漏洞并利用。本文的主要研究內(nèi)容是從網(wǎng)絡(luò)攻擊的角度出發(fā),旨在提出一種更強的攻擊算法以促進(jìn)防御方法的提升。
現(xiàn)有研究發(fā)現(xiàn),機器學(xué)習(xí)很容易受到微小輸入擾動的干擾,這些干擾無法被察覺,但卻很容易造成檢測器分類錯誤[7-9]。Szegedy等人首次發(fā)現(xiàn)在圖像上添加了不易察覺的擾動,并最大化被訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)的分類誤差后,可以使神經(jīng)網(wǎng)絡(luò)無法正確對圖像進(jìn)行分類[10]。添加擾動后的樣本被稱為對抗樣本。目前,對抗樣本的生成方法主要分為兩類:一類是基于梯度算法生成對抗樣本。Xiao 等人引入一種基于自適應(yīng)梯度的對抗攻擊方法,該方法依據(jù)輸入的先驗梯度,并自適應(yīng)地調(diào)整擾動的累積量,從而執(zhí)行高級別的對抗攻擊[11]。Zhang 等人提出了基于批量梯度的快速梯度符號法(Mb-MI-FGSM),該方法使用了神經(jīng)網(wǎng)絡(luò)損失函數(shù)對批量輸入中的每一個樣本的偏導(dǎo)數(shù)的均值來指導(dǎo)對抗樣本的生成[12]。這類基于梯度算法的對抗樣本生成方法只有在攻擊者提前已知檢測模型的結(jié)構(gòu)和參數(shù),即白盒攻擊時才能獲得較好的攻擊性能,在黑盒攻擊方面性能表現(xiàn)很差。然而在實際應(yīng)用過程中,黑盒攻擊的實際意義遠(yuǎn)大于白盒攻擊,因為攻擊者大部分情況下無法明確各類異常檢測器具體的學(xué)習(xí)模型。另一類是利用生成對抗網(wǎng)絡(luò)(generative adversarial networks,GAN)來生成對抗樣本。Guo等人提出訓(xùn)練一個產(chǎn)生擾動的深度卷積網(wǎng)絡(luò)作為生成模型來生成不同的對抗樣本,一個殘差網(wǎng)絡(luò)作為判別模型來確保生成的樣本看起來是真實的,主要用于在黑盒攻擊中生成對抗樣本[13]。Sun等人利用類別概率向量重排序函數(shù)和生成對抗網(wǎng)絡(luò),在待攻擊神經(jīng)網(wǎng)絡(luò)內(nèi)部結(jié)構(gòu)未知的前提下生成對抗樣本[14]。Zhang等人同樣在生成對抗網(wǎng)絡(luò)框架下提出了一種基于蒙特卡洛搜索的跨站點腳本攻擊的對抗攻擊樣本生成算法,利用該算法生成的對抗樣本漏檢率明顯提高[15]。Pan 等人利用GAN 生成惡意網(wǎng)絡(luò)流,但是其僅僅適用于緩沖區(qū)溢出漏洞攻擊網(wǎng)絡(luò)流的生成問題,方法擴展性不足[16]。由此可知,利用生成對抗網(wǎng)絡(luò)可以在未知模型知識(即黑盒攻擊)的背景下生成足以愚弄學(xué)習(xí)模型的高質(zhì)量對抗攻擊樣本,但存在兩個問題:(1)目前使得黑盒攻擊性能表現(xiàn)優(yōu)異的基于GAN的對抗攻擊樣本生成方法大多應(yīng)用于圖像分類領(lǐng)域,而在基于GAN的惡意流量對抗樣本生成方面,現(xiàn)有方法表現(xiàn)一般且僅僅是針對某一類型的網(wǎng)絡(luò)攻擊行為;(2)當(dāng)前用于黑盒攻擊的網(wǎng)絡(luò)惡意流量樣本生成方法僅僅是針對基于某一種機器學(xué)習(xí)算法的惡意流量檢測器進(jìn)行設(shè)計的,其可擴展性不足。
因此,針對上述問題,本文基于生成對抗網(wǎng)絡(luò)提出了一種新的用于黑盒攻擊的對抗樣本生成方法,該對抗樣本生成方法在只知僵尸網(wǎng)絡(luò)檢測算法使用的流量特征,而對其學(xué)習(xí)模型的結(jié)構(gòu)和參數(shù)未知的前提條件下,通過訓(xùn)練一個替代判別器來擬合不同的黑盒僵尸網(wǎng)絡(luò)檢測算法,并以原始流量樣本與隨機噪聲的和作為生成器的輸入,利用GAN 中多層神經(jīng)網(wǎng)絡(luò)的非線性結(jié)構(gòu)使其能夠生成更復(fù)雜、更靈活的對抗樣本來愚弄黑盒的僵尸網(wǎng)絡(luò)檢測算法。生成的對抗樣本并不會改變僵尸網(wǎng)絡(luò)流量樣本原有攻擊性能的對抗樣本。該方法的最終目的是進(jìn)一步大幅度降低利用GAN生成的用于黑盒攻擊的對抗樣本在規(guī)避僵尸網(wǎng)絡(luò)流量檢測時的被檢測率,同時保證該方法在規(guī)避基于不同機器學(xué)習(xí)算法的惡意流量檢測器時仍然具有較好的性能表現(xiàn)。實驗結(jié)果表明,通過本文方法可以在保證僵尸網(wǎng)絡(luò)流量攻擊特性的條件下生成對抗樣本,用于攻擊黑盒的僵尸網(wǎng)絡(luò)檢測器,使其對僵尸網(wǎng)絡(luò)流量的被檢測率降低了0.481 8,并且針對不同的僵尸網(wǎng)絡(luò)檢測算法和由不同計算機設(shè)備構(gòu)成的僵尸網(wǎng)絡(luò),使用本文方法仍然可以生成具有良好規(guī)避僵尸網(wǎng)絡(luò)檢測性能的對抗樣本,充分證明本文方法具有良好的擴展性。
生成對抗網(wǎng)絡(luò)(GAN)是由Goodfellow等人在2014年提出的[17]。這種網(wǎng)絡(luò)模型由兩個神經(jīng)網(wǎng)絡(luò)組成,一個是生成器,另一個是判別器。整個網(wǎng)絡(luò)模型如圖1所示。
圖1 生成對抗網(wǎng)絡(luò)模型Fig.1 Generative adversarial network model
生成對抗網(wǎng)絡(luò)的目的是訓(xùn)練一個網(wǎng)絡(luò)系統(tǒng),使其能夠生成與目標(biāo)樣本集數(shù)據(jù)分布類似的新樣本。GAN的核心思想是博弈論中的納什平衡,生成器被用來學(xué)習(xí)真實的樣本數(shù)據(jù)的分布,使其生成欺騙判別器的虛假樣本,而判別器則盡可能判別樣本是來自生成器還是訓(xùn)練集,兩者在對抗訓(xùn)練下不斷優(yōu)化,最終達(dá)到納什平衡。該網(wǎng)絡(luò)的目標(biāo)函數(shù)如下所示:
式中,G代表生成器;D代表判別器;z是服從高斯分布的隨機噪聲;pdata(x)代表真實數(shù)據(jù)的概率分布;pz(z)代表隨機噪聲的概率分布;x~pdata(x)表示從真實數(shù)據(jù)的分布中隨機抽取x;z~pz(z)表示從高斯分布的隨機噪聲中抽取噪聲z;D(x)和G(z)均表示判別器和生成器在接收括號內(nèi)輸入后所輸出的向量。對于生成器G來說,將隨機噪聲z作為輸入,生成器G期望自己生成的樣本盡可能地欺騙判別器D,因此需要最大化判別概率D(G(z)),于是對于生成器G,它的目標(biāo)函數(shù)是最小化ln(1-D(G(z)))。對于判別器D,為了盡可能地區(qū)分真實樣本和虛假的生成樣本,它希望最小化判別概率D(G(z))的同時,最大化判別概率D(x),其中x是真實樣本。于是判別器的目標(biāo)函數(shù)是最大化lnD(x)+ln(1-D(G(z)))。
在訓(xùn)練GAN的過程中,通常多次更新判別器D的參數(shù)后才會更新一次G的參數(shù),這是因為要先有一個好的判別器,使其能夠較好地區(qū)分真實樣本和生成樣本之后,才能更為準(zhǔn)確地對生成器進(jìn)行更新??梢宰C明,當(dāng)訓(xùn)練樣本足夠多時,模型會收斂,pG(x)≈pdata(x),二者達(dá)到納什平衡。此時判別器D對真實樣本還是生成樣本的判別概率均為1/2,樣本達(dá)到難以均分的程度。
本文提出的基于生成對抗網(wǎng)絡(luò)的用于黑盒攻擊網(wǎng)絡(luò)流量檢測器的對抗樣本生成方法的整體網(wǎng)絡(luò)模型框架如圖2所示,主要包括替代判別器和對抗攻擊樣本生成器。
圖2 基于黑盒攻擊的對抗樣本生成方法框架Fig.2 Framework of adversarial sample generation method based on black box attack
黑盒檢測器是一個期望欺騙的僵尸網(wǎng)絡(luò)檢測算法。本文假設(shè)攻擊者只了解黑盒檢測器采用的網(wǎng)絡(luò)流量特征是哪些,而對其內(nèi)部使用的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)一概不知,但攻擊者能夠從黑盒檢測器中獲得對網(wǎng)絡(luò)流量的檢測結(jié)果(良性流量或者惡意攻擊流量)。
該方法與現(xiàn)有算法的主要區(qū)別在于,對抗樣本是根據(jù)黑盒檢測器的反饋動態(tài)生成的,而現(xiàn)有算法大多數(shù)是在已知檢測模型的結(jié)構(gòu)和參數(shù)的情況下,采用基于靜態(tài)梯度的方法來生成對抗樣本[18]。
通過該模型生成的對抗樣本的概率分布由生成器決定。生成器通過改變攻擊樣本的概率分布,使其遠(yuǎn)離黑盒檢測器訓(xùn)練集的概率分布。在這種情況下,生成器有足夠的機會引導(dǎo)黑盒檢測器將僵尸網(wǎng)絡(luò)流量錯誤分類為良性流量。
目前發(fā)展較為迅速的僵尸網(wǎng)絡(luò)檢測算法主要是基于網(wǎng)絡(luò)流量的統(tǒng)計特征,這樣可以忽略數(shù)據(jù)包負(fù)載中的內(nèi)容,不管僵尸網(wǎng)絡(luò)使用加密或者專有協(xié)議進(jìn)行通信都不會影響流統(tǒng)計特征的提取,具有較好的擴展性和適應(yīng)性。在實際僵尸網(wǎng)絡(luò)流量的檢測過程中,捕獲網(wǎng)絡(luò)中每個數(shù)據(jù)包的上下文并提取其特征是十分重要的。例如,針對單獨的一個TCP SYN 數(shù)據(jù)包,該數(shù)據(jù)包可能是試圖與服務(wù)器建立良性連接,但也可能是為了引起拒絕服務(wù)攻擊而發(fā)送的數(shù)百萬個類似數(shù)據(jù)包中的一個。因此,本文在網(wǎng)絡(luò)通道上采取動態(tài)的基于時間窗口的增量統(tǒng)計方法,進(jìn)行高速的流量特征提取。每當(dāng)一個數(shù)據(jù)包到達(dá)時,隨即在一個小的時間窗口內(nèi)捕獲與該包相關(guān)的發(fā)送方和接收方之間的流量。通過在特定的時間窗口上捕獲數(shù)據(jù)包來獲取數(shù)據(jù)包的上下文,以匯總來自不同元信息,即同一源IP(SrcIP)、同一源MAC-IP(SrcMAC-IP)、同一信道(源IP 和目的IP 一致,Channel)、同一套接字(Socket)的網(wǎng)絡(luò)流量。之后基于不同的元信息以及相關(guān)網(wǎng)絡(luò)流量,分類計算不同的統(tǒng)計量,其中包括均值、方差、協(xié)方差、近似相關(guān)系數(shù)等,共23種網(wǎng)絡(luò)流量特征,如表1 所示。本文分別在5 個時間窗口(100 ms,500 ms,1.5 s,10 s,60 s)內(nèi)分析并提取表1 所示的23 種網(wǎng)絡(luò)流量特征,由所得到的總計115個特征統(tǒng)計量組成一個流量樣本F。這些統(tǒng)計特征可以被快速遞增地計算出來,并且可以充分反映出某些惡意的網(wǎng)絡(luò)行為,如源IP欺騙、Mirai等攻擊行為。提取的這23種網(wǎng)絡(luò)流量特征,都是基于流量的統(tǒng)計特征,在這些特征上添加擾動,即修改數(shù)據(jù)包大小、數(shù)據(jù)包到達(dá)間隔時間等,并不會破壞數(shù)據(jù)包內(nèi)容。因此,本文添加擾動的方法是利用對抗生成網(wǎng)絡(luò)中的生成器在原始惡意網(wǎng)絡(luò)流量樣本的基礎(chǔ)上,增加或減少適當(dāng)?shù)奶卣髦?,使在一定約束條件下生成的對抗樣本同樣具有攻擊性,詳情見2.4節(jié)。
表1 特征提取Table 1 Feature extraction
為了使學(xué)習(xí)效率更高,采用最大-最小方法將樣本的115個數(shù)據(jù)標(biāo)準(zhǔn)化,使其值映射到(0,1)之間,對于網(wǎng)絡(luò)流量特征向量F={f1,f2,…,fn}(n=115)中的第i個元素作如下映射:
式中,minfi、maxfi分別指的是流量樣本集中第i個特征的最小、最大值。經(jīng)歸一化后,將向量X={x1,x2,…,xn}(n=115)作為對抗樣本生成模型的輸入。
由于攻擊者對黑盒的僵尸網(wǎng)絡(luò)檢測器的結(jié)構(gòu)和參數(shù)未知,本文使用替代判別器來擬合不同類型的黑盒檢測器,從而提供梯度信息來對生成器的網(wǎng)絡(luò)參數(shù)進(jìn)行更新。
替代判別器是一個權(quán)重為θd的,具有3個隱藏層的深度神經(jīng)網(wǎng)絡(luò)模型,依次具有256、512、128 個神經(jīng)元,選擇ReLU 作為激活函數(shù),以確保模型的非線性[19]。將學(xué)習(xí)率設(shè)置為0.01,epoch設(shè)置為37(迭代次數(shù)的設(shè)置見本文實驗部分的圖3),采用Adam 優(yōu)化器促進(jìn)模型收斂。以特征向量X作為輸入(115個輸入節(jié)點),輸出層使用的是Sigmod函數(shù):
用Dθd(X) 表示X是僵尸網(wǎng)絡(luò)流量的預(yù)測概率。因為這是二分類任務(wù),本文根據(jù)Dθd(X)是否大于0.5進(jìn)行二值轉(zhuǎn)換,0表示良性流量(Benign),1表示惡意攻擊流量(Malware),最后將由替代判別器產(chǎn)生的新標(biāo)簽添加到樣本集中。替代判別器損失函數(shù)如下所示:
替代判別器的訓(xùn)練集由攻擊者收集的良性流量樣本和僵尸網(wǎng)絡(luò)攻擊流量樣本共同組成。需要注意的是,訓(xùn)練集中數(shù)據(jù)樣本的真實標(biāo)簽不用于訓(xùn)練替代判別器,替代判別器的最終目標(biāo)是匹配黑盒檢測器。因此黑盒檢測器將首先檢測訓(xùn)練集中的流量樣本是良性的還是惡意的,之后替代判別器將使用由黑盒檢測器得出的預(yù)測標(biāo)簽作為真實標(biāo)簽進(jìn)行訓(xùn)練。本文通過這種方式來充分?jǐn)M合多種不同類型的黑盒檢測器,另一方面,由此訓(xùn)練得到的替代判別器可作為生成對抗網(wǎng)絡(luò)的最優(yōu)判別器,從而以此為基礎(chǔ),不斷地優(yōu)化生成器,使其生成最優(yōu)的對抗樣本。
生成器用于將僵尸網(wǎng)絡(luò)流量樣本轉(zhuǎn)換為可攻擊黑盒檢測器的對抗樣本。它以原始流量樣本的特征向量F歸一化之后的向量X和噪聲向量Z的和為輸入,X和Z都是具有115個元素的一維向量,特別地,Z中的每個元素都為[0,1)區(qū)間內(nèi)且滿足高斯分布的隨機數(shù),將Z中每個元素的值對應(yīng)添加到僵尸網(wǎng)絡(luò)流量特征向量X上,得到生成器的輸入向量X′={x1+z1,x2+z2,…,xn+zn}。這樣做的目的是為了使生成器可以從單個僵尸網(wǎng)絡(luò)流量特征向量上生成不同的對抗樣本。
向量X′被輸入到一個權(quán)重為θg的多層深度神經(jīng)網(wǎng)絡(luò)(生成器)中,該深度神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)除輸出層外,其他層的結(jié)構(gòu)與替代判別器的網(wǎng)絡(luò)結(jié)構(gòu)一致。超參數(shù)設(shè)置方面,將學(xué)習(xí)率設(shè)置為0.01,同樣采用Adam優(yōu)化器,epoch 設(shè)置為45(由實驗部分的圖5 可知,當(dāng)?shù)螖?shù)達(dá)到45 次時,模型收斂)。該網(wǎng)絡(luò)的輸出層有115 個神經(jīng)元,使用的激活函數(shù)是Sigmoid函數(shù),它將輸出限制在(0,1)范圍內(nèi),輸出為G(X′)。為了使生成的對抗樣本仍然保持可攻擊性(增加的擾動足夠?。疚睦锰娲袆e器的輸出作為對抗樣本與原始真實樣本數(shù)據(jù)分布差異的測度,并以此建立約束,保證生成器生成的對抗樣本與原始真實樣本的分布一致性,約束的具體公式如下:
式中,θg表示生成器G的網(wǎng)絡(luò)參數(shù),pX和pZ分別表示原始流量X和隨機噪聲Z的分布,Gθg(X,Z)表示以原始流量X為條件,生成器通過隨機噪聲Z生成的對抗樣本。
生成的對抗樣本為攻擊者進(jìn)一步規(guī)避黑盒檢測器提供了參考依據(jù),攻擊者可以根據(jù)生成的對抗樣本修改相應(yīng)的攻擊程序,如修改數(shù)據(jù)包大小,修改數(shù)據(jù)包發(fā)送間隔時間等。這里可以通過最大-最小標(biāo)準(zhǔn)化的反向運算來得到具體對抗樣本的特征向量Y。
如式(6)所示,在實際的反向運算中,本文忽略了對抗樣本中對于第i個特征的最小、最大值的變化,因為這對具體的對抗樣本特征向量的生成影響很小。
特別地,在本文提出的對抗樣本生成模型中,可以發(fā)現(xiàn)生成器和判別器不是同時被訓(xùn)練,這是因為模型中替代判別器的作用是來擬合黑盒檢測器的,需要配合黑盒檢測器進(jìn)行單獨訓(xùn)練,因而在生成器訓(xùn)練的過程中,替代判別器是固定的,它的作用只是將得到的梯度信息反饋到生成器中,從而不斷地優(yōu)化生成器。
本文提出的用于欺騙網(wǎng)絡(luò)流量檢測器的對抗樣本生成方法是采用新的基于物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)流量開源數(shù)據(jù)集N_BaIoT來進(jìn)行評估的[20]。該數(shù)據(jù)集收集了9種商用物聯(lián)網(wǎng)設(shè)備被Mirai和BASHLITE分別感染后的僵尸網(wǎng)絡(luò)流量數(shù)據(jù)和未被僵尸網(wǎng)絡(luò)感染的良性流量數(shù)據(jù),共包含7 062 606 個實例樣本以及每個實例樣本的115種屬性信息。為了保證模型在訓(xùn)練時樣本數(shù)據(jù)分布一致性,實驗過程中只選用了數(shù)據(jù)集中的一種物聯(lián)網(wǎng)設(shè)備(網(wǎng)絡(luò)攝像頭)的流量數(shù)據(jù)樣本作為對抗樣本生成模型的訓(xùn)練集和測試集。
實驗首先進(jìn)行的是替代判別器擬合黑盒僵尸網(wǎng)絡(luò)檢測器的部分。該部分先將網(wǎng)絡(luò)攝像頭的良性流量以及僵尸網(wǎng)絡(luò)流量樣本經(jīng)過數(shù)據(jù)處理后輸入黑盒僵尸網(wǎng)絡(luò)檢測器中,輸出并記錄黑盒檢測器對每個流量樣本的新標(biāo)簽(良性0 或者惡意1),之后將帶有新標(biāo)簽的同種物聯(lián)網(wǎng)設(shè)備的流量樣本集作為替代判別器的訓(xùn)練集和測試集,分配比例為9∶1。其次是對生成器的訓(xùn)練部分。該部分是將同種物聯(lián)網(wǎng)設(shè)備僵尸網(wǎng)絡(luò)流量樣本的90%用作生成器的訓(xùn)練集,剩下的10%作為測試集,來測試生成的對抗樣本的有效性。
本文首先分析了在針對不同類型黑盒檢測器時,生成對抗網(wǎng)絡(luò)模型中替代判別器的擬合表現(xiàn)。在對惡意僵尸網(wǎng)絡(luò)流量的檢測中,計算替代判別器和不同類型黑盒檢測器的F1值。當(dāng)替代判別器能在該評價標(biāo)準(zhǔn)(F1值)上與目標(biāo)黑盒檢測器幾乎一致時,便可以充分地證明替代判別器可以很好地擬合該檢測器,進(jìn)而可以利用該替代判別器來訓(xùn)練生成器。
表2列出了在相同數(shù)據(jù)集上,黑盒檢測器以及替代判別器擬合不同類型的黑盒檢測器時計算得到的F1值。表中表示替代判別器擬合對應(yīng)黑盒檢測器后得到的F1值;表示F1和兩者的差值的絕對值,差值越小,表示擬合效果越好。由表2可知,對于基于邏輯回歸(LR)、支持向量機(SVM)、多層感知機(MLP)以及深度神經(jīng)網(wǎng)絡(luò)構(gòu)成的惡意流量檢測器,所得到的值小于等于0.010 1,而對于基于決策樹(DT)和隨機森林(RF)構(gòu)成的惡意流量檢測器,對應(yīng)的|值大于等于0.034 2,相對來說比較大一點。這是因為由邏輯回歸、支持向量機、多層感知機和深度神經(jīng)網(wǎng)絡(luò)構(gòu)成的檢測器,它們的網(wǎng)絡(luò)結(jié)構(gòu)與本文構(gòu)造的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)非常相似,所以替代判別器能夠以非常高的精度來擬合它們。但總得來說,無論是哪種類型的惡意流量檢測器,替代判別器都可以較好地對其進(jìn)行擬合。
表2 替代判別器擬合不同的黑盒流量檢測器Table 2 Substitute detector to fit different types of black box traffic detectors
替代判別器在擬合基于不同類型的機器學(xué)習(xí)算法的僵尸網(wǎng)絡(luò)流量檢測器時的收斂曲線如圖3所示,y軸表示替代判別器在擬合不同類型的僵尸網(wǎng)絡(luò)流量檢測器后對僵尸網(wǎng)絡(luò)流量的識別檢測率TPR(true positive rate),x軸表示訓(xùn)練的迭代次數(shù)。由圖3 可知,當(dāng)替代判別器迭代訓(xùn)練到37 次左右時,針對不同類型的僵尸網(wǎng)絡(luò)流量檢測器的擬合曲線都可以達(dá)到收斂狀態(tài)。
圖3 替代判別器的收斂曲線Fig.3 Convergence curves of substitute detector
之后以基于不同機器學(xué)習(xí)算法的僵尸網(wǎng)絡(luò)檢測器分別作為期望欺騙的黑盒檢測器,在相同數(shù)據(jù)集上對本文提出的對抗樣本生成方法進(jìn)行性能分析。
表3 中F1、F1′分別表示原始惡意流量樣本、利用本文方法生成的對抗攻擊樣本在被不同類型的真實僵尸網(wǎng)絡(luò)流量檢測器檢測后計算得到的F1值;為兩者差的絕對值,該值越大,表示由本文方法生成的對抗樣本在規(guī)避對應(yīng)僵尸網(wǎng)絡(luò)流量檢測器方面的性能越好。由表3可知,生成的對抗樣本可以大幅度地降低原始惡意流量樣本的被檢測率,尤其是在針對基于多層感知機和深度神經(jīng)網(wǎng)絡(luò)的僵尸網(wǎng)絡(luò)流量檢測器時,分別可達(dá)到0.598 3 和0.627 9,此時本文方法表現(xiàn)最好。
表3 本文提出的對抗樣本生成方法的性能表現(xiàn)Table 3 Performance of adversarial sample generation method proposed in this paper
其次,為探究本文方法在由不同計算機設(shè)備構(gòu)成的僵尸網(wǎng)絡(luò)中的適用性,以基于隨機森林的僵尸網(wǎng)絡(luò)流量檢測器作為期望欺騙的黑盒檢測器(基于隨機森林算法的流量檢測器相對于其他機器學(xué)習(xí)算法可得到更高的檢測率),通過對抗樣本生成方法,在相同和不同數(shù)據(jù)集下分別進(jìn)行性能分析:
(1)使用一種網(wǎng)絡(luò)攝像頭的流量樣本作為訓(xùn)練集(包含良性流量和僵尸網(wǎng)絡(luò)流量)對黑盒檢測器和對抗樣本生成模型分別進(jìn)行訓(xùn)練。之后將測試集中的僵尸網(wǎng)絡(luò)流量樣本隨機均勻分為5 組,每組50 000 個樣本,利用訓(xùn)練好的黑盒檢測器檢測原始惡意流量樣本以及將其經(jīng)生成模型轉(zhuǎn)換后得到的對抗樣本,分別計算得到不同的僵尸網(wǎng)絡(luò)流量檢出率TPR,如圖4所示。
圖4 黑盒流量檢測器對惡意流量樣本的檢出率Fig.4 Detection rate of black box traffic detector to malicious traffic samples
由圖4可知,運用基于隨機森林的僵尸網(wǎng)絡(luò)流量檢測器檢測原始僵尸網(wǎng)絡(luò)流量可達(dá)到95.78%的平均檢出率,而對生成的對抗樣本的平均檢出率只有47.60%,兩者相差0.481 8??梢?,通過本文提出的流量對抗樣本生成方法生成的對抗樣本可以有效地欺騙僵尸網(wǎng)絡(luò)流量檢測器,有助于僵尸網(wǎng)絡(luò)流量樣本規(guī)避相關(guān)流量檢測器的檢測。
圖5 展示了對抗樣本生成模型在訓(xùn)練過程中的收斂曲線,y軸表示黑盒檢測器在僵尸網(wǎng)絡(luò)流量經(jīng)對抗樣本生成模型轉(zhuǎn)換后對新生成的僵尸網(wǎng)絡(luò)流量的識別檢測率TPR,x軸為訓(xùn)練的迭代次數(shù)。由圖4 可知,當(dāng)模型迭代到45次附近時可以收斂到47%左右。
圖5 對抗樣本生成模型的收斂曲線Fig.5 Convergence curve of adversarial sample generation model
(2)使用其他8 種類型的物聯(lián)網(wǎng)設(shè)備在被Mirai 和BASHLITE 攻擊后產(chǎn)生的惡意流量樣本作為對抗樣本生成模型訓(xùn)練數(shù)據(jù)集。由圖6可知,通過本文方法生成的對抗樣本可以將惡意流量的被檢測率降低至53.98%以下,充分說明該模型不僅適用于多種類型的物聯(lián)網(wǎng)設(shè)備,而且針對不同類型的網(wǎng)絡(luò)攻擊都可以為其生成有效的對抗樣本以規(guī)避檢測,具有良好的擴展性。圖6 中,x軸表示不同物聯(lián)網(wǎng)設(shè)備產(chǎn)生的流量樣本數(shù)據(jù)集,y軸表示在相應(yīng)數(shù)據(jù)集下,黑盒檢測器對通過對抗生成模型轉(zhuǎn)換后的僵尸網(wǎng)絡(luò)流量的識別率TPR。
圖6 不同類型數(shù)據(jù)集下對抗樣本生成方法的性能Fig.6 Performance of adversarial sample generation models under different types of data sets
最后,將本文提出的基于生成對抗網(wǎng)絡(luò)的用于規(guī)避僵尸網(wǎng)絡(luò)流量檢測的對抗樣本生成方法與其他惡意網(wǎng)絡(luò)流量生成方法進(jìn)行對比,結(jié)果如表4 所示。Pan 等人提出的方法[16]僅僅適用于針對緩沖區(qū)溢出漏洞生成攻擊網(wǎng)絡(luò)流,沒有展開對其他網(wǎng)絡(luò)攻擊流量生成的研究,擴展性較差,并且生成的對抗樣本相比于原始樣本,被檢出率僅僅下降了0.11左右。相比較而言,由本文提出的方法不僅適用于眾多通過僵尸網(wǎng)絡(luò)進(jìn)行的網(wǎng)絡(luò)攻擊,并且只需要獲得網(wǎng)絡(luò)攻擊流量的統(tǒng)計特征便可生成相應(yīng)的對抗樣本,且生成的對抗樣本使得惡意流量被檢測率下降了0.48左右。綜上所述,可知使用本文提出的方法生成的基于惡意流量的對抗樣本在規(guī)避檢測器方面具有更好的性能。
表4 本文方法與其他方法的性能比較Table 4 Performance comparison of this proposed method and other method
本文針對在未知僵尸網(wǎng)絡(luò)流量檢測器結(jié)構(gòu)和參數(shù)的前提條件下,基于生成對抗網(wǎng)絡(luò)提出了一種新的用于黑盒攻擊的對抗樣本生成方法。本文方法通過構(gòu)建替代判別器來擬合基于不同算法的僵尸網(wǎng)絡(luò)流量檢測器,從而利用生成對抗網(wǎng)絡(luò)向原始惡意流量樣本添加不改變其攻擊特性的微小擾動,試圖規(guī)避流量檢測器的檢測。實驗結(jié)果表明,在N_BaIoT 數(shù)據(jù)集下,由本文方法生成的對抗樣本可以大幅度降低那些基于機器學(xué)習(xí)算法的流量檢測器對惡意流量的檢出率。其次充分證明了本文方法生成的對抗攻擊樣本可以規(guī)避基于不同類型的僵尸流量檢測器,具有優(yōu)異的可擴展性。
由此可見,基于機器學(xué)習(xí)的僵尸網(wǎng)絡(luò)流量檢測器在面對這種對抗樣本時缺乏防御能力,很容易被攻擊者利用。因此,在未來工作中還需要探究對抗防御,旨在研究出更好的防御手段或者模型,以幫助深度神經(jīng)網(wǎng)絡(luò)抵抗對抗樣本的攻擊。除此之外,本文旨在重點強調(diào)該方法在黑盒攻擊不同類型僵尸網(wǎng)絡(luò)流量檢測器方面的有效性,對生成對抗網(wǎng)絡(luò)中所涉及的模型構(gòu)建以及相關(guān)超參數(shù)的設(shè)置并未做深入研究,這一點需要在未來研究工作賦予實踐。