胡永進(jìn),郭淵博,馬駿,張晗,2,毛秀青
(1.信息工程大學(xué)密碼工程學(xué)院,河南 鄭州 450001;2.鄭州大學(xué)軟件學(xué)院,河南 鄭州 450000)
網(wǎng)絡(luò)流量分類技術(shù)作為增強(qiáng)網(wǎng)絡(luò)可控性的基礎(chǔ)技術(shù)之一,在幫助研究人員了解流量分布、優(yōu)化網(wǎng)絡(luò)傳輸、提高網(wǎng)絡(luò)服務(wù)質(zhì)量的同時(shí),也常被攻擊者用于對(duì)目標(biāo)網(wǎng)絡(luò)流量進(jìn)行監(jiān)控,攻擊者通過(guò)對(duì)網(wǎng)絡(luò)流量進(jìn)行分類確定其所屬的應(yīng)用類型(如郵件類、多媒體類、網(wǎng)站類等),進(jìn)而根據(jù)分類結(jié)果實(shí)施流量攔截并可進(jìn)一步實(shí)施網(wǎng)站指紋攻擊。尤其是隨著機(jī)器學(xué)習(xí)和深度學(xué)習(xí)被用于網(wǎng)絡(luò)流量分類領(lǐng)域[1],基于它們的網(wǎng)絡(luò)流量分類技術(shù)為攻擊者提供了更便利的條件,往往能獲得極高的分類準(zhǔn)確率。一種典型的攻擊者使用基于深度學(xué)習(xí)的網(wǎng)絡(luò)流量分類方法實(shí)施攻擊的場(chǎng)景如圖1所示。雖然深度學(xué)習(xí)在流量分類領(lǐng)域的應(yīng)用可以提高分類的準(zhǔn)確率,并且已經(jīng)在圖像識(shí)別、自然語(yǔ)言處理等多個(gè)領(lǐng)域展現(xiàn)了巨大的潛力,但隨著Szegedy等[2]在計(jì)算機(jī)視覺領(lǐng)域中提出了對(duì)抗樣本這一概念,對(duì)抗包括卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)在內(nèi)的深度學(xué)習(xí)模型引起了學(xué)者們的興趣。
圖1 攻擊者使用基于深度學(xué)習(xí)的網(wǎng)絡(luò)流量分類方法實(shí)施攻擊
Szegedy等[2]在研究圖像識(shí)別時(shí)發(fā)現(xiàn),當(dāng)對(duì)學(xué)習(xí)模型的輸入樣本添加一些人眼無(wú)法察覺的細(xì)微干擾時(shí),會(huì)導(dǎo)致模型以高置信度給出一個(gè)錯(cuò)誤的輸出。針對(duì)深度學(xué)習(xí)模型,在原數(shù)據(jù)集中添加細(xì)微擾動(dòng)所形成的樣本被稱為對(duì)抗樣本。從攻擊的角度,對(duì)抗樣本在計(jì)算機(jī)視覺領(lǐng)域應(yīng)用最直接,例如在人臉識(shí)別、自動(dòng)駕駛等方面,攻擊者可以通過(guò)添加人眼無(wú)法識(shí)別的擾動(dòng)引發(fā)圖像識(shí)別的分類錯(cuò)誤,造成人臉識(shí)別或交通標(biāo)志識(shí)別失敗[3];在信息安全領(lǐng)域,欺騙基于神經(jīng)網(wǎng)絡(luò)的惡意軟件檢測(cè)模型,從而逃避檢測(cè)[4]。從防御的角度,對(duì)抗樣本也具有非常高的價(jià)值,主要表現(xiàn)在以下兩點(diǎn):第一點(diǎn)是可以針對(duì)深度學(xué)習(xí)模型提前生成對(duì)抗訓(xùn)練樣本,提高模型的穩(wěn)健性以應(yīng)對(duì)可能的對(duì)抗樣本攻擊[5];第二點(diǎn)是可以針對(duì)攻擊者使用的深度學(xué)習(xí)模型,利用對(duì)抗樣本欺騙其攻擊模型,造成攻擊的不確定性,并提高攻擊成本,使攻擊者延緩或取消攻擊。本文從對(duì)抗樣本防御價(jià)值的第二點(diǎn)出發(fā),針對(duì)攻擊者的網(wǎng)絡(luò)流量分類攻擊,通過(guò)增加擾動(dòng)生成網(wǎng)絡(luò)流量的對(duì)抗樣本,從而形成網(wǎng)絡(luò)欺騙流量,引發(fā)攻擊者的流量分類錯(cuò)誤。
本文應(yīng)用對(duì)抗樣本的概念應(yīng)對(duì)攻擊者發(fā)起的網(wǎng)絡(luò)流量分類攻擊,采用3種典型的擾動(dòng)生成方法形成欺騙流量對(duì)抗樣本,對(duì)攻擊者采用的基于深度學(xué)習(xí)的流量分類攻擊模型進(jìn)行欺騙,造成其分類錯(cuò)誤,從而導(dǎo)致攻擊失敗。首先,將對(duì)抗樣本的概念應(yīng)用于主動(dòng)防御中的網(wǎng)絡(luò)欺騙流量研究,對(duì)比不同的對(duì)抗樣本的欺騙效果;其次,與攻擊者通過(guò)對(duì)抗樣本實(shí)施攻擊相反,本文以對(duì)抗樣本為防御手段欺騙攻擊者的分類模型,可以看作主動(dòng)防御中的“防中有攻”;最后,針對(duì)LeNet-5深度卷積神經(jīng)網(wǎng)絡(luò)分類模型,即在攻擊者分類模型已知(白盒)的條件下進(jìn)行實(shí)驗(yàn),驗(yàn)證對(duì)抗樣本在流量分類中的效果。
根據(jù)網(wǎng)絡(luò)流量的顆粒度,對(duì)網(wǎng)絡(luò)流量分類的研究主要針對(duì)表1所示的3個(gè)層面[6]。
表1 網(wǎng)絡(luò)流量分類中的研究對(duì)象
在上述3個(gè)層面的流量分類中,flow級(jí)的網(wǎng)絡(luò)流量是流量分類使用最廣泛的對(duì)象,其基本思想如圖2所示。本文以flow級(jí)的流量作為原始數(shù)據(jù),通過(guò)生成對(duì)抗流量樣本對(duì)攻擊者的流量分類進(jìn)行欺騙,欺騙的目標(biāo)是使用基于深度學(xué)習(xí)的分類模型的攻擊者?;谏疃葘W(xué)習(xí)的分類方法假設(shè)對(duì)于某些類別的應(yīng)用,其網(wǎng)絡(luò)層的統(tǒng)計(jì)特征(如流持續(xù)時(shí)間的分布)是唯一的,使用決策樹、樸素貝葉斯、支持向量機(jī)、關(guān)聯(lián)規(guī)則學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、遺傳算法等方法構(gòu)造分類模型,從而進(jìn)行分類,具有使用場(chǎng)景廣、分類準(zhǔn)確率高、能夠分類加密數(shù)據(jù)流量等特點(diǎn)。
圖2 flow級(jí)的網(wǎng)絡(luò)流量分類
基于機(jī)器學(xué)習(xí)的流量分類的主要思想是構(gòu)建流量的統(tǒng)計(jì)屬性聯(lián)合作為指紋進(jìn)行分類。文獻(xiàn)[7]將機(jī)器學(xué)習(xí)應(yīng)用于流量分類,認(rèn)為流的字節(jié)可以看作圖片中的像素,使用在圖像識(shí)別領(lǐng)域表現(xiàn)非常好的深度學(xué)習(xí)方法進(jìn)行流量分類。文獻(xiàn)[8]融合特征提取、特征選擇和分類為一個(gè)端到端的框架,采用一階卷積神經(jīng)網(wǎng)絡(luò)對(duì)不同行為的負(fù)載字節(jié)進(jìn)行計(jì)算,構(gòu)建指紋。文獻(xiàn)[9]利用匿名化網(wǎng)絡(luò)特性,采用長(zhǎng)度序列和方向序列作為深度學(xué)習(xí)網(wǎng)絡(luò),如SAE(stacked auto-encoder)、CNN、長(zhǎng)短期記憶(LSTM,long short-term memory)網(wǎng)絡(luò)的輸入,從而分類訪問網(wǎng)頁(yè)。文獻(xiàn)[10]將表征學(xué)習(xí)的方法應(yīng)用于惡意流量分類領(lǐng)域,將原始流量數(shù)據(jù)視為圖片,然后使用擅長(zhǎng)圖片分類任務(wù)的卷積神經(jīng)網(wǎng)絡(luò)執(zhí)行分類,最終達(dá)到惡意流量分類的目的。這些研究證明了深度學(xué)習(xí)在流量分類上的可行性,同時(shí)為對(duì)抗基于深度學(xué)習(xí)的流量分類提供了方向。
在對(duì)抗或欺騙上述基于深度學(xué)習(xí)的流量分類的研究上,文獻(xiàn)[11]提出了加載背景流量的防御方法,并在TOR(the onion router)和JAP(Java anonymous proxy)上進(jìn)行驗(yàn)證;文獻(xiàn)[12]驗(yàn)證了加密協(xié)議字節(jié)填充的加密流量分類對(duì)抗的效果;文獻(xiàn)[13]使用不同的真實(shí)流量作為訪問網(wǎng)站時(shí)的噪聲;文獻(xiàn)[14]提出了walkie-talkie以單工方式加載網(wǎng)站來(lái)混淆burst特征。上述研究主要通過(guò)修改流量的通信特征實(shí)現(xiàn)對(duì)抗,多聚焦于如何逃逸以避免被攻擊者發(fā)現(xiàn),偽裝和欺騙的能力有限,對(duì)抗性不足。目前與本文最接近的研究是隱私保護(hù)領(lǐng)域的流量偽裝與混淆。其中,obfsproxy(obfuscated proxy)模糊代理軟件[15]使SSL(secure socket layer)或TLS(transport layer security)加密流量看起來(lái)像未加密的HTTP或即時(shí)通信流量;文獻(xiàn)[16]發(fā)布了TOR的傳輸層插件SkypeMorph,將TOR客戶端與網(wǎng)橋的通信流量填充到Skype視頻通話流量中,用于對(duì)抗流量統(tǒng)計(jì)分析;文獻(xiàn)[17]提出了黑盒分析流量分類規(guī)則,通過(guò)多次測(cè)試推斷流量分析識(shí)別規(guī)則,從而修改通信數(shù)據(jù)分組進(jìn)行逃逸。但這些研究均未將對(duì)抗樣本的概念應(yīng)用到對(duì)抗流量分析的研究中,也沒有將其作為防御者的一種欺騙防御方法進(jìn)行討論,本文重點(diǎn)研究了這一問題。
生成對(duì)抗樣本的關(guān)鍵在于計(jì)算和生成對(duì)抗擾動(dòng)。在計(jì)算機(jī)視覺領(lǐng)域,擾動(dòng)需要滿足添加到原始圖像后人眼不可見并可迷惑原有分類模型的要求。本文中,針對(duì)流量分類模型的欺騙,雖然生成的擾動(dòng)不必滿足“人眼不可見”的條件,但仍需要達(dá)到一定的條件(如帶寬要求等)。
多數(shù)工作主要研究了引發(fā)圖像分類模型的對(duì)抗擾動(dòng)[18]。Szegedy等[2]發(fā)現(xiàn)了深度神經(jīng)網(wǎng)絡(luò)在圖像分類領(lǐng)域存在的弱點(diǎn),提出了對(duì)抗樣本的概念,并將對(duì)抗性擾動(dòng)生成描述為優(yōu)化問題。Goodfellow等[19]提出了一種最優(yōu)的最大范數(shù)約束擾動(dòng)的方法,稱為快速梯度符號(hào)法(FGSM,fast gradient sign method),以提高計(jì)算效率,并證明了神經(jīng)網(wǎng)絡(luò)高維度線性是導(dǎo)致對(duì)抗樣本較好的根本原因。Kurakin等[20]提出了一種基本迭代方法,使用FGSM迭代地產(chǎn)生擾動(dòng)。Moosavi-dezfooli等[21]發(fā)現(xiàn)圖像分類模型中存在與特定圖像無(wú)關(guān)的對(duì)抗性擾動(dòng),即通用擾動(dòng),這種通用擾動(dòng)可以使分類模型對(duì)所有增加了該擾動(dòng)的圖片分類錯(cuò)誤。Athalye等[22]發(fā)現(xiàn)3D打印的真實(shí)世界中的物體也可以欺騙深度網(wǎng)絡(luò)分類器。Moosavi-dezfooli等[23]提出的DeepFool進(jìn)一步提高了對(duì)抗性擾動(dòng)的有效性。類似于文獻(xiàn)[21],Metzen等[24]為語(yǔ)義分割任務(wù)提出了通用對(duì)抗擾動(dòng)(UAP,universal adversarial perturbation),擴(kuò)展了Kurakin等[20]的迭代FGSM攻擊,更改了每個(gè)像素預(yù)測(cè)的標(biāo)簽。Mopuri等[25]尋求數(shù)據(jù)獨(dú)立的通用擾動(dòng),不從數(shù)據(jù)分布中采樣,提出了一個(gè)新的無(wú)數(shù)據(jù)目標(biāo)的算法來(lái)生成通用對(duì)抗擾動(dòng),稱為FFF(fast feature fool)算法。文獻(xiàn)[26]提出的GDUAP(generalizable data-free universal adversarial perturbations)算法改善了攻擊的效果,讓多個(gè)不同架構(gòu)和參數(shù)分類模型產(chǎn)生錯(cuò)誤分類,并證明了GDUAP算法在跨計(jì)算機(jī)視覺任務(wù)上的有效性。目前,除了研究對(duì)計(jì)算機(jī)視覺中的分類、識(shí)別任務(wù)的攻擊之外,研究者還在研究對(duì)其他領(lǐng)域和方向的攻擊,但未發(fā)現(xiàn)對(duì)網(wǎng)絡(luò)流量分類方向?qū)嵤┕舻难芯俊?/p>
本文假設(shè)攻擊者能夠觀測(cè)到2個(gè)主機(jī)節(jié)點(diǎn)之間的flow級(jí)別的流量,并能夠提取數(shù)據(jù)分組大小、內(nèi)部數(shù)據(jù)分組到達(dá)時(shí)間等流量的特征,通過(guò)使用這些流量對(duì)分類模型進(jìn)行訓(xùn)練以推斷防御者使用的應(yīng)用類型,從而進(jìn)行流量分類。根據(jù)文獻(xiàn)[27],建立攻擊者模型,具體描述如下。攻擊者企圖將觀測(cè)到的流量TF分類為應(yīng)用類型集合C中的第i類,流量TF的特征集合為分類模型的分類函數(shù)為輸出值為屬于應(yīng)用集合C中第i類的概率。相關(guān)符號(hào)定義與說(shuō)明如表2所示。
防御者依據(jù)流量TF通過(guò)生成擾動(dòng)P形成欺騙流量TD。本文使用不同的生成方法計(jì)算不同的擾動(dòng),形成不同的欺騙流量TD,從中提取特征集合X′=,使攻擊者的分類函數(shù)的輸出原輸出不同,即攻擊者錯(cuò)誤地將流量由第i類分類為第i'類。相關(guān)符號(hào)定義與說(shuō)明如表3所示。
表2 攻擊者模型相關(guān)符號(hào)定義與說(shuō)明
表3 防御者模型相關(guān)符號(hào)定義與說(shuō)明
文獻(xiàn)[28]將擾動(dòng)生成方法分為全像素添加擾動(dòng)和部分像素添加擾動(dòng),并在此基礎(chǔ)上又分為目標(biāo)針對(duì)性和非目標(biāo)針對(duì)性、黑盒測(cè)試和白盒測(cè)試、肉眼可見和肉眼不可見。結(jié)合流量分類的特點(diǎn),本文采用的擾動(dòng)生成方法為全像素添加擾動(dòng),在已知攻擊者使用分類器的參數(shù)和內(nèi)部結(jié)構(gòu)的情況下生成流量對(duì)抗樣本,欺騙攻擊者的分類器產(chǎn)生錯(cuò)誤分類,不需要產(chǎn)生指定的錯(cuò)誤分類類別?;谏鲜鎏攸c(diǎn),本文使用的3種擾動(dòng)生成方法如下。
1)FGSM
FGSM由Goodfellow等[19]提出,是生成對(duì)抗樣本的基本方法之一,其基于梯度下降原理通過(guò)在梯度方向上添加增量來(lái)誘導(dǎo)網(wǎng)絡(luò)對(duì)生成的圖片進(jìn)行錯(cuò)誤分類。擾動(dòng)計(jì)算式為
其中,ε為限制擾動(dòng)過(guò)大的約束條件,‖P‖<ε(不同的范數(shù)效果不同);為訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)的損失函數(shù),θ為分類模型的參數(shù),x和y分別為模型的輸入和輸入對(duì)應(yīng)的正確標(biāo)簽。為點(diǎn)x處損失函數(shù)的梯度方向,ε可看作在該方向上的偏移量級(jí)。
2)DeepFool方法
DeepFool方法是Moosavi-dezfooli等[23]提出的一種非針對(duì)目標(biāo)的對(duì)抗樣本生成方法,對(duì)深度網(wǎng)絡(luò)有很強(qiáng)的對(duì)抗性和穩(wěn)健性。其通過(guò)迭代計(jì)算生成最小規(guī)范對(duì)抗擾動(dòng),將位于分類邊界內(nèi)的圖像逐步推到邊界外,直到出現(xiàn)錯(cuò)誤分類。該方法生成的擾動(dòng)比FGSM更小。假設(shè)分類器的分類函數(shù)為為權(quán)重,b為截距,可知其仿射平面為當(dāng)在某一點(diǎn)x0加入擾動(dòng)ρ形成的向量垂直于平面Γ,則加入的擾動(dòng)最?。棣?)且符合迭代要求,如式(2)所示。
3)C&W方法
Carlini和Wagner[29]基于FGSM、L-BFGS(limited-memory Broyden-Fletcher-Goldfarb Shanno)和JSMA(Jacobian-based saliency map approach)這3種方法提出了C&W(Carlini and Wagner)方法,其在范數(shù)l0、l2、l∞上均有較大改善。以l2范數(shù)為例,C&W方法如式(3)所示。
其中,擾動(dòng)P由計(jì)算得到,tanh()函數(shù)利用優(yōu)化將對(duì)抗樣本映射到[-∞,+∞];()Zx表示樣本x通過(guò)模型未經(jīng)過(guò)softmax函數(shù)的輸出向量,表示欲錯(cuò)誤形成的類別t的邏輯表示;表示分類i≠t的邏輯表示,表示分類錯(cuò)誤最??;k表示可調(diào)節(jié)的超參數(shù),控制生成的對(duì)抗樣本的置信度。
式(3)設(shè)置了一個(gè)特殊的損失函數(shù)來(lái)衡量輸出誤差,其由兩部分組成,保證所得擾動(dòng)最小,保證生成的對(duì)抗樣本可使模型分類錯(cuò)誤的那一類的概率更高。由于可以調(diào)節(jié)生成樣本的置信度,C&W方法可以生成強(qiáng)對(duì)抗樣本,增強(qiáng)了其對(duì)抗遷移性,具備實(shí)現(xiàn)黑盒攻擊的能力。
基于上述分析與擾動(dòng)生成算法,本文設(shè)計(jì)了欺騙流量對(duì)抗樣本生成算法,如算法1所示。
算法1流程如圖3所示。
算法1中首先需要對(duì)真實(shí)流量TF進(jìn)行預(yù)處理和歸一化處理。預(yù)處理Preprocess(TF)利用不同的數(shù)據(jù)集對(duì)真實(shí)流量TF進(jìn)行清洗,并提取TF的流量特征;參考圖像識(shí)別領(lǐng)域中對(duì)圖像數(shù)據(jù)的讀取格式,將流量數(shù)據(jù)集的數(shù)據(jù)格式轉(zhuǎn)化為圖像數(shù)據(jù)格式,通過(guò)TransArfftoIDX(TF)將流量數(shù)據(jù)集的數(shù)據(jù)格式由arff轉(zhuǎn)換為IDX格式;通過(guò)Normalize(TF)對(duì)數(shù)據(jù)集所有流量的每一項(xiàng)特征進(jìn)行數(shù)值歸一化,消除流量數(shù)據(jù)集各個(gè)特征之間的量綱關(guān)系,使不同特征之間具有可比性,這樣就可以使用Reshape(TF)和Visualization(TF)將真實(shí)流量的各類特征值視為圖像的灰度值,進(jìn)而以圖像的方式可視化。
圖3 算法1流程
接下來(lái),對(duì)攻擊者選用的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行構(gòu)建和訓(xùn)練Training(TF,mode),使其能對(duì)可視化后的流量數(shù)據(jù)進(jìn)行分類并測(cè)試分類的準(zhǔn)確率;同時(shí),選擇擾動(dòng)生成方法,將訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)和參數(shù)作為已知條件,產(chǎn)生各自的擾動(dòng)CraftingPerturbation (method),與真實(shí)流量疊加后形成欺騙流量TD=Generate AdvSample(),并以可視化的方法比較欺騙流量和真實(shí)流量的區(qū)別;最后對(duì)生成的欺騙流量使用訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行分類測(cè)試Evaluate(TD),并將測(cè)試結(jié)果與對(duì)真實(shí)流量分類的準(zhǔn)確率進(jìn)行比較。
本文設(shè)計(jì)的欺騙流量對(duì)抗樣本生成算法的時(shí)間復(fù)雜度主要由三部分組成,分別為流量數(shù)據(jù)集的預(yù)處理(包括特征值提取、格式轉(zhuǎn)換和歸一化處理)、卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試,以及欺騙對(duì)抗流量的生成。其中,流量數(shù)據(jù)集的預(yù)處理部分的時(shí)間復(fù)雜度與流量數(shù)據(jù)集的特征的種類數(shù)量有關(guān),本文將特征值視為圖像的像素值,特征的種類數(shù)量為流量可視化后圖像橫縱像素?cái)?shù)量的乘積,如本文中使用的流量數(shù)據(jù)集具有248個(gè)特征,將流量數(shù)據(jù)可視化后形成16×16的圖像(248個(gè)特征外的用0補(bǔ)足),假設(shè)流量特征的數(shù)量為f,形成的可視化流量圖像的大小為x2,因?yàn)閷?duì)圖像像素處理的時(shí)間復(fù)雜度為則預(yù)處理的時(shí)間復(fù)雜度為,即該部分的時(shí)間復(fù)雜度與流量特征的數(shù)量呈線性關(guān)系。卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試部分的時(shí)間復(fù)雜度為
其中,l是神經(jīng)網(wǎng)絡(luò)的第l個(gè)卷積層;d是神經(jīng)網(wǎng)絡(luò)的深度;m是每個(gè)卷積核輸出特征圖的邊長(zhǎng);s是每個(gè)卷積核的邊長(zhǎng);n是每個(gè)卷積核的通道數(shù),即輸入通道數(shù)。對(duì)于欺騙對(duì)抗流量生成部分,由于其與卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練和測(cè)試部分同時(shí)進(jìn)行,時(shí)間消耗遠(yuǎn)小于卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練和測(cè)試所需要的時(shí)間。因此,在流量數(shù)據(jù)集特征數(shù)量一定的情況下,O(f)可忽略不計(jì),算法1的時(shí)間復(fù)雜度為
圖4 攻防場(chǎng)景
本文構(gòu)建如圖4所示的攻防場(chǎng)景。假設(shè)攻擊者能夠觀測(cè)到2個(gè)主機(jī)節(jié)點(diǎn)之間的不同應(yīng)用的flow級(jí)流量,使用基于深度學(xué)習(xí)的分類模型進(jìn)行流量分類以發(fā)起進(jìn)一步攻擊;防御者使用本文提到的欺騙流量對(duì)抗樣本生成方法,在正常流量中添加不同的擾動(dòng),從而使攻擊者在進(jìn)行流量分類攻擊時(shí)出現(xiàn)分類錯(cuò)誤,達(dá)到欺騙的目的。
實(shí)驗(yàn)環(huán)境和參數(shù)如表4所示。
表4 實(shí)驗(yàn)環(huán)境和參數(shù)
本文使用的數(shù)據(jù)集為流量分類常用的Moore數(shù)據(jù)集[31],作為圖4中攻擊者觀測(cè)到的flow級(jí)流量。該數(shù)據(jù)集收集了2003年8月20日某大學(xué)1 000多名研究人員和工作人員使用的千兆以太網(wǎng)鏈路上的流量數(shù)據(jù),通過(guò)抽樣算法從每一條完整的 TCP雙向流抽樣得到377 526條網(wǎng)絡(luò)樣本,包含248項(xiàng)屬性,這些屬性作為3.1節(jié)中攻擊者模型的特征集合X。經(jīng)人工分類,將每個(gè)flow分類為12類應(yīng)用類別中的某一類,其格式如圖5所示,應(yīng)用類別信息如表5所示。本文實(shí)驗(yàn)中使用65 036條記錄作為訓(xùn)練集,23 081條記錄作為測(cè)試集,對(duì)應(yīng)攻擊者模型中的正常流量TF。
Moore數(shù)據(jù)集是arff文件格式,需要對(duì)其按算法1進(jìn)行預(yù)處理和格式轉(zhuǎn)換TransArfftoIDX。首先,將arff文件中的每一條流量記錄按圖5格式讀出,前248項(xiàng)特征值作為正常流量,最后一項(xiàng)所屬應(yīng)用分類作為其對(duì)應(yīng)的標(biāo)簽值。其次,為消除流量之間的量綱關(guān)系,使數(shù)據(jù)之間具有可比性,對(duì)數(shù)據(jù)集所有流量的每一項(xiàng)特征進(jìn)行數(shù)值歸一化。最后,歸一化后的流量記錄有248項(xiàng)特征,將其構(gòu)建為16×16的矩陣,矩陣的后8行和后8列填充0。將構(gòu)建后的矩陣元素作為像素點(diǎn),元素值即為像素灰度值,可以用16×16的灰度圖像可視化流量。圖6(a)為不同應(yīng)用的流量可視化;圖6(b)分為4組,即Web、attack、FTP-data、email,每一組為同一應(yīng)用但不同記錄的流量的可視化,不同種類流量之間的可視化效果區(qū)分度比較明顯。
表5 Moore數(shù)據(jù)集應(yīng)用類別信息
本文使用的攻擊者分類模型為L(zhǎng)eNet-5卷積神經(jīng)網(wǎng)絡(luò)模型,其包括輸入層、卷積層、池化層、卷積層、池化層、全連接層和輸出層,廣泛應(yīng)用于對(duì)網(wǎng)絡(luò)流量應(yīng)用的分類[32]。本文根據(jù)文獻(xiàn)[33]改進(jìn)LeNet-5卷積神經(jīng)網(wǎng)絡(luò)模型,如圖7所示,參數(shù)如表6所示。輸入層設(shè)計(jì)為16×16矩陣,與可視化后的流量相對(duì)應(yīng);輸出層為12個(gè)神經(jīng)元,與分類結(jié)果相對(duì)應(yīng),即3.1節(jié)攻擊者模型的應(yīng)用類型集合C。
圖5 Moore數(shù)據(jù)集流量記錄的格式
圖6 不同應(yīng)用類型的流量可視化和相同應(yīng)用不同記錄的流量可視化
圖7 改進(jìn)的LeNet-5卷積神經(jīng)網(wǎng)絡(luò)模型
表6 LeNet-5網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)及參數(shù)
本節(jié)根據(jù)算法1和3種生成擾動(dòng)的方法,在訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)模型基礎(chǔ)上按照生成的3種擾動(dòng)形成防御者模型的欺騙流量TD,以Web應(yīng)用為例,不同方法生成的擾動(dòng)如圖8所示。圖8(a)為Web應(yīng)用原始流量不同記錄的可視化圖像,圖8(b)~圖8(c)為不同擾動(dòng)生成方法產(chǎn)生擾動(dòng)后疊加到原始流量形成的欺騙流量的可視化圖像。從圖8可以非常直觀地發(fā)現(xiàn),增加擾動(dòng)后的欺騙流量與原始真實(shí)流量的可視化區(qū)別,且采用FGSM生成的樣本需要的擾動(dòng)最明顯。
實(shí)驗(yàn)結(jié)果的評(píng)價(jià)指標(biāo)包括以下兩部分:1)分類欺騙率,包括總體欺騙率(GFR,general fooling rate)和單類欺騙率(SCFR,single classification fooling rate);2)欺騙流量對(duì)抗樣本生成時(shí)間(DFSCT,deception flow sample crafting time)。相關(guān)計(jì)算式如下。
圖8 不同方法生成的擾動(dòng)
其中,Acci是第i類樣本的分類準(zhǔn)確率,GAcc是測(cè)試樣本的整體分類準(zhǔn)確率,TPi是實(shí)際類型為i的樣本中被分類模型正常預(yù)測(cè)的樣本數(shù),F(xiàn)Ni是實(shí)際類型為i的樣本被分類模型誤判為其他模型的樣本數(shù),m=12表示共有12類??傮w欺騙率、欺騙流量對(duì)抗樣本生成時(shí)間如表7所示。
表7 不同方法的總體欺騙率和欺騙流量對(duì)抗樣本生成時(shí)間
未生成欺騙流量之前,攻擊者利用LeNet-5對(duì)真實(shí)網(wǎng)絡(luò)流量進(jìn)行分類的準(zhǔn)確率為99.04%。針對(duì)3種不同的擾動(dòng)生成方法,其對(duì)應(yīng)的模型訓(xùn)練準(zhǔn)確率、測(cè)試準(zhǔn)確率和總體欺騙率如圖9所示,可以看出,實(shí)施算法1之后,不論使用哪種擾動(dòng)生成方法,流量的應(yīng)用類型被錯(cuò)誤分類的概率大大提高,以FGSM方法為例,攻擊者使用LeNet-5對(duì)生成的欺騙網(wǎng)絡(luò)流量進(jìn)行分類時(shí)錯(cuò)誤率達(dá)到了99%以上。
圖9 不同方法的訓(xùn)練準(zhǔn)確率、測(cè)試準(zhǔn)確率和總體欺騙率對(duì)比
根據(jù)式(5),統(tǒng)計(jì)3種擾動(dòng)生成方法對(duì)應(yīng)的單類欺騙率和欺騙后的分類分布,如表8所示。
表8中,本文選擇了樣本數(shù)量前5位的流量應(yīng)用,分類分布中描述了原始流量被分類成不同流量的分布情況,以Web流量為例,在使用FGSM時(shí),22%被誤分為email類,74%被誤分為其他類,其他類為數(shù)據(jù)集中Web、email、FTP-control、FTP-pasv、attack之外的7類流量,對(duì)Web而言,其主要被誤分為了其他中的P2P類。
以C&W方法為例,圖10表示了各類流量應(yīng)用生成的欺騙流量樣本及被欺騙后的分類情況,圖10(a)表示不同的原始流量,圖10(b)表示C&W方法產(chǎn)生的擾動(dòng),圖10(c)表示形成的欺騙流量對(duì)抗樣本,圖10中的數(shù)字表示被欺騙后的錯(cuò)誤分類的標(biāo)簽與比例。
從上述實(shí)驗(yàn)結(jié)果可以得出以下結(jié)論。1)針對(duì)LeNet-5卷積神經(jīng)網(wǎng)絡(luò)模型,算法1選用的不同的擾動(dòng)生成方法均起到了很好的欺騙效果,其中FGSM的欺騙效果最好但生成對(duì)抗樣本的時(shí)間最長(zhǎng),DeepFool方法的欺騙效果和生成時(shí)間居中,而C&W方法的欺騙效果不好但生成樣本的時(shí)間最短,原因是流量分類的欺騙過(guò)程不像對(duì)抗圖像分類過(guò)程那樣對(duì)添加的擾動(dòng)有嚴(yán)格的約束,不必形成“肉眼不可見”的擾動(dòng)。2)從對(duì)數(shù)據(jù)集的總體欺騙率來(lái)看,F(xiàn)GSM和DeepFool方法顯示出很高的對(duì)抗性,主要因?yàn)檫@2種方法是針對(duì)非特定目標(biāo)的對(duì)抗樣本生成,而C&W方法雖然在圖像分類中具備針對(duì)特定目標(biāo)進(jìn)行欺騙的能力,但對(duì)非特定目標(biāo)的欺騙能力相對(duì)其他2種方法略差。3)對(duì)比不同擾動(dòng)方法生成的欺騙流量對(duì)抗樣本可知,采用FGSM生成的樣本需要的擾動(dòng)明顯多于采用DeepFool和C&W方法生成的樣本所需擾動(dòng),驗(yàn)證了DeepFool和C&W方法所生成擾動(dòng)的細(xì)微性。4)從對(duì)流量的單類欺騙率來(lái)看,雖然3種方法的欺騙效果不同,但3種方法在將流量類型錯(cuò)誤歸類的趨勢(shì)上大體相同,比如Web類和P2P類之間被錯(cuò)分的概率較大,services類被誤分為database的概率較大,3種FTP類之間被錯(cuò)分的概率較大,這些都反映了流量種類之間的相似程度。
表8 不同方法的單類欺騙率與分類分布情況
圖10 C&W方法對(duì)各類流量應(yīng)用生成的欺騙流量樣本與分類情況
本文首先介紹了流量分類領(lǐng)域的研究現(xiàn)狀,從防御者的角度,針對(duì)攻擊者可能實(shí)施的流量分類攻擊,在基于相關(guān)研究的基礎(chǔ)上引入對(duì)抗樣本的概念,提出了一種基于對(duì)抗樣本的欺騙流量生成方法。然后,分別描述了攻擊者和防御者模型,以3種常見的擾動(dòng)生成方法進(jìn)行實(shí)驗(yàn),將LeNet-5卷積神經(jīng)網(wǎng)絡(luò)作為攻擊者的分類模型,采用流量可視化的方法將正常網(wǎng)絡(luò)流量轉(zhuǎn)換為灰度圖像,分別形成3種不同的欺騙流量對(duì)抗樣本,對(duì)目標(biāo)模型實(shí)施了欺騙。實(shí)驗(yàn)驗(yàn)證了所提方法的可行性。在將來(lái)的工作中,本文將針對(duì)以下3個(gè)方面進(jìn)行更進(jìn)一步的研究:1)利用對(duì)抗樣本的其他方法生成具有更高欺騙率的欺騙流量對(duì)抗樣本,針對(duì)更復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)進(jìn)行欺騙;2)充分考慮生成欺騙流量對(duì)抗樣本時(shí)的約束條件,研究針對(duì)特定目標(biāo)的欺騙流量生成;3)驗(yàn)證欺騙流量對(duì)抗樣本對(duì)不同分類模型的遷移性,發(fā)現(xiàn)不同深度神經(jīng)網(wǎng)絡(luò)抵抗欺騙流量的穩(wěn)健性。