999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于人工蜂群算法的Tor 流量在線識別方法

2021-11-18 02:18:50梁曉萌
計算機工程 2021年11期
關鍵詞:分類特征實驗

梁曉萌,嚴 明,2,吳 杰,2

(1.復旦大學 計算機科學技術學院,上海 200433;2.教育部網絡信息安全審計與監控工程研究中心,上海 200433)

0 概述

流量識別技術是網絡運營商用以對流量進行監控的重要手段。近年來,互聯網產業的發展使得用戶能夠在加密自身信息元素的情形下對網絡進行訪問,因此,及時、準確的流量特征的反饋,已經成為運營商能夠成功進行流量監控、網絡監管的重要挑戰之一。

國內外學者對Tor 匿名加密流量[1]的識別與分類進行了研究。CHAKRAVARTY 等[2]提出一種針對Tor 網絡的攻擊,目的是暴露客戶端的身份(IP 地址),并給出一種主動流量分析攻擊方法,在服務器端(串通服務器)故意干擾用戶流量。根據統計相關性觀察到在客戶端也存在類似的干擾,該方法在實驗室測試中達到100% 的準確率,實際實驗超過81%。HE 等[3]提出一種基于HMM(Hidden Markov Models)的方法,將加密的Tor 流量分為P2P、FTP、IM 和Web(其他情況未知)4 類。作為分類器(特征),使用從Tor 流中提取的burst 體積和方向,并運用HMM 構建不同應用程序類型(P2P、FTP、IM 和Web)的模型。HABIBI 等[4]提出一種基于時間分析方法來提取匿名加密流量特征,實驗結果表明,僅通過時間特征可以有效地檢測出加密流量的類別,且流量的時間越短,識別率越高。該方法在不同的算法分類下的識別率范圍為70%~90%,但其提取的特征無法做到實時性。PAN 等[5]對深度學習在信息安全領域的優勢做出了評判,對于大型數據集,基于深度學習的分類器通常優于其他分類器,并且可以針對相似類型的應用程序進行推廣。例如,如果需要訓練檢測使用Tor 的應用程序,那么只需要重新訓練輸出層,而其他所有層可以保持不變。對于其他機器學習分類器,則需要在整個數據集上重新訓練。

在已有研究中可以發現,很多研究通過從流中提取特征,但是很少有研究能夠實時提取,以便及時識別分類Tor 等匿名加密流量的特征。本文將流量劃分為不同的類型,每種類型的流量來自于不同的應用業務,如從Hangouts、Facebook 和Skype 中獲取的VoIP 流量。在當前使用機器學習模型進行匿名加密流量處理的研究中,流量訓練往往對設備性能要求過高,訓練時間較長,不適合研究者進行實驗測試。本文設計一種實時流量檢測工具,并提出一種結合人工蜂群機制的基于深度學習的改進邏輯回歸方法。該方法運用文獻[4]公開的流量數據集,根據Whonix[6]操作系統,配置Tor 網絡路由獲取流量,從而得到對應的數據。

1 算法設計

1.1 特征選擇及提取

為方便快捷地計算特征值,本文使用golang 語言,并參考使用谷歌的gopacket 包[7],gopacket 包構建在libpcap[8]上,可以采集網絡中的流量信息。本文通過匹配seq、ack 號聚合數據包為一條數據流。

對于Tor 等類型的匿名加密流量,源IP、源端口等TCP 字段是無法區分流量類型的,需要找到這些流量與非加密流量的區別。本文考慮2 種選擇特征的方法:一是測量基于時間的特征,如2 條連續數據包之間的間隔時間[9];二是控制時間測量其他變量,如1 s 內數據包數量[10]。本文選擇了能夠在線實時提取的特征,如表1 所示。

表1 初步特征選擇Table 1 Selection of preliminary feature

以上特征與最終的流量識別、分類結果相關性各不相同,且實時流量分析需要盡可能少的數據提取,因此需要篩選出相關性最高的幾個特征。在特征篩選方面,本文使用過濾的方法提取特征,在此之前需要將數據進行預處理。

1)在計算各類特征值的過程中,有些數據流由于捕獲不全、數據異常等原因,無法作為自變量帶入神經網絡中進行運算,因此需要對某些無法計算的特征進行數據人工處理。對于計算后得出NaN 的字段,將該值處理為-1e20;對于計算后得出infinity 的字段,將該值處理為1e20。

2)需要將數據進行標準化。本文使用Max-Min算法,將所有特征值進行線性變換,映射到區間[0,1]內,對于每一種特征序列x1,x2,…,xn,標準化處理公式如式(1)所示:

3)本文選擇Pearson 相關系數對各個特征與分類結果的相關性進行檢驗,Pearson 相關系數計算公式如式(2)所示[11]:

其中:x為某一個樣本的特征值。通過計算每一個特征在所有分類結果中的Pearson 總值,即若流量總共有n種可能被識別、分類的結果,并分別記錄在每一個識別、分類結果中,該特征在所有樣本中的x值和平均值,并根據 式(2)計算出ri(i=1,2,…,n),r=對于流量識別實驗,本文設定Tor 流量的標簽y為1,非Tor 流量的標簽y為0;對于流量分類實驗,本文設置8 個分類結果標簽Y={y1,y2,…,y8,},yi為1表示它屬于第i種流量,yi為0 表示它不屬于第i種流量。Pearson 相關系數的絕對值越大,說明這個特征與分類結果的相關性越強。本文最終選取相關系數絕對值最大的5 個特征作為本文工具(ABC-LR)用來進行流量識別、分類的特征。

1.2 基于深度學習的邏輯回歸模型

給定一組訓練集{(x1,y1)(,x2,y2),…(,xn,yn)},邏輯回歸模型按式(3)進行分類:

由于本文實驗為多分類,因此當多個類別的概率高于0.5 時,選取概率最高的類別作為結論。

在神經網絡的邏輯回歸模型[12]設計中,本文使用m層全連接網絡[13],每層分為線性層[14]和激活層[15],線性層包括線性變換權重和偏置:

其中:weight 為權重;bias 為偏置;out 為該網絡神經元個數;in 為前一層網絡神經元個數。使用ReLu()函數作為激活函數將其線性單元進行修正,這樣可以做到一次非線性變換。在輸出層,首先使用Linear()函數將從最后一層隱藏層[16]映射到輸出,再使用激活函數將輸出映射到(0,1)之間,用于對接分類任務。

對于m層全連接網絡和分類輸出層,公式表示分別如式(7)~式(9)所示:

其中:X是從數據流中抽取的特征,是一個n維向量;Hi是隱藏層,為hi維向量;Wi是hi×hi-1的參數矩陣;bi是hi維的貝葉斯偏置向量;Wout是輸出層1×hm的參數矩陣;bout是輸出層的貝葉斯偏置值;ReLu 和σ為激活函數。

對于一條數據流,它屬于某一類流量和非該類流量的概率分別如式(10)和式(11)所示:

本文使用邏輯回歸模型進行分類,即激活函數σ選擇sigmoid 函數。

輸入特征數、層數、每一層的隱元數,網絡架構[17]如圖1 所示。

圖1 深度學習網絡架構Fig.1 Network architecture of deep learning

網絡輸出分類概率后,使用交叉熵損失函數計算損失值,如式(13)所示:

其中:yi表示該流是否屬于某一類流量,是正則化參數。

邏輯回歸模型的分類計算方法是通過最小化損失函數,即通過一個算法對參數w學習迭代優化,常見的方法是梯度下降方法,如式(14)所示,直至滿足終止條件(如收斂)為止。

其中:α為學習率,影響學習模型收斂到局部最小值的速度。

盡管梯度下降算法常用于學習模型的訓練,但是梯度下降并不能保證收斂到全局最優解,當損失函數不可導時無法使用。此外,由于每一個樣本都要計算微積分,當訓練樣本較大時,很容易導致服務器性能不夠、運算速度比較慢。若是使用隨機梯度下降法,則數據樣本不夠全面,導致分類結果不理想。基于此,本文研究設計一種加入人工蜂群機制的新學習方法。

1.3 損失函數迭代更新設計

人工蜂群算法[18]模擬了蜂群的智能覓食行為,它沒有關于函數和參數搜索空間的假設條件限制。在該算法中有3 種人工蜜蜂,分別是雇傭蜂、跟隨蜂以及偵查蜂。食物源的位置即為對應的解,食物源的花蜜量即為對應的解的適合度,人工蜂群機制具體算法如算法1 所示。

算法1ABC 算法

ABC 算法步驟如下:

1)設定參數:食物源即雇用蜂數量(SN)、最大循環數(MCN)、未被更新的極限次數(limit)。

2)利用下式生成初始食物源,并對這些解進行評估:

其中:xij是第i個解的第j個參數,i∈{1,2,…,SN},j∈{1,2,…,D},SN和D是食物源個數和優化參數個數;Rand(0,1)是區間(0,1)內均勻分布的隨機數;分別是第j個參數的上界和下界。

3)雇傭蜂階段:通過下式對每個解進行局部搜索,并進行貪婪選擇:

其中:φij是一個在區間[-1,1]之內均勻分布的隨機數,j∈{1,2,…,D},k∈{1,2,…,SN},均是隨機選取的索引,其中i≠k。

4)通過下式為每個解計算出一個與其質量成比例的概率值:

其中:fi是第i個解的適應度;max(f)是所有解中的最大適應度。

6)記錄最優解。

7)偵查蜂階段:檢查是否有要放棄的解,若有,則使用第2 步的公式生成一個新解。

8)重復第3 步~第7 步,直到達成終止條件。

在本文基于深度學習的邏輯回歸模型內,權重W和偏置b(包括式(8)與式(9)中的W和b參數)等參數對應于人工蜂群算法中食物源的位置。因此,首先由算法生成權重和偏置的初始值,隨后利用3 種蜂群對應的算法階段,計算出模型的損失函數,即式(13)最小(適應度最高)最佳的參數。

本文算法使用式(15)初始化wij(W、b)中每一個參數:

其中:wij表示第i個食物源,即第i個解,i∈{1,2,…,SN},SN為食物源個數,即本文算法可行解數量,需預先設定為固定值;rand(0,1)是區間(0,1)內均勻分布的隨機數;分別是式(8)W和b向量眾多參數中第j個參數的上界和下界,j∈{1,2,…,N},N是要優化的參數總數量,即|W|+|b|。

利用當前產生的參數值計算實際的分類效果與當前參數計算出的分類效果的差值,根據式(13),這個值由式(16)的適應度表示,對于每一條輸入流量是否為Tor 流量或某一類型流量的分類結果,適應度Ei由式(17)計算。這個適應度函數及誤差計算能夠使得本文模型更容易在搜索空間內找到適合的解。

其中:K是總共要分類的種類數量,對于流量識別實驗,K為2,表示是否為Tor 流量,對于流量分類實驗,K為流量類型數;M是輸入樣本數,yj∈{0,1},表示是否為該類型流量。通過3 種蜂群算法進行每輪迭代,直至滿足終止條件,迭代停止。

(1) 需求管理.新設備開發的動力往往來源于新的任務需求.需求的多樣化發展要求涉及團體將需求信息集中進行管理,包括需求轉換及需求信息統計分析等,根據客戶需求的趨勢性發展來指導新設備開發.

本文算法在雇傭蜂階段對內存中的每個解進行局部搜索,對于每個現存的解W、b,通過式(18)得到一個新的解:

對于每個解,本文只選擇第j個參數W、b進行修改,生成新的解,j∈{1,2,…,D}是隨機生成的,為提高收斂速度,本文利用式(19)進行貪婪選擇,Rij、MR為均勻分布的[0,1]區間之內隨機抽取的浮點數,但MR 在算法最初預先定義好,不再作更改。

當所有解完成該階段后,需要用式(20)確定是否有解參數W、b超出了預先設置好的參數邊界。

算法進入跟隨蜂階段后,根據每個解W、b的適應度選擇一個最優解,通過式(18)產生一個新解W、b,并在原有解和新解之間進行貪婪選擇。最后在偵查蜂算法階段,本文檢查每個解是否已被耗盡,即沒有被更新的次數是否超過了預先設置好的limit 值,若有解滿足被耗盡的條件,則認為這個解陷入了局部最優,因此,需要產生一個新解W、b替代這個原有解。直至算法滿足終止迭代條件后,本文選取適合度最高的解作為本文最終的解。

對于同一個解,由于W、b等參數的迭代優化不具有邏輯相關性,因此使用并行方式進行新解的計算,這使得本文算法在時間效率方面有極大的提升。

1.4 工具設計

基于1.2 節、1.3 節的計算結果,本文設計了一個旁路式的Tor流量實時識別、分類工具,將上述算法、模型應用到現實流量監管場景中。本工具既提供了Netflow[19]、nProb[20]等網絡流量分析技術的接口,實現實時的高并發流量的測試統計,也可將具體的數據流通過交換機鏡像方式直接輸入到工具中,進行實時識別和分類。輸入流量只支持TCP 形式的數據流。

本工具包含流量輸入模塊、數據處理模塊、分類形式選擇模塊、在線測試模塊和結果輸出模塊,具體邏輯實現過程如圖2 所示。數據處理模塊以10 s為單位,自動提取出所需特征,并對每個特征進行數據預處理,即將空值或超過閾值的數據處理為可以放進工具中進行分類的數據;分類形式選擇模塊為想要選擇的分類模型,包括流量識別、流量分類2 種模式,工具會根據用戶所選擇的工作模式,提供對應的ABC-LR 算法所計算生成的特征參數;在線測試模塊能夠每10 s 檢測出先前10 s 讀取的數據是否為某一類流量。

圖2 在線流量識別系統流程Fig.2 Procedure of online traffic identification system

對于本文工具,如果需要訓練檢測使用Tor的應用程序,那么只需要重新訓練輸出層,更改識別算法即可。

2 實驗結果與分析

2.1 實驗環境

本文的實驗環境采用實驗室服務器,操作系統為CentOS Linux release 7.7.1908,內核為3.10.0-693.el7.x86_6,CPU 為Intel?Xeon?Gold 6242 CPU 2.8 GHz 16cor,內存為128 GB。

實驗數據使用了文獻[2]公開的網絡數據集。該數據集分為2 個部分:一部分是利用校園網抓包獲取的已分好類別的Tor 和非Tor 數據包;另一部分是包含來自18 個代表性應用程序(如facebook、skype、spotify、gmail 等)的8 種類型的Tor 流量(瀏覽、聊天、音頻流、視頻流、郵件、VOIP、P2P 和文件傳輸),基本能夠包含人們日常使用因特網生成的數據類型。本文分別針對以上2 個數據集做流量識別、流量分類2 類實驗。

2.2 特征提取

本文實驗采用了直接將流量輸入工具的方法,將數據流量進行回放。

首先對1.1節列出的17個特征進行了相關度計算,由于實時識別、分類工具每10 s 輸出一次結果,因此本文在上述數據集基礎上,截取8萬余條時長為10 s的Tor/非Tor 數據流作為特征相關性判斷的樣本。在將數據進行如1.1 節所述的預處理后,2 個實驗的特征相關度結果分別如表2、表3 所示。根據特征提取所消耗的時間,本文將特征數量固定在5 個,以保證提取時長不超過10 s。最 終,本文選取了fpps_c2s、fat_min、at_c2s_min、at_s2c_std、fat_mean 等特征作為流量識別實驗的特征,fat_min、active、fat_mean、fat_std、at_s2c_std等特征作為流量分類實驗的特征,因為它們相關度的絕對值更大,相關性更高。

表2 流量識別特征相關度Table 2 Traffic identification feature correlation

表3 流量分類特征相關度Table 3 Traffic classification feature correlation

2.3 損失函數變化

在神經網絡設計中,取特征數n=5,層數m=3,第1 層隱元數量h1=30,第2 層隱元數量h2=30,第3 層隱元數量h3=30。

在本文實驗中,隨機選取80%的數據作為訓練集,剩余的20%數據作為測試集。最大循環數MCN 設置為500,在使用本文實驗算法(ABC-LR)時,損失函數變化如圖3 所示,可見該算法對于基于深度學習的邏輯回歸算法損失函數收斂是具有效果的。

圖3 ABC-LR 算法下損失函數變化Fig.3 Change of loss function under ABC-LR algorithm

2.4 不同算法下的精確率和召回率

為證明本文實驗算法的準確率,將該算法與邏輯回歸(LR)、隨機森林、KNN 做對比,如圖4~圖6 所示。邏輯回歸算法不包含本文算法中的神經網絡結構,使用隨機梯度下降法作為參數迭代算法,最終根據參數與特征的計算將流量進行多分類;隨機森林算法從原始數據集中抽樣選取子數據集,通過構建多個決策樹對流量進行識別和分類;KNN 算法通過查找每個數據最相似的數據結果來確定這條數據的類別。本文實驗以精確率、召回率作為衡量指標,其中,精確率為正確預測為正的占全部預測為正的比例,召回率為正確預測為正的占全部實際為正的比例。

圖4 不同算法流量的識別精確率與召回率Fig.4 Identification accuracy rate and recall rate of different algorithms traffic

圖5 不同算法流量的分類精確率Fig.5 Classification accuracy rate of different algorithms traffic

圖6 不同算法流量的分類召回率Fig.6 Classification recall rate of different algorithms traffic

由實驗數據可知,本文算法(ABC-LR)相比起一些其他常見的有監督學習算法,準確性更高。在流量識別實驗中,精確率和召回率分別達到了90%、92%左右;而在流量分類實驗中,各類應用程序流量的分類精確率、召回率平均達到了90%左右。

2.5 不同迭代算法的計算時間及準確率

為證明本文迭代算法的準確性以及對于計算大量數據的適合性,本實驗選取了8 萬余條時長為10 s的數據流,其中包含8 種應用類型的Tor/非Tor 流量作為實驗數據。在參數的迭代計算中,分別使用梯度下降算法以及本文算法(ABC-LR)。首先計算出8 萬余條數據流的5 種特征值,并對數據進行清洗和預處理,統一初始化參數,只統計從特征輸入到分類結束的時長。統計指標準確率的數值為分類正確的數據流數量與總數據流數量的比值,如表4 所示。

表4 ABC-LR 與梯度下降的處理時間及準確率Table 4 Processing time and accuracy of ABC-LR and gradient descent in traffic identification

通過表4 可以看出,相比梯度下降,本文算法(ABC-LR)對于大量流量的處理更具有適合性,同時準確率也更高。

2.6 工具檢測

為了檢測本文所設計的基于ABC-LR 算法的流量識別、分類工具是否能夠實時、準確地輸出較高流量的狀態,本實驗將網絡吞吐率設置在10 000 pps,工具每10 s 會對進入系統的流量進行一次分類。當系統開啟后,如在08:00:00 時刻,會輸出07:59:50-08:00:00 出現的所有數據流的種類。本文對2 類數據均做了實時有效性實驗。由圖7 和圖8 數據可知,本文工具可以實時對匿名流量進行識別及分類,并達到90%以上的精確率及召回率。

圖7 基于ABC-LR 算法工具長時間流量識別精確率與召回率Fig.7 Accuracy rate and recall rate of long time traffic identified based on ABC-LR algorithm tool

圖8 基于ABC-LR 算法工具長時間流量分類精確率與召回率Fig.8 Accuracy rate and recall rate of long time traffic classification based on ABC-LR algorithm tool

3 結束語

本文提出一種基于人工蜂群算法的Tor 流量在線識別方法,通過計算特征匹配度篩選出適合實時提取的特征,將深度學習與流量分類相結合,構造基于邏輯回歸的神經網絡模型。對于模型迭代方式,設計加入人工蜂群機制的回歸模型,融入人工蜂群機制計算消耗小、對特征數據關聯性敏感度低的特性。此外,基于以上算法模型開發一種在線實時進行Tor 等匿名流量分類識別的工具,既可獨立使用,也可結合已有系統配合使用。實驗結果表明,本文算法及工具解決了傳統算法存在的各類問題,大幅提高了識別準確率。由于本文所選數據集來自高校學生日常使用流量數據,因此下一步考慮將研究范圍擴大至整個社會領域,獲取更多職業的人群Tor 流量使用數據,從而驗證本文工具的準確性。

猜你喜歡
分類特征實驗
記一次有趣的實驗
分類算一算
如何表達“特征”
做個怪怪長實驗
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
抓住特征巧觀察
NO與NO2相互轉化實驗的改進
主站蜘蛛池模板: 成人精品免费视频| 久久精品人人做人人综合试看| 久久国产成人精品国产成人亚洲| 国产乱码精品一区二区三区中文| 国产丝袜91| 久久9966精品国产免费| 久久久久青草大香线综合精品 | 91人人妻人人做人人爽男同| 国产在线视频欧美亚综合| 青草视频在线观看国产| 青青久久91| 国产亚卅精品无码| 国产精品无码一区二区桃花视频| 88国产经典欧美一区二区三区| 亚洲人成亚洲精品| 久久久无码人妻精品无码| 亚洲va在线∨a天堂va欧美va| 日韩在线中文| 国产v精品成人免费视频71pao| 国产精品国产三级国产专业不| 一区二区三区在线不卡免费| 91在线播放免费不卡无毒| 99精品一区二区免费视频| 久久久久免费看成人影片| 91黄视频在线观看| 99久久性生片| 亚洲第一色网站| 成年人午夜免费视频| 久久综合干| 欧美亚洲一二三区| 欧美97色| 亚洲天堂2014| 亚洲中文字幕无码爆乳| 久久亚洲综合伊人| 久久夜色撩人精品国产| 亚洲人网站| 亚洲天堂色色人体| 成色7777精品在线| 精品伊人久久久香线蕉| 国产精品亚洲日韩AⅤ在线观看| h视频在线播放| 日韩视频精品在线| 在线人成精品免费视频| 丁香婷婷激情综合激情| 成人久久18免费网站| 中文字幕1区2区| 天天综合网亚洲网站| 欧美中日韩在线| 亚洲第一页在线观看| 国产成人综合亚洲网址| 午夜在线不卡| 中文字幕人妻无码系列第三区| 97视频精品全国在线观看| 国产欧美亚洲精品第3页在线| 亚洲日韩Av中文字幕无码| 88av在线播放| 国产成人久久777777| 日本91视频| 久久人搡人人玩人妻精品一| 免费观看三级毛片| 国产成人综合亚洲欧洲色就色| 潮喷在线无码白浆| 亚洲综合九九| 免费亚洲成人| 999精品视频在线| 国产午夜福利亚洲第一| 一本无码在线观看| 亚洲高清在线天堂精品| www.亚洲天堂| 国产精品开放后亚洲| 毛片免费试看| 国产91精品调教在线播放| 综合久久五月天| 国产女人在线视频| 国产精品不卡片视频免费观看| 99这里精品| 亚洲天堂色色人体| 欧美一级在线看| 久久综合婷婷| 四虎成人精品在永久免费| 四虎国产精品永久一区| 国产一区二区人大臿蕉香蕉|