《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于深度學習的加密流量識別研究綜述及展望

基于深度學習的加密流量識別研究綜述及展望

2021-10-28
來源:信息安全與通信保密雜志社
關鍵詞: 加密流量 深度學習

在安全和隱私保護需求的驅動下,網絡通信加密化已經成為不可阻擋的趨勢。加密網絡流量呈現爆炸增長,給流量審計與網絡空間治理帶來了挑戰。盡管機器學習已解決了部分加密流量識別的問題,但仍存在無法自動提取特征等局限。深度學習可以自動提取更本質、更有效的特征,已被用于加密流量識別,并取得了高精度。基于深度學習的加密流量識別的相關研究工作,提出基于深度學習的加密流量識別的框架,并通過數據集、特征構造和模型架構回顧部分研究工作,分析基于深度學習的加密流量識別面臨的挑戰。

  0 引 言

  加密流量主要是指在通信過程中所傳送的被加密過的實際明文內容。在安全和隱私保護需求的驅動下,網絡通信加密化已經成為不可阻擋的趨勢。加密網絡流量呈現爆炸增長,安全超文本傳輸協議(Hyper Text Transfer Protocol over Secure,HTTPS)幾乎已經基本普及。但是,加密流量也給互聯網安全帶來了巨大威脅,尤其是加密技術被用于網絡違法犯罪,如網絡攻擊、傳播違法違規信息等。因此,對加密流量進行識別與檢測是網絡惡意行為檢測中的關鍵技術,對維護網絡空間安全具有重要意義。

  隨著流量加密與混淆的手段不斷升級,加密流量分類與識別的技術逐步演進,主要分為基于端口、基于有效載荷和基于流的方法。

  基于端口的分類方法通過假設大多數應用程序使用默認的傳輸控制協議(Transmission Control Protocol,TCP)或用戶數據報協議(User Datagram Protocol,UDP)端口號來推斷服務或應用程序的類型。然而,端口偽裝、端口隨機和隧道技術等方法使該方法很快失效。基于有效載荷的方法,即深度包解析(Deep Packet Inspection,DPI)技術,需要匹配數據包內容,無法處理加密流量。基于流的方法通常依賴于統計特征或時間序列特征,并采用機器學習算法,如支持向量機、決策樹、隨機森林等算法進行建模與識別。此外,高斯混合模型等統計模型也被用于識別和分類加密流量。

  雖然機器學習方法可以解決許多基于端口和有效載荷的方法無法解決的問題,但仍然存在一些局限:(1)無法自動提取和選擇特征,需要依賴領域專家的經驗,導致將機器學習應用于加密流量分類時存在很大的不確定性;(2)特征容易失效,需要不斷更新。與大多數傳統機器學習算法不同,在沒有人工干預的情況下,深度學習可以提取更本質、更有效的檢測特征。因此,國內外最近的研究工作開始探索深度學習在加密流量檢測領域中的應用。

  基于已有研究工作,本文提出了基于深度學習的加密流量分類的通用框架,主要包括數據預處理、特征構造、模型與算法選擇。本文其余部分組織如下:第1節介紹加密流量識別的定義;第2節提出基于深度學習的加密流量分類的總體框架;第3節討論加密流量分類研究中一些值得注意的問題和面臨的挑戰;第4節總結全文。

  1 加密流量識別的定義

  1.1 識別目的

  加密流量識別的類型是指識別結果的輸出形式。通過加密流量識別的應用需求,確定識別的類型。加密流量可以從協議、應用、服務等屬性出發,逐步精細化識別,最終實現協議識別、應用識別、異常流量識別及內容本質識別等。

  1.1.1 識別加密流量

  加密流量識別的首要任務是區分加密與未加密流量。在識別出加密流量后,可以采用不同策略對加密流量進行精細化識別。

  1.1.2 識別加密協議

  加密協議(如TLS、SSH、IPSec)的識別可以用于網絡資源的調度、規劃和分配,也可以用于入侵檢測以及惡意網絡行為檢測等。由于各協議定義不同,需要在協議交互過程中挖掘具有強差異性的特征與規律,從而提升加密流量識別的精確性。

  1.1.3 識別加密應用

  加密應用的識別是指識別加密流量所屬的應用類型,如Facebook、Youtube、Skype等。它既可用于網絡資源的精準調度,也可用于識別暗網應用(如Tor、Zeronet),從而提升網絡空間治理能力。

  1.1.4 識別惡意加密流量

  惡意加密流量是指使用加密傳輸的惡意網絡流量,如勒索病毒、惡意軟件等。識別惡意加密流量可以用于入侵檢測、惡意軟件檢測和僵尸網絡檢測。

  1.1.5 識別加密流量內容

  加密流量的內容識別是指從加密流量中識別其承載的內容,如圖片、視頻、音頻、網頁以及文件類型等。識別加密流量內容可用于網絡空間安全治理。

  1.2 識別性能

  目前,網絡加密流量的識別方法大多采用與準確性相關的指標進行評估,主要為誤報率、精確率、召回率以及總體準確率等。

  假設加密流量有N種類型,即N為分類類別數;定義圖片為實際類型為i的樣本被識別為類型i的樣本數;定義圖片為實際類型為i的樣本被誤識別為類型j的樣本數。

  類型i的誤報率為:

微信圖片_20211028093508.jpg

  類型i的精確率為:

  微信圖片_20211028093511.jpg

  類型i的召回率為:

  微信圖片_20211028093514.jpg

  總體準確率為:

  微信圖片_20211028093516.jpg

  1.3 加密流量數據集

  使用深度學習對加密流量進行分類時,需要選擇規模較大、數據分布均衡且具有代表性的數據集。目前,加密流量數據集主要有公共數據集和原始數據。

  1.3.1 選擇公共數據集

  近年來,大多數加密流量識別的研究工作選擇公共數據集,如ISCX2012、Moore、USTC-TFC2016和IMTD17等。但是,公開的加密流量數據集的數量少,且缺少一個能夠準確且全面表征所有加密流量類型的數據集。究其原因,主要在于:流量類型多且數量龐大,應用程序更新頻繁,沒有數據集可以包含所有類型的加密流量;難以覆蓋寬帶和無線接入、PC和移動設備接入等所有網絡場景。

  1.3.2 收集原始數據

  文獻[11-12]通過數據包采集工具,收集來自研究實驗室網絡或運營商的原始流量數據,但大部分原始數據集均未公開。

  2 深度學習的加密流量識別框架

  本文提供了基于深度學習的加密流量識別通用框架,并簡要介紹常用深度學習方法的一些最新論文,總體框架如圖1所示,包含數據預處理、特征構造以及深度學習模型架構設計、訓練以及識別等流程。

  微信圖片_20211028093519.jpg

  圖1 基于深度學習的加密流量識別的通用框架

  2.1 數據預處理

  加密流量原始數據集可以分為原始數據包數據集、流量pcap文件和已處理過的統計特征3種類型。在對加密流量識別的深度學習框架中,常見的數據預處理操作有數據包過濾或報頭去除、數據包填充與截斷以及數據歸一化。

  2.1.1 數據包過濾或報頭去除

  由于原始數據包數據集中可能包含地址解析協議(Address Resolution Protocol,ARP)、動態主機配置協議(Dynamic Host Configuration Protocol,DHCP)、Internet控制報文協議(Internet Control Message Protocol,ICMP)等流量,同時pcap文件中包含pcap文件頭等信息。通常這兩類數據需要進行預處理,如數據包過濾、報頭去除。

  2.1.2 數據包填充與截斷

  由于深度神經網絡(Deep Neural Networks,DNN)總是被饋送固定大小的輸入,而數據包的幀長度從54到1 514變化很大,如傳輸控制協議(Transmission Control Protocol,TCP)協議,因此需要對數據包進行固定長度的零填充和截斷。

  2.1.3 數據歸一化

  數據歸一化對深度學習的性能至關重要。通過將統計特征數據集中的流量數據歸一化為[-1,+1]或[0,1]范圍內的值,有助于分類任務在模型訓練期間更快收斂。

  2.2 特征提取

  深度學習模型的輸入對模型在訓練和測試過程中的性能有很大影響,既能直接影響模型的準確性,又能影響計算復雜度和空間復雜度。在現有研究中,基于深度學習的加密流量分類模型的輸入一般可以分為原始數據包數據、流量特征以及原始數據與流量特征組合3種類型。

  2.2.1 原始數據包數據

  深度學習可以自動提取特征,因此大多數基于深度學習的加密流量分類算法將數據預處理后的原始數據包數據作為模型的輸入。

  2.2.2 流量特征

  加密流量的一般流量特征可以分為包級特征、會話特征和統計特征。其中:包級特征包含源和目的端口、包長度、到達時間間隔、有效載荷字節、TCP窗口大小以及流向等;會話特征包括接收與發送數據包個數、會話持續時間以及會話有效負載等;統計特征有平均數據包長度、平均延誤時間間隔以及平均上下行數據比例等。在文獻[12]中,數據包級、流級特征和統計特征都被用于模型的輸入。文獻[15]針對Tor常用的3種流量混淆插件(Obfs3、Obfs4、ScrambleSuit)進行研究,旨在挖掘可用的混淆插件Tor流量識別方法。該文采用的方法為機器學習方法,包括C4.5、SVM、Adaboost以及隨機森林,采用的流特征包括數種前向與后向的數據包大小統計特征,如前向總字節數。該實驗結果證明,僅僅采用每條流的前10~50個數據包的信息即可實現上述流量的快速檢測。同時,有研究表明,第一個數據包的數量對分類器的影響較大,尤其是實時分類性能。第一個數據包收集越多,流量特征越完整和全面。

  2.2.3 原始數據和流量特征的組合

  TONG等人將原始數據包數據和從網絡流量中提取的特征進行組合,從而對新型加密協議QUIC下的谷歌應用程序進行分類。

  2.3 模型架構

  2.3.1 多層感知器

  由于多層感知器(Multilayer Perceptron,MLP)的復雜性和低準確率,研究者在識別加密流量領域中較少使用MLP。文獻[18]基于不同的加密流量數據集,將多種深度學習算法與隨機森林算法(Random Forest,RF)進行比較,結果表明大多數深度學習方法優于隨機森林算法,但MLP性能低于RF。但文獻[18]提出,由于RF、MLP和其余深度學習方法的輸入特征不同,不應將該實驗結果作為對MLP、RF等方法的綜合比較結論。

  文獻[19]介紹了一種稱為DataNet的基于深度學習的加密流量分類方法,其中MLP模型由1個輸入層、2個隱藏層和1個輸出層組成,用ISCX2012的VPN-nonVPN流量數據集進行實驗。實驗評估結果表明,它的精確率、召回率均超過92%。

  2.3.2 卷積神經網絡

  卷積神經網絡(Convolutional Neural Networks,CNN)可以通過卷積層來改善MLP無法處理高維輸入的限制,利用卷積和池化來減少模型參數,如圖2所示。

  微信圖片_20211028093522.jpg

  圖2 卷積神經網絡

  文獻[14]用一維向量表示每個流或會話,以訓練CNN模型。結果表明,該CNN的準確性優于使用時間序列和統計特征的C4.5方法。文獻[17]將時間序列數據轉換為二維圖像,并使用具有2個卷積層、2個池化層和3個全連接層的CNN進行訓練。結果表明,文獻[14]提出的CNN模型在協議和應用分類方面優于經典機器學習方法和MLP。

  2.3.3 循環神經網絡

  循環神經網絡(Recurrent Neural Network,RNN)可以有效處理序列問題,對之前發生的數據序列有一定的記憶力,結構如圖3所示。文獻[12]提出,在加密流量識別領域中,混合模型會有優于單一的長短期記憶網絡(Long Short-Term Memory,LSTM)或CNN模型。文獻[12]同時使用CNN和RNN來捕獲流的空間特征和時間特征。LIU等人采用基于注意力的雙向門限循環單位網絡(Attention-Based Bidirectional GRU Networks,BGRUA)進行以HTTPS封裝的Web流量的識別。該文采用3個部分的神經網絡進行充分的加密流量識別。第1部分為一個雙層的BGRU網絡,用于從輸入的流序列中學習得到序列隱藏狀態。第2部分為注意力層,將隱藏狀態序列轉化為帶注意力權重參數的隱藏狀態序列,然后通過前向神經網絡轉化為預測標簽。第3部分為遷移學習網絡,實現前兩部分學習成果的場景擴展。實驗結果除了證明模型在性能上的優勢外,還證明了遷移學習在加速新場景方面的訓練能力。

  微信圖片_20211028093525.jpg

  圖3 RNN結構

  2.3.4 自編碼器

  自編碼器(Auto-Encoder,AE)是一種無監督的神經網絡模型,可以學習到輸入數據的隱含特征。文獻[21]使用AE重構輸入,并將softmax層應用于自編碼器的編碼內部表示。文獻[22]采用有效載荷數據來訓練一維CNN和堆疊AE模型,如圖4所示。這兩種模型顯示出高精度,且CNN模型略微優于堆疊AE模型。

  微信圖片_20211028093527.jpg

  圖4 Deep Packet框架

  3 挑戰與展望

  本節對加密流量識別的挑戰與未來方向進行了討論。

  3.1 現存挑戰

  3.1.1 新型加密協議的出現

  隨著新型加密協議的出現與普及,如TLS1.3協議,數據包中只有少數字段未加密,證書和域名信息都將加密。基于TLS1.2握手期間,部分明文字段的加密流量識別算法都將失效。

  3.1.2 加密流量的標注

  深度學習在訓練過程中需要大量標記數據。但是,由于隱私保護和流量標注工具如深度包解析工具無法處理加密流量,難以在短時間和低成本的條件下合法收集,并準確標注加密流量數據集。

  3.1.3 加密流量的分布

  在真實網絡環境下,類不平衡也是加密流量分類的重要問題,會直接影響分類精度。

  3.2 未來可能的方向

  3.2.1 預訓練模型

  未標記的流量數據數據量大且比較容易獲取,因此一些研究人員開始探索如何利用容易獲得的未標記流量數據結合少量標記流量數據進行準確的流量分類。通過它可以使用大量未標記的交通數據預訓練模型,然后將其轉移到新架構,并使用深度學習重新訓練模型。此外,預訓練可以用于降維,使模型變得輕量級。

  3.2.2 生成對抗網絡

  生成模型可用于處理網絡流量分類中的數據集不平衡問題。不平衡問題是指每個類的樣本數量差異很大的場景,而處理不平衡數據集的最常見和最簡單的方法是通過復制少類的樣本進行過采樣,或者通過從多類中刪除一些樣本進行欠采樣。文獻[24]中,生成對抗網絡(Generative Adversarial Network,GAN)用于生成合成樣本以處理不平衡問題,通過使用輔助分類器生成對抗網絡(Auxiliary Classifier Generative Adversarial Network,AC-GAN)來生成兩類網絡,使用具有2個類(SSH和非SSH)和22個輸入統計特征的公共數據集。

  3.2.3 遷移學習

  遷移學習假設源任務和目標任務的輸入分布是相似的,允許在源任務上訓練的模型用于不同的目標任務。由于模型已訓練,再訓練過程需要的標記數據和訓練時間將明顯減少。在網絡加密流量識別的場景中,可用公開的加密數據集來預訓練模型,在進一步調整模型后,以用于具有較少標記樣本的另一個加密流量分類任務。文獻[23]使用這種方法,將預先訓練的CNN模型的權重轉移到一個新模型,訓練對Google應用程序進行分類。論文還表明,在不相關的公共數據集上,預訓練的模型仍然可以用于遷移學習。

  4 結 語

  網絡流量是網絡通信的必然產物,而流量蘊含了通信過程中雙方的各種關鍵信息,因此加密流量分析是網絡態勢感知的一個重要方面。多種研究和實踐已經證明,加密流量中蘊含的信息可以在一定程度上被有效挖掘,為網絡管理操作決策提供高質量的依據支撐。因此,加密流量分析是提升網絡態勢感知能力的關鍵因素之一,具有極高的科研、應用、民生以及安全意義。

  本文提出了基于深度學習的加密流量分類的通用框架,并根據分類任務定義、數據準備、特征構造、模型輸入設計和模型架構回顧了最新的現有工作。此外,本文對加密流量識別的現存問題和未來可能的識別技術進行了討論。




電子技術圖片.png

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 精品国产成人综合久久小说 | 日本在线 | 中文 | 国产免费黄视频 | 国产自在自线午夜精品 | 精品国产高清a毛片无毒不卡 | 欧美日韩在线视频观看 | 精品一区二区三区在线成人 | 久草最新网址 | 日日操夜夜爽 | 亚洲国语在线视频手机在线 | 久久综合久久自在自线精品自 | 日韩精品免费一级视频 | 91久热| 久久在线视频播放 | 国产欧美日韩一区二区三区 | 亚洲综合在线另类色区奇米 | 99久久精品国产综合一区 | 91av小视频 | 99久久精品99999久久 | 亚洲精品高清国产麻豆专区 | 亚洲精品永久一区 | 在线观看亚洲精品专区 | 日韩精品一区二区三区中文在线 | 黑人巨大交牲老太 | 久久国产精品免费一区二区三区 | 欧美理论大片清免费观看 | 91成人午夜性a一级毛片 | 国产成在线观看免费视频成本人 | 欧美黄色高清 | 成年18网站免费视频网站 | 亚洲精品色 | 久久一区二区三区免费播放 | 欧美成人精品动漫在线专区 | 久久精品国产一区二区三区 | 精品丝袜国产自在线拍亚洲 | 久久国产精品久久国产精品 | 欧美黄色a| 成人公开视频 | 久久久久国产午夜 | 中国日本高清免费视频网 | 国产精品亚洲二区在线 |