亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于側(cè)信道特征的安全代理流量分類(lèi)方法

        2021-08-20 04:54:02李光松
        計(jì)算機(jī)工程 2021年8期
        關(guān)鍵詞:有效載荷分類(lèi)器代理

        高 平,廣 暉,陳 熹,李光松

        (1.河南省網(wǎng)絡(luò)密碼技術(shù)重點(diǎn)實(shí)驗(yàn)室,鄭州 450001;2.鄭州大學(xué) 體育學(xué)院,鄭州 450004)

        0 概述

        為維護(hù)網(wǎng)絡(luò)安全,互聯(lián)網(wǎng)服務(wù)商通常會(huì)在網(wǎng)關(guān)處的防火墻利用網(wǎng)絡(luò)審查技術(shù)來(lái)過(guò)濾網(wǎng)絡(luò)流量中的不良信息,如端口過(guò)濾、深度包檢測(cè)等技術(shù)。與此同時(shí),一些惡意用戶和組織往往會(huì)使用各種各樣的方法手段規(guī)避網(wǎng)絡(luò)審查。目前,用戶主要使用安全代理、VPN 加密、匿名網(wǎng)絡(luò)3 種方式突破防火墻的封鎖,達(dá)到訪問(wèn)受限資源的目的。這些技術(shù)對(duì)防火墻的穿透會(huì)造成用戶網(wǎng)絡(luò)行為無(wú)法識(shí)別、不可監(jiān)控的后果,如非法交易、傳播不良信息等。因此,識(shí)別和分類(lèi)這些技術(shù)軟件產(chǎn)生的流量對(duì)網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全具有重要意義。

        安全代理部署簡(jiǎn)單、成本較低,更容易在互聯(lián)網(wǎng)用戶之間傳播,已經(jīng)成為惡意用戶突破防火墻的重要手段之一。目前Shadowsocks(SS)、V2Ray、Freegate、Ultrasurf 這4 種安全代理使用較為廣泛[1]。SS 和V2Ray 是開(kāi)源的安全代理軟件,用戶可輕易在虛擬專(zhuān)用服務(wù)器(Virtual Private Server,VPS)上部署。通過(guò)VPS 對(duì)客戶端流量進(jìn)行代理,達(dá)到穿透防火墻的目的。Freegate 和Ultrasurf 安全代理軟件有較大的受眾基數(shù),由專(zhuān)門(mén)的公司動(dòng)態(tài)網(wǎng)和UltraReach對(duì)軟件進(jìn)行定期的更新和維護(hù)。安全代理通過(guò)加密用戶的流量來(lái)規(guī)避防火墻的深度包檢測(cè)技術(shù)。因此,安全代理流量分類(lèi)本質(zhì)上是加密流量分類(lèi)問(wèn)題。加密流量分類(lèi)主要有基于端口的流量分類(lèi)、基于深度包檢測(cè)的流量分類(lèi)和基于統(tǒng)計(jì)特征的機(jī)器學(xué)習(xí)算法流量分類(lèi)3 種方法。

        基于端口的分類(lèi)是早期傳統(tǒng)的流量分類(lèi)方法,使用Internet Assigned Numbers Authority(IANA)[2]來(lái)分配知名端口號(hào)識(shí)別流量類(lèi)型。然而,對(duì)于使用非標(biāo)準(zhǔn)端口的協(xié)議和應(yīng)用,這種監(jiān)測(cè)技術(shù)則會(huì)失效。例如SS 和V2Ray 安全代理均可指定非標(biāo)準(zhǔn)端口,F(xiàn)reegate 和Ultrasurf 通過(guò)使用443 端口偽裝成TLS 流量來(lái)規(guī)避防火墻的端口過(guò)濾。

        基于深度包檢測(cè)的分類(lèi)方法融合了基于端口的分類(lèi)方法。它不僅在端口過(guò)濾網(wǎng)絡(luò)流量,而且還會(huì)檢查流經(jīng)網(wǎng)關(guān)的流量載荷來(lái)匹配已知協(xié)議或應(yīng)用的關(guān)鍵字段。目前較為流行的深度包檢測(cè)工具主要包括nDPI[3]、Libprotoident[4]、L7 fliter[5]、OpenDPI[6]4 種。文獻(xiàn)[7]對(duì)這些工具的性能進(jìn)行了比較。然而,深度包檢測(cè)技術(shù)能夠識(shí)別的協(xié)議種類(lèi)有限。由于SS 和V2Ray 通過(guò)雙方預(yù)共享口令生成加密密鑰,直接加密雙方的通信內(nèi)容,使得流量中分組有效載荷內(nèi)容被混淆成隨機(jī)字符串,深度包檢測(cè)技術(shù)不能對(duì)其進(jìn)行過(guò)濾和識(shí)別。

        基于側(cè)信道特征的機(jī)器學(xué)習(xí)算法分類(lèi)通過(guò)提取網(wǎng)絡(luò)流量中分組側(cè)信道特征,如有效載荷長(zhǎng)度、分組時(shí)間間隔、分組總數(shù)等,使用機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)流量類(lèi)型的區(qū)分。相比基于端口和深度包檢測(cè)的方法,該方法具有協(xié)議無(wú)關(guān)性,即不依賴有效載荷中協(xié)議的具體實(shí)現(xiàn),使用側(cè)信道特征對(duì)流量進(jìn)行分類(lèi)。

        文獻(xiàn)[8]基于流中分組總數(shù)、有效載荷長(zhǎng)度統(tǒng)計(jì)量(最大值、最小值、平均值、方差等)和分組時(shí)間間隔統(tǒng)計(jì)量等特征使用XGBoost 算法對(duì)SS 流量進(jìn)行識(shí)別,但未將有效載荷長(zhǎng)度直接作為分類(lèi)特征,并且沒(méi)有充分利用流中載荷長(zhǎng)度的變化。文獻(xiàn)[9]基于流中分組總數(shù)、同方向分組持續(xù)總時(shí)間、同方向分組長(zhǎng)度總字節(jié)數(shù)等特征構(gòu)成3 000 維特征向量,使用隨機(jī)森林(RF)算法區(qū)分SS 流量。但使用的特征維度高,對(duì)于每一條流而言,并不一定具有多達(dá)3 000 維特征,特征向量會(huì)有大量填充。文獻(xiàn)[10]基于流中同方向分組長(zhǎng)度總字節(jié)數(shù)和目的IP 分布等特征使用隨機(jī)森林(RF)等機(jī)器學(xué)習(xí)算法區(qū)分SS 流量,但未考慮分組時(shí)間間隔特征。文獻(xiàn)[11]基于流中分組長(zhǎng)度平均值、分組總數(shù)、分組時(shí)間間隔等特征,使用XGBoost 算法區(qū)分SS 流量,但分組長(zhǎng)度平均值并不能精確表征流量的特征變化。文獻(xiàn)[12-13]基于分組長(zhǎng)度的統(tǒng)計(jì)量等特征使用機(jī)器學(xué)習(xí)算法對(duì)SS 安全代理流量進(jìn)行區(qū)分。文獻(xiàn)[14]基于載荷內(nèi)容使用多種深度學(xué)習(xí)算法區(qū)分多種應(yīng)用。但由于SS 和V2Ray 不進(jìn)行協(xié)議的協(xié)商,載荷內(nèi)容被加密算法加密并直接傳輸,因此使用載荷內(nèi)容構(gòu)造特征向量會(huì)對(duì)分類(lèi)造成混淆。文獻(xiàn)[15]基于分組長(zhǎng)度和分組方向等特征,使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)區(qū)分SS、V2Ray等流量。文獻(xiàn)[16]基于分組長(zhǎng)度特征識(shí)別Freegate流量,但由于Freegate 版本的更新,該方法對(duì)更新后的Freegate 流量并不適用。

        相比于上述文獻(xiàn)使用的特征,除使用流中分組總數(shù)、有效載荷長(zhǎng)度的統(tǒng)計(jì)量、分組時(shí)間間隔特征外,流中單個(gè)分組的有效載荷長(zhǎng)度和流量類(lèi)型緊密相關(guān),也可以被用來(lái)構(gòu)建特征向量。本文將流中前n個(gè)有效載荷長(zhǎng)度組合成有效載荷長(zhǎng)度序列(Payload Length Sequence,PLS),來(lái)表征流量的載荷長(zhǎng)度變化情況。從信號(hào)分析的角度出發(fā),將流中每一個(gè)分組表征為一個(gè)信號(hào),該信號(hào)由有效載荷長(zhǎng)度、分組時(shí)間間隔和分組方向構(gòu)成,從而可以將多個(gè)分組對(duì)應(yīng)的信號(hào)進(jìn)行合并構(gòu)成信號(hào)序列,作為分類(lèi)特征向量。本文基于提取的流量側(cè)信道特征構(gòu)建特征向量,使用機(jī)器學(xué)習(xí)算法、深度學(xué)習(xí)算法進(jìn)行訓(xùn)練得到分類(lèi)器,最終在測(cè)試集上使用分類(lèi)器區(qū)分正常Web 瀏覽和4 種安全代理流量。本文使用的分類(lèi)算法分別包括樸素貝葉斯(NB)、邏輯回歸(LR)、支持向量機(jī)(SVM)、隨機(jī)森林(RF)、XGBoost 5種機(jī)器學(xué)習(xí)算法和前饋神經(jīng)網(wǎng)絡(luò)多層感知機(jī)(MLP)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)3 種深度學(xué)習(xí)算法。

        1 預(yù)備知識(shí)

        1.1 安全代理介紹

        SS 和V2Ray 一般由Socks5 協(xié)議代理本地Web流量。文獻(xiàn)[17]將加密流量通信分為非加密初始化階段和加密數(shù)據(jù)傳輸階段。非加密初始化階段協(xié)商雙方使用密碼算法、DH 值、證書(shū)等信息,加密數(shù)據(jù)傳輸階段完成數(shù)據(jù)的加密傳輸。但SS 和V2Ray 并沒(méi)有遵循此規(guī)則,雙方在發(fā)送數(shù)據(jù)之前未進(jìn)行協(xié)商,而是直接基于雙方預(yù)共享密鑰生成加密密鑰,對(duì)本地代理和服務(wù)器代理之間的數(shù)據(jù)進(jìn)行加密封裝,如圖1所示。

        圖1 SS 和V2Ray 通信流程Fig.1 Communication procedure of SS and V2Ray

        Freegate 和Ultrasurf 的工作原理與SS、V2Ray 不同,不能直接與代理服務(wù)器傳輸數(shù)據(jù)。首先通過(guò)DNS 解析獲取服務(wù)器IP,之后與代理服務(wù)器進(jìn)行協(xié)商并建立連接,建立連接后與代理服務(wù)器進(jìn)行數(shù)據(jù)傳輸,如圖2 所示。

        圖2 Freegate 和Ultrasurf 通信流程Fig.2 Communication procedure of Freegate and Ultrasurf

        Freegate有A、F、M 3種通道,通過(guò)測(cè)試發(fā)現(xiàn)A 通道和F 通道已經(jīng)被防火墻封鎖,目前M 通道可以正常使用。A 通道使用內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)隱藏代理服務(wù)器真實(shí)IP,使用TLS 建立連接后使用UDP 傳輸數(shù)據(jù)。與A 通道不同,F(xiàn) 通道使用TLS 傳輸數(shù)據(jù),但目前F 通道不穩(wěn)定。除使用CDN隱藏代理服務(wù)器真實(shí)IP 地址外,M 通道建立連接和數(shù)據(jù)傳輸均使用TLS 進(jìn)行流量偽裝,穩(wěn)定性較好。本文分析M 通道協(xié)商時(shí)產(chǎn)生的TLS 流量。

        與Freegate 的M 通道相似,Ultrasurf 首先通過(guò)CDN 隱藏代理服務(wù)器真實(shí)IP 地址,然后使用TLS 建立連接并傳輸數(shù)據(jù)。

        1.2 研究對(duì)象

        本文以雙向流(Bi-flow)為研究對(duì)象,設(shè):主機(jī)A的IP 為IPA,端口為PortA;主機(jī)B 的IP 為IPB,端口為PortB;傳輸層協(xié)議號(hào)為Proto。在同一會(huì)話中通信雙方的IP 地址、端口號(hào)以及傳輸層協(xié)議號(hào)不變并且一直持續(xù)到會(huì)話結(jié)束。從新的會(huì)話建立開(kāi)始,稱(chēng)具有相同五元組(IPA,PortA,IPB,PortB,Proto) 或者(IPB,PortB,IPA,Proto)并持續(xù)到會(huì)話結(jié)束的分組集合為雙向流:

        其中:hi是流中第i個(gè)分組的首部,包括以太網(wǎng)層、IP 層、傳輸層的信息;pi是第i個(gè)分組的應(yīng)用層載荷。

        2 基于側(cè)信道特征的流量識(shí)別方法

        由于深度包檢測(cè)分類(lèi)方法難以對(duì)加密流量有效載荷的關(guān)鍵字段進(jìn)行匹配,對(duì)加密流量的分類(lèi)性能較差,并且基于SS 和V2Ray 在通信時(shí)的特點(diǎn),整個(gè)通信過(guò)程的數(shù)據(jù)均被加密算法封裝,在無(wú)協(xié)議的非加密初始化階段,使用有效載荷內(nèi)容作為分類(lèi)特征,容易造成混淆。因此,本文提取與有效載荷內(nèi)容無(wú)關(guān)的流量側(cè)信道特征,使用機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法構(gòu)建分類(lèi)器,對(duì)安全代理流量進(jìn)行識(shí)別和分類(lèi)。

        2.1 主要框架

        本文首先收集真實(shí)的Web 瀏覽和安全代理流量,將流量存儲(chǔ)在pcap 或pcapng 文件中。之后對(duì)流量數(shù)據(jù)進(jìn)行預(yù)處理,將具有相同五元組的分組組合成雙向流(Bi-flow)。提取雙向流PLS 序列、分組總數(shù)、分組時(shí)間間隔、載荷長(zhǎng)度統(tǒng)計(jì)量、信號(hào)序列側(cè)信道特征,構(gòu)建特征向量?;跇?gòu)建的特征向量,使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法得到流量分類(lèi)器。最后使用這些分類(lèi)器在測(cè)試集上進(jìn)行標(biāo)簽預(yù)測(cè),并評(píng)估不同分類(lèi)器的性能?;趥?cè)信道特征的流量分類(lèi)框架如圖3 所示。本文處理流量和提取特征的工具已在Github 上公開(kāi)[18]。

        圖3 基于側(cè)信道特征的流量分類(lèi)框架Fig.3 Traffic classification framework based on side-channel feature

        2.2 特征提取

        文獻(xiàn)[14,19]使用有效載荷內(nèi)容作為特征向量進(jìn)行流量分類(lèi),但考慮到SS 和V2Ray 的流量在通信時(shí)沒(méi)有非加密初始化階段,整個(gè)通信過(guò)程被加密算法封裝,將有效載荷內(nèi)容作為分類(lèi)特征會(huì)降低分類(lèi)器的性能。本文使用NIST 檢測(cè)標(biāo)準(zhǔn)說(shuō)明了SS 和V2Ray 的有效載荷內(nèi)容均被加密,難以進(jìn)行區(qū)分。

        NIST[20]隨機(jī)性檢測(cè)標(biāo)準(zhǔn)是美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(National Institute of Standards and Technology,NIST)提出用來(lái)檢測(cè)二元比特序列隨機(jī)性的方法集合,其中包含15 種隨機(jī)性檢測(cè)方法。本文使用單比特頻數(shù)檢驗(yàn)、塊內(nèi)頻數(shù)檢驗(yàn)、最大1 游程檢驗(yàn)、近似熵檢驗(yàn)、累加和檢驗(yàn)5 種檢驗(yàn)方法對(duì)SS 和V2Ray 流量載荷內(nèi)容進(jìn)行分析,使用開(kāi)源代碼[21]計(jì)算檢驗(yàn)值,其中塊內(nèi)頻數(shù)檢驗(yàn)、最大1 游程檢驗(yàn)選取的參數(shù)如表1 所示,其他檢驗(yàn)使用代碼默認(rèn)參數(shù)。

        表1 NIST 標(biāo)準(zhǔn)參數(shù)選取Table 1 Selection of NIST standard parameters

        抽取SS 和V2Ray 各50 條流,通過(guò)截取流中前80 Byte 有效載荷,使用NIST 隨機(jī)性檢測(cè)標(biāo)準(zhǔn)對(duì)SS和V2Ray 的通信數(shù)據(jù)隨機(jī)性進(jìn)行度量,表2 給出了每種檢驗(yàn)值的平均值。

        表2 檢驗(yàn)標(biāo)準(zhǔn)平均值Table 2 Average of test standard

        在NIST 隨機(jī)性檢測(cè)標(biāo)準(zhǔn)中,將檢驗(yàn)值與P值比較用來(lái)判定測(cè)試數(shù)據(jù)是否為隨機(jī)產(chǎn)生的。當(dāng)檢驗(yàn)值大于P值時(shí)測(cè)試數(shù)據(jù)被認(rèn)為是隨機(jī)的。本文取P值為0.01,表示序列被認(rèn)為是隨機(jī)序列的置信度為99%。通過(guò)比較,SS 和V2Ray 流量均為加密流量,但是載荷的檢驗(yàn)值接近,難以區(qū)分。因此,需要通過(guò)提取和載荷內(nèi)容無(wú)關(guān)的并且有區(qū)分度的側(cè)信道特征表征安全代理流量,進(jìn)而對(duì)其進(jìn)行識(shí)別和分類(lèi)。

        定義流f中第i個(gè)分組為pkti,其有效載荷為pi,有效載荷長(zhǎng)度為l(pi)。對(duì)于流中前n個(gè)有效載荷長(zhǎng)度不為0 的分組可定義有效載荷長(zhǎng)度序列(Payload Length Sequence,PLS):

        對(duì)于流中前n個(gè)有效載荷長(zhǎng)度不為0 的分組,定義第ik-1個(gè)分組和第ik個(gè)分組時(shí)間間隔為tk,則分組時(shí)間間隔組成的序列如下:

        其中:t0表示流中第1 個(gè)有效載荷長(zhǎng)度不為0 的分組和TCP 三次握手的最后1 個(gè)分組的時(shí)間間隔。

        使用有效載荷長(zhǎng)度構(gòu)建PLS 序列,可以表征流量載荷長(zhǎng)度的變化。為了從整體上對(duì)流量進(jìn)行表征,流中有效載荷長(zhǎng)度統(tǒng)計(jì)量包括最大值、最小值、平均值、方差、中位數(shù)、上四分位數(shù)、下四分位數(shù)以及分組總數(shù)特征被提取作為特征向量的一部分。

        基于上述提取的側(cè)信道特征,根據(jù)算法1 構(gòu)建機(jī)器學(xué)習(xí)算法使用的特征向量F。

        從信號(hào)處理的角度出發(fā),流f可被看作信號(hào)源,流中的分組pkti可被看作i時(shí)刻發(fā)出的信號(hào)Si。Si由分組pkti的有效載荷長(zhǎng)度、分組時(shí)間間隔、分組方向構(gòu)成,定義如下:

        其中:t1=0,dir(pkti)定義如下:

        給定要處理流中的分組個(gè)數(shù)n,對(duì)每一時(shí)刻信號(hào)Si進(jìn)行匯總,構(gòu)成流的信號(hào)序列特征向量:

        使用信號(hào)序列對(duì)網(wǎng)絡(luò)流量進(jìn)行表征,作為1DCNN 和LSTM 深度學(xué)習(xí)算法的輸入,對(duì)安全代理流量進(jìn)行分類(lèi)。

        2.3 機(jī)器學(xué)習(xí)

        本文使用樸素貝葉斯(NB)、邏輯回歸(LR)、支持向量機(jī)(SVM)、隨機(jī)森林(RF)、XGBoost 5 種機(jī)器學(xué)習(xí)算法對(duì)安全代理流量進(jìn)行分類(lèi),利用算法1 得到的特征向量F組成樣本集合進(jìn)行訓(xùn)練,并得到分類(lèi)器。在測(cè)試集上,比較不同n值下的不同分類(lèi)器性能,最終得到最佳分類(lèi)器。

        對(duì)于不同的n值,PLS 長(zhǎng)度不同,一般來(lái)說(shuō),選取流中的分組越多,分類(lèi)器的性能越優(yōu)越,當(dāng)選取的分組總數(shù)達(dá)到一定數(shù)量時(shí),分類(lèi)器的性能會(huì)趨于穩(wěn)定。

        在訓(xùn)練和測(cè)試之前首先對(duì)數(shù)據(jù)進(jìn)行Shuffle 操作,打亂樣本順序,訓(xùn)練集和測(cè)試集比例為3∶1。除了NB 算法外,在訓(xùn)練階段使用GridSearch 算法進(jìn)行參數(shù)搜索,并使用4 折交叉驗(yàn)證。

        2.4 深度學(xué)習(xí)

        本文使用MLP、1D-CNN、LSTM 3 種深度學(xué)習(xí)算法識(shí)別和區(qū)分安全代理流量。

        MLP 架構(gòu)中的隱藏層如表3 所示。MLP 的輸入特征向量為F=(PLS,T,pkt_cnt,S),其中PLS 和T的長(zhǎng)度為8。在每一層隱藏層后加入批量歸一化(BN)層提高模型的收斂速度,并防止過(guò)擬合。

        表3 MLP 隱藏層結(jié)構(gòu)Table 3 Structure of MLP hidden layers

        CNN已經(jīng)在機(jī)器視覺(jué)等多個(gè)領(lǐng)域內(nèi)有了較成熟的應(yīng)用。文獻(xiàn)[14,19]基于流中分組有效載荷,使用2D-CNN深度學(xué)習(xí)算法對(duì)加密流量進(jìn)行分類(lèi)。根據(jù)上文分析,由于SS和V2Ray均使用加密算法對(duì)數(shù)據(jù)進(jìn)行封裝,其流量分組中的載荷均為隨機(jī)字符串,將載荷的隨機(jī)字符串加入到分類(lèi)特征向量中,會(huì)降低分類(lèi)器對(duì)SS和V2Ray的分類(lèi)能力。除分組有效載荷內(nèi)容特征外,可使用的特征包括有效載荷長(zhǎng)度、分組時(shí)間間隔、分組方向等流量的測(cè)信道特征。對(duì)于2D-CNN算法而言,由于卷積核和池化操作均被用來(lái)對(duì)特征進(jìn)行降維,使用側(cè)信道特征構(gòu)成的特征向量F=(PLS,T,pkt_cnt,S)特征維度小,不適合使用2D-CNN 進(jìn)行訓(xùn)練。近年來(lái),1D-CNN 逐漸被用于語(yǔ)音識(shí)別領(lǐng)域[22-23]。將信號(hào)序列SSig=(S1,S2,…,Sn)作為1D-CNN的輸入,可避免特征維度小而難以進(jìn)行訓(xùn)練的問(wèn)題,其中序列的長(zhǎng)度n=30。1D-CNN 框架如圖4所示。

        圖4 1D-CNN 整體架構(gòu)Fig.4 Overall architecture of 1D-CNN

        第1 次卷積后使用最大池化層,第2 次卷積后使用均值池化層,每個(gè)卷積層和全連接層具體參數(shù)如表4 和表5 所示。

        表4 卷積層具體參數(shù)Table 4 Specific parameters of convolutional layers

        表5 全連接層具體參數(shù)Table 5 Specific parameters of full connection layers

        LSTM 是專(zhuān)門(mén)用來(lái)處理時(shí)序特征數(shù)據(jù)的神經(jīng)網(wǎng)絡(luò)。將信號(hào)序列SSig=(S1,S2,…,Sn)作為模型輸入,對(duì)安全代理流量進(jìn)行分類(lèi),其中n=30。其整體架構(gòu)如圖5 所示,其中隱藏層狀態(tài)為64,在LSTM 隱藏層后加入了一層全連接層,其神經(jīng)元個(gè)數(shù)為64,并使用ReLU 激活函數(shù)。最終使用Softmax 分類(lèi)器達(dá)到分類(lèi)的目的。LSTM 整體架構(gòu)如圖5 所示。

        圖5 LSTM 整體架構(gòu)Fig.5 Overall architecture of LSTM

        在訓(xùn)練和測(cè)試深度學(xué)習(xí)算法的分類(lèi)器時(shí),首先進(jìn)行Shuffle 操作打亂樣本順序,訓(xùn)練集和測(cè)試集比例為3∶1。3 種算法的Batch_Size大小為64,并使用Adam 優(yōu)化算法。

        3 實(shí)驗(yàn)與分析結(jié)果

        3.1 數(shù)據(jù)集

        通過(guò)Selenium[24]自動(dòng)爬取ChinaZ[25]排名前840的網(wǎng)頁(yè),構(gòu)造正常的Web 瀏覽流量、SS 流量、V2Ray流量。通過(guò)Bat 腳本自動(dòng)開(kāi)啟Freegate、Ultrasurf 代理軟件,構(gòu)造客戶端連接代理服務(wù)器的流量。所有的網(wǎng)絡(luò)流量均存儲(chǔ)于pcap 或pcapng 文件中,數(shù)據(jù)集總量為10.13 GB,包含109 237 條流。各種類(lèi)型流量在數(shù)據(jù)集中具體分布如表6 所示。

        表6 流量分布Table 6 Flow distribution

        機(jī)器學(xué)習(xí)算法使用scikit-learn 0.22.2[26],深度學(xué)習(xí)算法使用Tensorflow 2.0[27]搭建。

        3.2 特征分析

        不同的安全代理具有不同的流量特征,從有效載荷長(zhǎng)度角度來(lái)看,不同安全代理的有效載荷長(zhǎng)度具有不同的分布,圖6~圖10 分別列出正常Web 瀏覽、SS、V2Ray、Freegate、Ultrasurf 流中第1 個(gè)分組有效載荷長(zhǎng)度的分布。

        圖6 Web 載荷長(zhǎng)度分布Fig.6 Payload length distrubution of Web

        圖7 SS 載荷長(zhǎng)度分布Fig.7 Payload length distrubution of SS

        圖8 V2Ray 載荷長(zhǎng)度分布Fig.8 Payload length distrubution of V2Ray

        圖9 Freegate 載荷長(zhǎng)度分布Fig.9 Payload length distrubution of Freegate

        圖10 Ultrasurf 載荷長(zhǎng)度分布Fig.10 Payload length distrubution of Ultrasurf

        正常的Web 瀏覽流量和SS 流量,除區(qū)間[50~100]外,對(duì)于其他區(qū)間的載荷長(zhǎng)度分布,SS 的有效載荷長(zhǎng)度均大于正常Web 瀏覽流量,可發(fā)生載荷分布平移的現(xiàn)象。這種現(xiàn)象對(duì)Ubuntu16.04下的sslibev 軟件更為明顯。通過(guò)結(jié)合公開(kāi)的SS 協(xié)議設(shè)計(jì)[28]和源碼審計(jì)[29]發(fā)現(xiàn),發(fā)生載荷長(zhǎng)度平移現(xiàn)象是因?yàn)镾S 協(xié)議特殊的封裝方式造成的。以ss-Libev 為例,SS 協(xié)議一般分為SS 請(qǐng)求和SS 數(shù)據(jù)傳輸,用戶在訪問(wèn)網(wǎng)站時(shí),首先會(huì)構(gòu)造SS 請(qǐng)求。SS 請(qǐng)求使用如圖11 所示格式將需要訪問(wèn)的目的地址傳遞給遠(yuǎn)端服務(wù)器。

        圖11 SS 請(qǐng)求格式Fig.11 Request format of SS

        在圖11 中,ATYP 代表地址類(lèi)型,一般為IP 和域名2 種地址類(lèi)型。從客戶端角度分析,如果訪問(wèn)的網(wǎng)站有其對(duì)應(yīng)的IP 地址,則使用IP 地址請(qǐng)求。若沒(méi)有,則會(huì)將域名填入SS 請(qǐng)求消息中。客戶端等待合適的時(shí)機(jī)將請(qǐng)求發(fā)送給遠(yuǎn)端服務(wù)器,讓遠(yuǎn)端服務(wù)器進(jìn)行地址解析。在發(fā)送之前,客戶端會(huì)對(duì)SS 請(qǐng)求進(jìn)行加密,如圖12 所示,其中,灰色部分表示數(shù)據(jù)加密,PADDING 是為了對(duì)齊加密算法密鑰長(zhǎng)度進(jìn)行的數(shù)據(jù)填充。

        圖12 加密后的SS 請(qǐng)求Fig.12 Encrypted request of SS

        SS 本地代理通過(guò)Socks5 協(xié)議收到瀏覽器發(fā)來(lái)的數(shù)據(jù),對(duì)數(shù)據(jù)加密封裝后和SS 請(qǐng)求一起發(fā)往SS服務(wù)器,如圖13 所示。

        圖13 SS 數(shù)據(jù)發(fā)送Fig.13 Data transmission of SS

        V2Ray 安全代理使用VMess 協(xié)議在客戶端和服務(wù)器之間進(jìn)行通信。V2Ray客戶端消息格式如圖14所示。CMD 的具體格式如圖15 所示。

        圖14 VMess 客戶端消息格式Fig.14 Client message format of VMess

        圖15 CMD 具體格式Fig.15 Specific format of CMD

        在圖15 中,IV、KEY 為16 Byte,Other 字段包括選項(xiàng)、余量、加密方式、指令、端口、地址類(lèi)型、地址、隨機(jī)值、校驗(yàn),至少18 Byte。其中余量字段指定了隨機(jī)值字段的長(zhǎng)度,隨機(jī)值字段代表隨機(jī)填充的數(shù)據(jù)。通過(guò)隨機(jī)填充,V2Ray 重塑了所封裝流量的分組有效載荷長(zhǎng)度分布。因此,V2Ray 載荷長(zhǎng)度也會(huì)產(chǎn)生平移現(xiàn)象。

        由于Freegate 和Ultrasurf 的TLS 流量中的密碼套件和拓展字段與正常的TLS 流量有差異,因此這些流量的有效載荷長(zhǎng)度和正常的Web 瀏覽具有一定的區(qū)分度。

        3.3 實(shí)驗(yàn)結(jié)果

        3.3.1 評(píng)價(jià)指標(biāo)

        為了評(píng)估分類(lèi)器的性能,本文使用準(zhǔn)確率、宏精確率、宏召回率以及宏F1 值4 個(gè)指標(biāo),最終給出模型分類(lèi)結(jié)果的混淆矩陣。以上指標(biāo)的計(jì)算公式如下:

        其中:TPi是每一類(lèi)正確預(yù)測(cè)的樣本;Pi是每一類(lèi)別的精確率;Ri是每一類(lèi)別的召回率;N是測(cè)試樣本總數(shù);n為類(lèi)別總數(shù)。

        3.3.2 深度包檢測(cè)

        本文運(yùn)用4 種開(kāi)源深度包檢測(cè)工具進(jìn)行測(cè)試,檢視這些工具對(duì)安全代理流量識(shí)別的能力。檢測(cè)工具具體信息如表7 所示。

        表7 深度包檢測(cè)工具Table 7 Inspection tools of deep packet

        由于SS 和V2Ray 對(duì)流量的加密封裝,這4 種深度包檢測(cè)工具均不能識(shí)別SS 和V2Ray 流量。Freegate 和Ultrasurf 均被識(shí)別為T(mén)LS 流量。深度包檢測(cè)工具主要是通過(guò)內(nèi)置的簽名庫(kù)進(jìn)行字段匹配,若沒(méi)有相應(yīng)的簽名匹配則不能識(shí)別流量的種類(lèi),并且容易對(duì)Freegate 和Ultrasurf 的TLS 偽裝流量造成誤報(bào)。因此,防火墻使用深度包檢測(cè)方法不能有效過(guò)濾安全代理流量。

        3.3.3 機(jī)器學(xué)習(xí)算法

        NB、LR、SVM、RF 以及XGBoost 5 種機(jī)器學(xué)習(xí)算法以F=(PLS,T,pkt_cnt,S)作為特征向量對(duì)4種安全代理流量進(jìn)行識(shí)別和分類(lèi)。在不同PLS 長(zhǎng)度下,圖16 和圖17 分別展示了5 種算法準(zhǔn)確率和F1 值的變化。

        圖16 機(jī)器學(xué)習(xí)算法準(zhǔn)確率Fig.16 Accuracy of machine learning algorithms

        圖17 機(jī)器學(xué)習(xí)算法F1 值Fig.17 F1-score of machine learning algorithms

        從圖16 和圖17 可以看出:使用XGBoost 和RF 構(gòu)建的分類(lèi)器均能夠獲得良好的分類(lèi)性能,并且XGBoost的準(zhǔn)確率比RF平均高1.21%,F(xiàn)1值平均高1.2%。當(dāng)PLS長(zhǎng)度大于3時(shí),XGBoost和RF的分類(lèi)器性能趨于穩(wěn)定。當(dāng)PLS 長(zhǎng)度為8 時(shí),XGBoost 的準(zhǔn)確率為98.4%,F(xiàn)1 值為98.36%。相比于NB、LR、SVM,使用屬于集成學(xué)習(xí)的XGBoost 和RF 算法性能有明顯提升。圖18 給出了PLS 長(zhǎng)度為8 時(shí),XGBoost 的分類(lèi)混淆矩陣。

        圖18 XGBoost 混淆矩陣Fig.18 Confusion matrix of XGBoost

        3.3.4 深度學(xué)習(xí)算法

        前饋神經(jīng)網(wǎng)絡(luò)使用PLS 長(zhǎng)度為8 時(shí)的特征向量F=(PLS,T,pkt_cnt,S)作為輸入。1D-CNN 和LSTM使用構(gòu)建的信號(hào)序列SSig=(S1,S2,…,S30)分別對(duì)4 種安全代理流量進(jìn)行識(shí)別和區(qū)分。算法的準(zhǔn)確率和損失隨輪數(shù)(Epoch)增加的變化趨勢(shì)分別如圖19 和圖20 所示。從圖19 和圖20 可以看出:與MLP 和LSTM 算法相比,1D-CNN 算法在訓(xùn)練時(shí)的準(zhǔn)確率和損失隨著輪數(shù)的增加分別在平穩(wěn)地增加和減少。最終相比分類(lèi)器在測(cè)試集上的性能,1D-CNN 算法的性能最優(yōu)越。1D-CNN 算法的分類(lèi)混淆矩陣如圖21所示。

        圖19 準(zhǔn)確率變化趨勢(shì)Fig.19 Change trend of accuracy

        圖20 損失變化趨勢(shì)Fig.20 Change trend of loss

        圖21 1D-CNN 混淆矩陣Fig.21 Confusion matrix of 1D-CNN

        3.3.5 結(jié)果對(duì)比

        從分類(lèi)器性能分析可以看出,在5 種機(jī)器學(xué)習(xí)算法中,XGBoost算法性能最優(yōu)越。在3 種深度學(xué)習(xí)算法中,1D-CNN算法性能最優(yōu)越。表8對(duì)比了RF、XGBoost、LSTM 以及1D-CNN 算法在測(cè)試集上的性能。

        表8 各算法性能對(duì)比Table 8 Performance comparison of each algorithm %

        從表8 分析可以看出:XGBoost算法的性能是最優(yōu)的,與1D-CNN 算法相比較,準(zhǔn)確率、精確率、召回率和F1 值分別提高了1.33、1.30、1.47、1.40 個(gè)百分點(diǎn)。

        文獻(xiàn)[8-12]分別從不同的特征角度對(duì)SS 流量進(jìn)行區(qū)分,除使用載荷統(tǒng)計(jì)量、分組總數(shù)表征流量整體的特征外,本文提取了反映流量特征變化的PLS 序列和信號(hào)序列,利用序列中特征的不同分布能夠獲得更好的性能。性能結(jié)果對(duì)比如表9 所示。

        表9 不同算法識(shí)別SS 流量方法的性能對(duì)比Table 9 Performance comparison of different algorithms for identifying SS traffic %

        文獻(xiàn)[15]運(yùn)用2D-CNN 對(duì)SS 和V2Ray 流量進(jìn)行區(qū)分,當(dāng)訓(xùn)練輪數(shù)達(dá)到5 000 時(shí),準(zhǔn)確率達(dá)到93.3%;本文使用1D-CNN 在訓(xùn)練輪數(shù)達(dá)到500 時(shí),準(zhǔn)確率達(dá)到98.22%,計(jì)算開(kāi)銷(xiāo)更小。

        4 結(jié)束語(yǔ)

        本文根據(jù)流的不同側(cè)信道統(tǒng)計(jì)特征,提出一種基于側(cè)信道特征的安全代理流量分類(lèi)方法。通過(guò)構(gòu)建特征向量對(duì)安全代理流量進(jìn)行表征,分別使用5 種機(jī)器學(xué)習(xí)算法和3 種深度學(xué)習(xí)算法識(shí)別和區(qū)分安全代理流量。實(shí)驗(yàn)結(jié)果表明,相比深度包檢測(cè)方法,該方法使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法,避免了關(guān)鍵字段匹配技術(shù)的缺陷,提高了分類(lèi)性能。在本文使用的分類(lèi)算法中,XGBoost 算法的性能最優(yōu)越,與其他算法使用特征獲得的分類(lèi)器性能相比,本文提取與載荷內(nèi)容無(wú)關(guān)的側(cè)信道特征表征載荷長(zhǎng)度變化,區(qū)分安全代理流量,達(dá)到較好的分類(lèi)效果。下一步將對(duì)Lantern、Trojan、賽風(fēng)等安全代理軟件進(jìn)行分類(lèi),加強(qiáng)防火墻的網(wǎng)絡(luò)審查能力,以彌補(bǔ)深度包檢測(cè)技術(shù)的不足。

        猜你喜歡
        有效載荷分類(lèi)器代理
        理念牽引 機(jī)制創(chuàng)新 人才驅(qū)動(dòng) 做有效載荷創(chuàng)新發(fā)展領(lǐng)跑者
        面向有效載荷數(shù)字化研制的標(biāo)準(zhǔn)化工作轉(zhuǎn)型初探
        衛(wèi)星有效載荷研制流程的策劃與推進(jìn)
        代理圣誕老人
        代理手金寶 生意特別好
        BP-GA光照分類(lèi)器在車(chē)道線識(shí)別中的應(yīng)用
        加權(quán)空-譜與最近鄰分類(lèi)器相結(jié)合的高光譜圖像分類(lèi)
        結(jié)合模糊(C+P)均值聚類(lèi)和SP-V-支持向量機(jī)的TSK分類(lèi)器
        復(fù)仇代理烏龜君
        基于LLE降維和BP_Adaboost分類(lèi)器的GIS局部放電模式識(shí)別
        免费蜜桃视频在线观看| 精品高清国产乱子伦| 99国产综合精品-久久久久| 蜜桃视频中文在线观看| 91国内偷拍一区二区三区| 爱爱免费视频一区二区三区 | 亚洲一区二区蜜桃视频| 亚洲欧洲成人a∨在线观看 | 在线观看国产视频你懂得| 日本xxxx色视频在线观看免费| 美女张开腿黄网站免费| 日韩人妻一区二区三区蜜桃视频 | 丁香五月缴情在线| 婷婷亚洲久悠悠色悠在线播放| 99久久久无码国产精品免费砚床| 国产高潮精品久久AV无码| 黄 色 成 年 人 网 站免费| 在线亚洲精品免费视频| 国产三级精品av在线| 人妻无码第一区二区三区| 亚洲熟妇自偷自拍另欧美| 9lporm自拍视频区| 一本大道香蕉视频在线观看| 黄色录像成人播放免费99网| 日本中文字幕有码在线播放| 男人女人做爽爽18禁网站| 亚洲一本到无码av中文字幕| 亚洲伊人久久大香线蕉综合图片| 天堂av在线一区二区| 亚洲中文字幕乱码一二三| 一边捏奶头一边高潮视频| 性欧美老人牲交xxxxx视频| 日日摸夜夜添无码无码av| 久久免费视亚洲无码视频| 激情亚洲综合熟女婷婷| 国产中文色婷婷久久久精品| 亚洲中国精品精华液| 亚洲av无码一区二区二三区| 久久久久国产一级毛片高清版A | 成人在线观看av毛片| 日本亚洲欧美色视频在线播放|