?

基于對抗樣本的網絡欺騙流量生成方法

2020-10-11 03:07胡永進郭淵博馬駿張晗毛秀青
通信學報 2020年9期
關鍵詞:網絡流量攻擊者擾動

胡永進,郭淵博,馬駿,張晗,2,毛秀青

(1.信息工程大學密碼工程學院,河南 鄭州 450001;2.鄭州大學軟件學院,河南 鄭州 450000)

1 引言

網絡流量分類技術作為增強網絡可控性的基礎技術之一,在幫助研究人員了解流量分布、優化網絡傳輸、提高網絡服務質量的同時,也常被攻擊者用于對目標網絡流量進行監控,攻擊者通過對網絡流量進行分類確定其所屬的應用類型(如郵件類、多媒體類、網站類等),進而根據分類結果實施流量攔截并可進一步實施網站指紋攻擊。尤其是隨著機器學習和深度學習被用于網絡流量分類領域[1],基于它們的網絡流量分類技術為攻擊者提供了更便利的條件,往往能獲得極高的分類準確率。一種典型的攻擊者使用基于深度學習的網絡流量分類方法實施攻擊的場景如圖1所示。雖然深度學習在流量分類領域的應用可以提高分類的準確率,并且已經在圖像識別、自然語言處理等多個領域展現了巨大的潛力,但隨著Szegedy等[2]在計算機視覺領域中提出了對抗樣本這一概念,對抗包括卷積神經網絡(CNN,convolutional neural network)在內的深度學習模型引起了學者們的興趣。

圖1 攻擊者使用基于深度學習的網絡流量分類方法實施攻擊

Szegedy等[2]在研究圖像識別時發現,當對學習模型的輸入樣本添加一些人眼無法察覺的細微干擾時,會導致模型以高置信度給出一個錯誤的輸出。針對深度學習模型,在原數據集中添加細微擾動所形成的樣本被稱為對抗樣本。從攻擊的角度,對抗樣本在計算機視覺領域應用最直接,例如在人臉識別、自動駕駛等方面,攻擊者可以通過添加人眼無法識別的擾動引發圖像識別的分類錯誤,造成人臉識別或交通標志識別失敗[3];在信息安全領域,欺騙基于神經網絡的惡意軟件檢測模型,從而逃避檢測[4]。從防御的角度,對抗樣本也具有非常高的價值,主要表現在以下兩點:第一點是可以針對深度學習模型提前生成對抗訓練樣本,提高模型的穩健性以應對可能的對抗樣本攻擊[5];第二點是可以針對攻擊者使用的深度學習模型,利用對抗樣本欺騙其攻擊模型,造成攻擊的不確定性,并提高攻擊成本,使攻擊者延緩或取消攻擊。本文從對抗樣本防御價值的第二點出發,針對攻擊者的網絡流量分類攻擊,通過增加擾動生成網絡流量的對抗樣本,從而形成網絡欺騙流量,引發攻擊者的流量分類錯誤。

本文應用對抗樣本的概念應對攻擊者發起的網絡流量分類攻擊,采用3種典型的擾動生成方法形成欺騙流量對抗樣本,對攻擊者采用的基于深度學習的流量分類攻擊模型進行欺騙,造成其分類錯誤,從而導致攻擊失敗。首先,將對抗樣本的概念應用于主動防御中的網絡欺騙流量研究,對比不同的對抗樣本的欺騙效果;其次,與攻擊者通過對抗樣本實施攻擊相反,本文以對抗樣本為防御手段欺騙攻擊者的分類模型,可以看作主動防御中的“防中有攻”;最后,針對LeNet-5深度卷積神經網絡分類模型,即在攻擊者分類模型已知(白盒)的條件下進行實驗,驗證對抗樣本在流量分類中的效果。

2 相關工作

2.1 流量分類

根據網絡流量的顆粒度,對網絡流量分類的研究主要針對表1所示的3個層面[6]。

表1 網絡流量分類中的研究對象

在上述3個層面的流量分類中,flow級的網絡流量是流量分類使用最廣泛的對象,其基本思想如圖2所示。本文以flow級的流量作為原始數據,通過生成對抗流量樣本對攻擊者的流量分類進行欺騙,欺騙的目標是使用基于深度學習的分類模型的攻擊者?;谏疃葘W習的分類方法假設對于某些類別的應用,其網絡層的統計特征(如流持續時間的分布)是唯一的,使用決策樹、樸素貝葉斯、支持向量機、關聯規則學習、神經網絡、遺傳算法等方法構造分類模型,從而進行分類,具有使用場景廣、分類準確率高、能夠分類加密數據流量等特點。

圖2 flow級的網絡流量分類

基于機器學習的流量分類的主要思想是構建流量的統計屬性聯合作為指紋進行分類。文獻[7]將機器學習應用于流量分類,認為流的字節可以看作圖片中的像素,使用在圖像識別領域表現非常好的深度學習方法進行流量分類。文獻[8]融合特征提取、特征選擇和分類為一個端到端的框架,采用一階卷積神經網絡對不同行為的負載字節進行計算,構建指紋。文獻[9]利用匿名化網絡特性,采用長度序列和方向序列作為深度學習網絡,如SAE(stacked auto-encoder)、CNN、長短期記憶(LSTM,long short-term memory)網絡的輸入,從而分類訪問網頁。文獻[10]將表征學習的方法應用于惡意流量分類領域,將原始流量數據視為圖片,然后使用擅長圖片分類任務的卷積神經網絡執行分類,最終達到惡意流量分類的目的。這些研究證明了深度學習在流量分類上的可行性,同時為對抗基于深度學習的流量分類提供了方向。

在對抗或欺騙上述基于深度學習的流量分類的研究上,文獻[11]提出了加載背景流量的防御方法,并在TOR(the onion router)和JAP(Java anonymous proxy)上進行驗證;文獻[12]驗證了加密協議字節填充的加密流量分類對抗的效果;文獻[13]使用不同的真實流量作為訪問網站時的噪聲;文獻[14]提出了walkie-talkie以單工方式加載網站來混淆burst特征。上述研究主要通過修改流量的通信特征實現對抗,多聚焦于如何逃逸以避免被攻擊者發現,偽裝和欺騙的能力有限,對抗性不足。目前與本文最接近的研究是隱私保護領域的流量偽裝與混淆。其中,obfsproxy(obfuscated proxy)模糊代理軟件[15]使SSL(secure socket layer)或TLS(transport layer security)加密流量看起來像未加密的HTTP或即時通信流量;文獻[16]發布了TOR的傳輸層插件SkypeMorph,將TOR客戶端與網橋的通信流量填充到Skype視頻通話流量中,用于對抗流量統計分析;文獻[17]提出了黑盒分析流量分類規則,通過多次測試推斷流量分析識別規則,從而修改通信數據分組進行逃逸。但這些研究均未將對抗樣本的概念應用到對抗流量分析的研究中,也沒有將其作為防御者的一種欺騙防御方法進行討論,本文重點研究了這一問題。

2.2 對抗樣本

生成對抗樣本的關鍵在于計算和生成對抗擾動。在計算機視覺領域,擾動需要滿足添加到原始圖像后人眼不可見并可迷惑原有分類模型的要求。本文中,針對流量分類模型的欺騙,雖然生成的擾動不必滿足“人眼不可見”的條件,但仍需要達到一定的條件(如帶寬要求等)。

多數工作主要研究了引發圖像分類模型的對抗擾動[18]。Szegedy等[2]發現了深度神經網絡在圖像分類領域存在的弱點,提出了對抗樣本的概念,并將對抗性擾動生成描述為優化問題。Goodfellow等[19]提出了一種最優的最大范數約束擾動的方法,稱為快速梯度符號法(FGSM,fast gradient sign method),以提高計算效率,并證明了神經網絡高維度線性是導致對抗樣本較好的根本原因。Kurakin等[20]提出了一種基本迭代方法,使用FGSM迭代地產生擾動。Moosavi-dezfooli等[21]發現圖像分類模型中存在與特定圖像無關的對抗性擾動,即通用擾動,這種通用擾動可以使分類模型對所有增加了該擾動的圖片分類錯誤。Athalye等[22]發現3D打印的真實世界中的物體也可以欺騙深度網絡分類器。Moosavi-dezfooli等[23]提出的DeepFool進一步提高了對抗性擾動的有效性。類似于文獻[21],Metzen等[24]為語義分割任務提出了通用對抗擾動(UAP,universal adversarial perturbation),擴展了Kurakin等[20]的迭代FGSM攻擊,更改了每個像素預測的標簽。Mopuri等[25]尋求數據獨立的通用擾動,不從數據分布中采樣,提出了一個新的無數據目標的算法來生成通用對抗擾動,稱為FFF(fast feature fool)算法。文獻[26]提出的GDUAP(generalizable data-free universal adversarial perturbations)算法改善了攻擊的效果,讓多個不同架構和參數分類模型產生錯誤分類,并證明了GDUAP算法在跨計算機視覺任務上的有效性。目前,除了研究對計算機視覺中的分類、識別任務的攻擊之外,研究者還在研究對其他領域和方向的攻擊,但未發現對網絡流量分類方向實施攻擊的研究。

3 安全模型

3.1 攻擊者模型

本文假設攻擊者能夠觀測到2個主機節點之間的flow級別的流量,并能夠提取數據分組大小、內部數據分組到達時間等流量的特征,通過使用這些流量對分類模型進行訓練以推斷防御者使用的應用類型,從而進行流量分類。根據文獻[27],建立攻擊者模型,具體描述如下。攻擊者企圖將觀測到的流量TF分類為應用類型集合C中的第i類,流量TF的特征集合為分類模型的分類函數為輸出值為屬于應用集合C中第i類的概率。相關符號定義與說明如表2所示。

3.2 防御模型

防御者依據流量TF通過生成擾動P形成欺騙流量TD。本文使用不同的生成方法計算不同的擾動,形成不同的欺騙流量TD,從中提取特征集合X′=,使攻擊者的分類函數的輸出原輸出不同,即攻擊者錯誤地將流量由第i類分類為第i'類。相關符號定義與說明如表3所示。

表2 攻擊者模型相關符號定義與說明

表3 防御者模型相關符號定義與說明

3.3 擾動的生成方法

文獻[28]將擾動生成方法分為全像素添加擾動和部分像素添加擾動,并在此基礎上又分為目標針對性和非目標針對性、黑盒測試和白盒測試、肉眼可見和肉眼不可見。結合流量分類的特點,本文采用的擾動生成方法為全像素添加擾動,在已知攻擊者使用分類器的參數和內部結構的情況下生成流量對抗樣本,欺騙攻擊者的分類器產生錯誤分類,不需要產生指定的錯誤分類類別?;谏鲜鎏攸c,本文使用的3種擾動生成方法如下。

1)FGSM

FGSM由Goodfellow等[19]提出,是生成對抗樣本的基本方法之一,其基于梯度下降原理通過在梯度方向上添加增量來誘導網絡對生成的圖片進行錯誤分類。擾動計算式為

其中,ε為限制擾動過大的約束條件,‖P‖<ε(不同的范數效果不同);為訓練神經網絡時的損失函數,θ為分類模型的參數,x和y分別為模型的輸入和輸入對應的正確標簽。為點x處損失函數的梯度方向,ε可看作在該方向上的偏移量級。

2)DeepFool方法

DeepFool方法是Moosavi-dezfooli等[23]提出的一種非針對目標的對抗樣本生成方法,對深度網絡有很強的對抗性和穩健性。其通過迭代計算生成最小規范對抗擾動,將位于分類邊界內的圖像逐步推到邊界外,直到出現錯誤分類。該方法生成的擾動比FGSM更小。假設分類器的分類函數為為權重,b為截距,可知其仿射平面為當在某一點x0加入擾動ρ形成的向量垂直于平面Γ,則加入的擾動最?。棣?)且符合迭代要求,如式(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)方法,其在范數l0、l2、l∞上均有較大改善。以l2范數為例,C&W方法如式(3)所示。

其中,擾動P由計算得到,tanh()函數利用優化將對抗樣本映射到[-∞,+∞];()Zx表示樣本x通過模型未經過softmax函數的輸出向量,表示欲錯誤形成的類別t的邏輯表示;表示分類i≠t的邏輯表示,表示分類錯誤最??;k表示可調節的超參數,控制生成的對抗樣本的置信度。

式(3)設置了一個特殊的損失函數來衡量輸出誤差,其由兩部分組成,保證所得擾動最小,保證生成的對抗樣本可使模型分類錯誤的那一類的概率更高。由于可以調節生成樣本的置信度,C&W方法可以生成強對抗樣本,增強了其對抗遷移性,具備實現黑盒攻擊的能力。

3.4 欺騙流量對抗樣本生成算法

基于上述分析與擾動生成算法,本文設計了欺騙流量對抗樣本生成算法,如算法1所示。

算法1流程如圖3所示。

算法1中首先需要對真實流量TF進行預處理和歸一化處理。預處理Preprocess(TF)利用不同的數據集對真實流量TF進行清洗,并提取TF的流量特征;參考圖像識別領域中對圖像數據的讀取格式,將流量數據集的數據格式轉化為圖像數據格式,通過TransArfftoIDX(TF)將流量數據集的數據格式由arff轉換為IDX格式;通過Normalize(TF)對數據集所有流量的每一項特征進行數值歸一化,消除流量數據集各個特征之間的量綱關系,使不同特征之間具有可比性,這樣就可以使用Reshape(TF)和Visualization(TF)將真實流量的各類特征值視為圖像的灰度值,進而以圖像的方式可視化。

圖3 算法1流程

接下來,對攻擊者選用的卷積神經網絡進行構建和訓練Training(TF,mode),使其能對可視化后的流量數據進行分類并測試分類的準確率;同時,選擇擾動生成方法,將訓練好的卷積神經網絡模型的結構和參數作為已知條件,產生各自的擾動CraftingPerturbation (method),與真實流量疊加后形成欺騙流量TD=Generate AdvSample(),并以可視化的方法比較欺騙流量和真實流量的區別;最后對生成的欺騙流量使用訓練的卷積神經網絡進行分類測試Evaluate(TD),并將測試結果與對真實流量分類的準確率進行比較。

本文設計的欺騙流量對抗樣本生成算法的時間復雜度主要由三部分組成,分別為流量數據集的預處理(包括特征值提取、格式轉換和歸一化處理)、卷積神經網絡的訓練和測試,以及欺騙對抗流量的生成。其中,流量數據集的預處理部分的時間復雜度與流量數據集的特征的種類數量有關,本文將特征值視為圖像的像素值,特征的種類數量為流量可視化后圖像橫縱像素數量的乘積,如本文中使用的流量數據集具有248個特征,將流量數據可視化后形成16×16的圖像(248個特征外的用0補足),假設流量特征的數量為f,形成的可視化流量圖像的大小為x2,因為對圖像像素處理的時間復雜度為則預處理的時間復雜度為,即該部分的時間復雜度與流量特征的數量呈線性關系。卷積神經網絡的訓練和測試部分的時間復雜度為

其中,l是神經網絡的第l個卷積層;d是神經網絡的深度;m是每個卷積核輸出特征圖的邊長;s是每個卷積核的邊長;n是每個卷積核的通道數,即輸入通道數。對于欺騙對抗流量生成部分,由于其與卷積神經網絡的訓練和測試部分同時進行,時間消耗遠小于卷積神經網絡訓練和測試所需要的時間。因此,在流量數據集特征數量一定的情況下,O(f)可忽略不計,算法1的時間復雜度為

4 實驗分析

圖4 攻防場景

本文構建如圖4所示的攻防場景。假設攻擊者能夠觀測到2個主機節點之間的不同應用的flow級流量,使用基于深度學習的分類模型進行流量分類以發起進一步攻擊;防御者使用本文提到的欺騙流量對抗樣本生成方法,在正常流量中添加不同的擾動,從而使攻擊者在進行流量分類攻擊時出現分類錯誤,達到欺騙的目的。

實驗環境和參數如表4所示。

表4 實驗環境和參數

4.1 數據集

本文使用的數據集為流量分類常用的Moore數據集[31],作為圖4中攻擊者觀測到的flow級流量。該數據集收集了2003年8月20日某大學1 000多名研究人員和工作人員使用的千兆以太網鏈路上的流量數據,通過抽樣算法從每一條完整的 TCP雙向流抽樣得到377 526條網絡樣本,包含248項屬性,這些屬性作為3.1節中攻擊者模型的特征集合X。經人工分類,將每個flow分類為12類應用類別中的某一類,其格式如圖5所示,應用類別信息如表5所示。本文實驗中使用65 036條記錄作為訓練集,23 081條記錄作為測試集,對應攻擊者模型中的正常流量TF。

4.2 預處理

Moore數據集是arff文件格式,需要對其按算法1進行預處理和格式轉換TransArfftoIDX。首先,將arff文件中的每一條流量記錄按圖5格式讀出,前248項特征值作為正常流量,最后一項所屬應用分類作為其對應的標簽值。其次,為消除流量之間的量綱關系,使數據之間具有可比性,對數據集所有流量的每一項特征進行數值歸一化。最后,歸一化后的流量記錄有248項特征,將其構建為16×16的矩陣,矩陣的后8行和后8列填充0。將構建后的矩陣元素作為像素點,元素值即為像素灰度值,可以用16×16的灰度圖像可視化流量。圖6(a)為不同應用的流量可視化;圖6(b)分為4組,即Web、attack、FTP-data、email,每一組為同一應用但不同記錄的流量的可視化,不同種類流量之間的可視化效果區分度比較明顯。

表5 Moore數據集應用類別信息

4.3 攻擊者分類模型

本文使用的攻擊者分類模型為LeNet-5卷積神經網絡模型,其包括輸入層、卷積層、池化層、卷積層、池化層、全連接層和輸出層,廣泛應用于對網絡流量應用的分類[32]。本文根據文獻[33]改進LeNet-5卷積神經網絡模型,如圖7所示,參數如表6所示。輸入層設計為16×16矩陣,與可視化后的流量相對應;輸出層為12個神經元,與分類結果相對應,即3.1節攻擊者模型的應用類型集合C。

圖5 Moore數據集流量記錄的格式

圖6 不同應用類型的流量可視化和相同應用不同記錄的流量可視化

圖7 改進的LeNet-5卷積神經網絡模型

表6 LeNet-5網絡的網絡結構及參數

4.4 生成擾動

本節根據算法1和3種生成擾動的方法,在訓練好的卷積神經網絡模型基礎上按照生成的3種擾動形成防御者模型的欺騙流量TD,以Web應用為例,不同方法生成的擾動如圖8所示。圖8(a)為Web應用原始流量不同記錄的可視化圖像,圖8(b)~圖8(c)為不同擾動生成方法產生擾動后疊加到原始流量形成的欺騙流量的可視化圖像。從圖8可以非常直觀地發現,增加擾動后的欺騙流量與原始真實流量的可視化區別,且采用FGSM生成的樣本需要的擾動最明顯。

4.5 實驗結果及分析

實驗結果的評價指標包括以下兩部分:1)分類欺騙率,包括總體欺騙率(GFR,general fooling rate)和單類欺騙率(SCFR,single classification fooling rate);2)欺騙流量對抗樣本生成時間(DFSCT,deception flow sample crafting time)。相關計算式如下。

圖8 不同方法生成的擾動

其中,Acci是第i類樣本的分類準確率,GAcc是測試樣本的整體分類準確率,TPi是實際類型為i的樣本中被分類模型正常預測的樣本數,FNi是實際類型為i的樣本被分類模型誤判為其他模型的樣本數,m=12表示共有12類??傮w欺騙率、欺騙流量對抗樣本生成時間如表7所示。

表7 不同方法的總體欺騙率和欺騙流量對抗樣本生成時間

未生成欺騙流量之前,攻擊者利用LeNet-5對真實網絡流量進行分類的準確率為99.04%。針對3種不同的擾動生成方法,其對應的模型訓練準確率、測試準確率和總體欺騙率如圖9所示,可以看出,實施算法1之后,不論使用哪種擾動生成方法,流量的應用類型被錯誤分類的概率大大提高,以FGSM方法為例,攻擊者使用LeNet-5對生成的欺騙網絡流量進行分類時錯誤率達到了99%以上。

圖9 不同方法的訓練準確率、測試準確率和總體欺騙率對比

根據式(5),統計3種擾動生成方法對應的單類欺騙率和欺騙后的分類分布,如表8所示。

表8中,本文選擇了樣本數量前5位的流量應用,分類分布中描述了原始流量被分類成不同流量的分布情況,以Web流量為例,在使用FGSM時,22%被誤分為email類,74%被誤分為其他類,其他類為數據集中Web、email、FTP-control、FTP-pasv、attack之外的7類流量,對Web而言,其主要被誤分為了其他中的P2P類。

以C&W方法為例,圖10表示了各類流量應用生成的欺騙流量樣本及被欺騙后的分類情況,圖10(a)表示不同的原始流量,圖10(b)表示C&W方法產生的擾動,圖10(c)表示形成的欺騙流量對抗樣本,圖10中的數字表示被欺騙后的錯誤分類的標簽與比例。

從上述實驗結果可以得出以下結論。1)針對LeNet-5卷積神經網絡模型,算法1選用的不同的擾動生成方法均起到了很好的欺騙效果,其中FGSM的欺騙效果最好但生成對抗樣本的時間最長,DeepFool方法的欺騙效果和生成時間居中,而C&W方法的欺騙效果不好但生成樣本的時間最短,原因是流量分類的欺騙過程不像對抗圖像分類過程那樣對添加的擾動有嚴格的約束,不必形成“肉眼不可見”的擾動。2)從對數據集的總體欺騙率來看,FGSM和DeepFool方法顯示出很高的對抗性,主要因為這2種方法是針對非特定目標的對抗樣本生成,而C&W方法雖然在圖像分類中具備針對特定目標進行欺騙的能力,但對非特定目標的欺騙能力相對其他2種方法略差。3)對比不同擾動方法生成的欺騙流量對抗樣本可知,采用FGSM生成的樣本需要的擾動明顯多于采用DeepFool和C&W方法生成的樣本所需擾動,驗證了DeepFool和C&W方法所生成擾動的細微性。4)從對流量的單類欺騙率來看,雖然3種方法的欺騙效果不同,但3種方法在將流量類型錯誤歸類的趨勢上大體相同,比如Web類和P2P類之間被錯分的概率較大,services類被誤分為database的概率較大,3種FTP類之間被錯分的概率較大,這些都反映了流量種類之間的相似程度。

表8 不同方法的單類欺騙率與分類分布情況

圖10 C&W方法對各類流量應用生成的欺騙流量樣本與分類情況

5 結束語

本文首先介紹了流量分類領域的研究現狀,從防御者的角度,針對攻擊者可能實施的流量分類攻擊,在基于相關研究的基礎上引入對抗樣本的概念,提出了一種基于對抗樣本的欺騙流量生成方法。然后,分別描述了攻擊者和防御者模型,以3種常見的擾動生成方法進行實驗,將LeNet-5卷積神經網絡作為攻擊者的分類模型,采用流量可視化的方法將正常網絡流量轉換為灰度圖像,分別形成3種不同的欺騙流量對抗樣本,對目標模型實施了欺騙。實驗驗證了所提方法的可行性。在將來的工作中,本文將針對以下3個方面進行更進一步的研究:1)利用對抗樣本的其他方法生成具有更高欺騙率的欺騙流量對抗樣本,針對更復雜的深度神經網絡進行欺騙;2)充分考慮生成欺騙流量對抗樣本時的約束條件,研究針對特定目標的欺騙流量生成;3)驗證欺騙流量對抗樣本對不同分類模型的遷移性,發現不同深度神經網絡抵抗欺騙流量的穩健性。

猜你喜歡
網絡流量攻擊者擾動
一類受隨機擾動的動態優化問題的環境檢測與響應
基于多元高斯分布的網絡流量異常識別方法
大數據驅動和分析的艦船通信網絡流量智能估計
基于增強型去噪自編碼器與隨機森林的電力系統擾動分類方法
帶擾動塊的細長旋成體背部繞流數值模擬
磁暴期間中國中低緯電離層不規則體與擾動分析
大數據環境下的網絡流量非線性預測建模
正面迎接批判
正面迎接批判
AVB網絡流量整形幀模型端到端延遲計算
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合