?

基于深度學習的VPN加密流量協議識別

2022-03-07 10:11范耘程
電子測試 2022年24期
關鍵詞:數據包代理加密

范耘程

(南京信息工程大學電子與信息工程學院,江蘇南京,210044)

0 引言

近年來,移動互聯網行業迅速發展。根據中國互聯網絡信息中心(CNNIC)的第50次中國互聯網絡發展狀況統計報告顯示,截至2022年6月,我國網民規模為10.51億,互聯網普及率達74.4%?;ヂ摼W基礎建設全面覆蓋,用戶規模穩步增加[1]。而隨著我國網絡安全法的完善以及網民隱私安全意識的加強,越來越多人的使用網絡流量加密技術來保證用戶的數據安全和隱私。

網絡流量是網絡協議的具體體現。VPN加密技術作為一種加密用戶通信并且隱藏用戶身份的方式,依靠隧道式的遠程通信加密技術,正在廣泛地應用于互聯網生活中。來自美國一家網絡智能公司的報告[2]顯示,隨著新冠疫情的暴發,人們在家工作,將會越來越多地使用VPN技術。但是,VPN作為一種流量加密技術為人們提供隱私安全和便利的同時,也因其隱秘性好,安全性高等特點不易被網絡管理所監控,這給犯罪分子進行網絡攻擊、數據竊取等提供了便利。為此,本文提出了研究一種基于深度學習的VPN加密流量協議識別算法。首先,分別在不同代理協議下進行Wiresharek數據采集,并且在采集流量的過程中需要濾除掉非TCP的流量,再根據數據包的大小和數據包的到達時間生成圖像,進行卷積神經網絡的訓練和測試。

1 國內外研究現狀

隨著網絡加密技術的逐步提高,國內外對于網絡流量加密技術的識別研究也在不斷推進。研究人員根據機器學習和深度學習進行深度流量分類。根據不同類型的輸入,這些研究方法又可以進一步分為以下兩類,一種研究是直接基于統計特征的方法,另一種是完全基于原始信息流量模型的方法。2016年,Draper-Gil G[3]依照與時間關聯的特性,選擇了C4.5決策樹和K近鄰算法,對VPN的流量識別取得了一定的成效,并且文獻公開了加密流量的數據集,為之后的VPN加密流量研究提供了便利。Wang等人提出了一種基于一維卷積神經網絡的端到端方法,該方法將特征提取和分類器整合為一個框架,達到了不錯的效果[4]。以前的方法是對加密的流量進行了識別分類,但缺少對于VPN加密協議的統計分類,且方法也有局限性,有待進一步研究。

2 相關技術

2.1 VPN代理協議

VPN是通過指通過隧道式加密傳輸或者匿名代理提供遠程數據代理服務的技術。常見且成熟的第三方VPN代理協議有Shadowsocks、SOCKS5、VMess等。

(1)SOCKS5代理協議:SOCKS5的代理目的是它在采用標準TCP/IP協議的通訊網絡系統的內部各個網絡服務器層之間扮演起了其中一個數據中轉站的重要的角色,SOCKS5的協議層既也不再受依制于操作平臺上的其他任何的限制,也不管是運行在一個何種網絡協議層,它最終是處在其內部外網層中的網絡服務器前端,能夠直接地訪問外部網絡層中的服務器,以確保通信更加保密。

(2)Shadowsocks代理協議:Shadowsocks協議是一種基于SOCKS5從而衍生出來的一種協議類型。它在基于SOCKS5的基礎上拆分為SS服務器(SS_Server)和SS客戶端(SS_Local)兩個部分以逃避網絡監管。同時,重構的報文數據加強了數據通信之間的隱秘性和安全性。

(3)VMess代理協議:VMess代理協議是由Google的開源V2Ray工具設計出的一種代理協議。它是一種基于TCP的無狀態協議,也是V2Ray的默認代理協議[5]。VMess的使用結合了inbound和outbound的概念,其清晰和直觀的界面表明顯示出了數據包的流動方向和方向,也是在使VMess使用的功能看起來更加的復雜和更強大的同時顯得清晰直觀而又并不混亂。

2.2 深度學習模型

本文選用深度學習的卷積神經網絡(CNN)來進行模型的訓練,并且用PyTorch作為模型架構。隨著人工智能技術的發展,深度學習更多地被應用于加密流量的檢測環節中。與機器學習需要繁雜的特征提取和特征選擇不同,深度學習有著自動完成特征提取和學習訓練的優勢。同時它能基于表征信息的神經網絡學習方法,將大量的特征擬合為更高維度的綜合特征。所根據需要選擇的卷積神經網絡結構包括:卷積層,下采樣層,全連接層。每層網絡有多個特征圖,通過卷積運算濾波器可以提取每個特征圖輸入的一種顯著的特征,每個特征圖有多個神經元。本文選擇了LeNet-5風格的架構,為加密流量協議的識別達到好的效果。

圖1的神經網絡通過接受處理后的圖像信息,進行多層卷積分別提取對象的特征信息,再分別用最大池化層提取主要特征,減少神經網絡運算量,從而防止出現結果過擬合的情況。最后,為了保證可以實現分類器中的有效的特征識別表示工作,全連接層還將通過模型訓練中的分布式特征識別表示映射技術引入到樣本標記空間。

圖1 LeNet-5架構

3 方案設計

整個系統的流程包括了數據采集、數據預處理、流量信息提取以及加密協議分類這幾個部分。首先通過Wireshark自采集的數據包,再經由卷積神經網絡訓練學習,提取綜合特征,可以達到識別加密流量協議的效果。系統結構框圖如圖2所示。

圖2 系統結構概述

3.1 流量采集

在整個系統進行模型核心訓練之前,需要采集到足夠多的網絡流量數據以支持卷積神經網絡的模型訓練和測試。在采集流量時,用手機連接筆記本電腦的移動電腦熱點,然后通過這部手機通過VPN代理服務進行上網瀏覽,產生流量信息,再用筆記本的Wireshark流量捕獲軟件采集此時的流量,即可得到純粹的VPN流量。之后,在不同VPN協議的代理下,進行重復采集,直至所有協議流量信息都采集完畢,并標記流量來源。

3.2 數據預處理

對于Wireshark采集到的pcap包需要先進行信息處理。由于SOCKS5、Shadowsocks和VMess本質上都是基于TCP傳輸層的加密流量代理協議,所以pcap包需要濾除掉非TCP協議的噪音流量和TCP的重傳包。再將數據包按照五元組的流形式重新編碼組成IP會話包形式,依次是源IP、源端口、目的IP、目的端口和傳輸協議。之所以本文把流量分成會話的形式,是因為Wang等人發現會話比流量有更多地交互信息,更適合加密信息的分類[4]。

3.3 流量信息提取

我們知道,卷積神經網絡的優點在于輸入是圖像時有著不錯的表現。以圖像直接作為網絡的輸入,這樣就可以避免傳統識別算法中復雜的特征提取和數據重構的過程,如網絡能夠自行抽取圖像的特征包括顏色、紋理、形狀及圖像的拓撲結構,在處理二維圖像的問題上,特別是識別位移、縮放及其他形式扭曲不變性的應用上具有良好的魯棒性和運算效率等[6]。

在所有的流量數據包進行了預處理工作之后,數據包中的每個字節對應于一個灰度像素值。例如,0x00表示黑色,0xff表示白色。經由這樣,就可以將每一個流量數據包轉換為一個可視化的VPN流量數據灰度圖。神經網絡可以自動從流量有效荷載中提取特征,每個方向的包每個長度的包的統計信息,從而提高模型泛化能力。特征包括了最大值、最小值、方差、標準差、平均值、偏度、峰度等。為了避免分類器在訓練過程中傾向于量級較大的特征,需要對特征進行歸一化處理。

3.4 協議分類

本文選用的是LeNet-5模型架構來進行加密流量協議的識別。首先將通過Wireshark采集到的數據包按照8:2的比例劃分為訓練集和測試集,再將訓練集的特征數據集樣本對卷積神經網絡算法進行訓練,生成用于加密流量協議的識別模型。然后用測試集去測試已完成訓練的深度學習模型,最后由分類器對綜合特征轉化輸出,從而完成VPN加密流量協議的檢測識別,輸出并判斷識別分類結果。

4 實驗分析

我們使用PyTorch來構建所需要的神經網絡。為了驗證本文模型的有效性,將通過Wireshark采集到的不同的VPN協議Shadowsocks、SOCKS5、VMess以及不經過VPN代理協議的情況分別處理成了圖3所示的圖像。

圖3 經由不同代理協議的數據包轉化的灰度圖

之后再將圖像一次放入卷積神經網絡進行訓練,當達到一個較高的訓練水準時,再拿出測試集進行測試,可以得到表1的數據結果。

表1 加密流量協議分類識別結果

在實驗中,有三個評價指標用來衡量我們模型的性能,分別是精確度、召回率和F1分數。精確度指正確預測為正的,占全部預測為正的比例。召回率指正確預測為正的,占全部實際為正的比例。F1分數指精確率和召回率的諧波平均值。F1分數我們定義為(1)。

可見,在無代理協議、Shadowsocks、SOCKS5以及VMess的加密協議下,卷積神經網絡對于協議識別的準確度的F1分數可以達到一個不錯效果。

5 總結

近年來,隨著VPN技術的快速發展和人們隱私安全意識的增長,加密流量識別的技術受到了學術界的廣泛討論。本文針對加密流量協議的識別比較少的情況,進行了實驗設計。整個系統的流程包括了數據采集、數據預處理、流量信息提取以及加密協議分類這幾個部分。首先分析了VPN代理協議的原理,再選用深度學習的模型從不同代理協議下的加密流量中提取對應的表征信息,并用這些對加密流量的協議進行分類識別。從實驗結果表明,本文提出的方法根據綜合流量特征可以較好地識別不同加密流量的代理協議。但這項工作仍有改進之處,數據集的不平衡不充分會導致,深度學習模型缺乏泛化能力,以及要進一步優化提升算法,來提高識別的速度和準確率。

猜你喜歡
數據包代理加密
二維隱蔽時間信道構建的研究*
一種新型離散憶阻混沌系統及其圖像加密應用
民用飛機飛行模擬機數據包試飛任務優化結合方法研究
一種基于熵的混沌加密小波變換水印算法
代理圣誕老人
SmartSniff
代理手金寶 生意特別好
加密與解密
認證加密的研究進展
勝似媽媽的代理家長
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合