使用深度學習檢測TOR流量——本質上是在利用報文的時序信息、傳輸速率建模


from:https://www.jiqizhixin.com/articles/2018-08-11-11

可以通過分析流量包來檢測TOR流量。這項分析可以在TOR 節點上進行,也可以在客戶端和入口節點之間進行。分析是在單個數據包流上完成的。每個數據包流構成一個元組,這個元組包括源地址、源端口、目標地址和目標端口。

提取不同時間間隔的網絡流,並對其進行分析。G.He等人在他們的論文“從TOR加密流量中推斷應用類型信息”中提取出突發的流量和方向,以創建HMM(Hidden Markov Model,隱馬爾科夫模型)來檢測可能正在產生那些流量的TOR應用程序。這個領域中大部分主流工作都利用時間特征和其他特征如大小、端口信息來檢測TOR流量。

我們從Habibi等人的“利用時間特征來發現TOR流量的特點”論文中得到啟發,並遵循基於時間的方法提取網絡流,用於本文TOR流量的檢測。但是,我們的架構使用了大量可以獲得的其他元信息,來對流量進行分類。這本質上是由於我們已經選擇使用深度學習架構來解決這個問題。

四、數據實驗-TOR流量檢測

為了完成本文的數據實驗,我們從紐布倫斯威克大學的Habibi Lashkari等人[11]那里獲取了數據。他們的數據由從校園網絡流量分析中提取的特征組成。從數據中提取的元信息如下表所示:

 

 

表1:從[ 1 ]獲得的元信息參數

除了這些參數之外,其他基於流的參數也包括在內。圖4顯示了一個數據集的樣例。

圖4:本文使用的數據集實例

請注意,源IP/端口、目標IP/端口和協議字段已經從實例中刪除,因為它們會導致模型過擬合。我們使用具有N隱藏層的深度前饋神經網絡來處理其他所有特征。神經網絡的架構如圖5所示。

圖5:用於Tor流量檢測的深度學習網絡表示

隱藏層層數在2和10之間變化。當N=5時是最優的。為了激活,線性整流函數(Rectified Linear Unit, ReLU)用於所有隱藏層。隱藏層每一層實際上都是密集的,有100個維度。

Keras中的FFN的Python代碼片段:

model = Sequential() model.add(Dense(feature_dim,  input_dim= feature_dim, kernel_initializer='normal', activation='relu')) for _ in range(0,  hidden_layers-1): model.add(Dense(neurons_num,  kernel_initializer='normal', activation='relu')) model.add(Dense(1,kernel_initializer='normal',  activation='sigmoid')) model.compile(optimizer='adam',  loss='binary_crossentropy', metrics=["accuracy"])

輸出節點由Sigmoid函數激活。這被用來輸出二分類結果-TOR或非TOR。

我們在后端使用帶有TensorFlow的Keras來訓練深度學習模塊。使用二元交叉熵損失來優化FFN。模型會被訓練不同次數。圖7顯示,在一輪仿真訓練中,隨着訓練次數的增加,性能也在增加,損失值也在下降。

圖7:網絡訓練過程中Tensorboard生成的靜態圖

我們將深度學習系統的結果與其他預測系統進行了比較。使用召回率(Recall)、精准率(Precision)和F-Score這些標准分類指標來衡量預測系統性能。我們基於深度學習的系統能夠很好地檢測TOR類。但是,我們更加重視非TOR類。可以看出,基於深度學習的系統可以減少非TOR類的假陽性情況。結果如下表:

表2:用於TOR流量檢測實驗的深度學習和機器學習模型結果

在各種分類器中,隨機森林和基於深度學習的方法比其他方法更好。所示結果基於5,500個訓練實例。本實驗中使用數據集的大小相對小於典型的基於深度學習的系統。隨着訓練數據的增加,基於深度學習的系統和隨機森林分類器的性能將會進一步提升。

但是,對於大型數據集來說,基於深度學習的分類器通常優於其他分類器,並且可以針對相似類型的應用程序進行推廣。例如,如果需要訓練檢測使用TOR的應用程序,那么只需要重新訓練輸出層,並且其他所有層可以保持不變。而其他機器學習分類器則需要在整個數據集上重新訓練。請記住,對於大型數據集來說,重新訓練模型需要耗費巨大的計算資源。

尾記

每個企業面臨的匿名流量檢測的挑戰是存在細微差別的。攻擊者使用TOR信道以匿名模式偷竊數據。當前流量檢測供應商的方法依賴於攔截TOR網絡的已知入口節點。這不是一個可拓展的方法,而且很容易繞過。一種通用的方法是使用基於深度學習的技術。

本文中,我們提出了一個基於深度學習的系統來檢測TOR流量,具有高召回率和高精准率。請下面的評論部分告訴我們您對當前深度學習狀態的看法,或者如果您有其他替代方法。

References

[1]: Quamar Niyaz, Weiqing Sun, Ahmad Y Javaid,     and Mansoor Alam, “A Deep Learning     Approach for Network Intrusion Detection System,”  IEEE Transactions on Emerging     Topics in Computational Intelligence, 2018.

[2]: Daniel Gibert, “Convolutional Neural Networks     for Malware Classification,” Thesis 2016.

[3]: Wookhyun Jung, Sangwon Kim,, Sangyong Choi,     “Deep Learning for Zero-day     Flash Malware Detection,” IEEE security, 2017.

[4]: Paweł Kobojek and Khalid Saeed, “Application of Recurrent   


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM