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

        ?

        一種面向加密流量的網(wǎng)絡(luò)應(yīng)用識別方法

        2020-04-20 05:03:02孫中軍翟江濤
        計算機工程 2020年4期
        關(guān)鍵詞:字段數(shù)據(jù)流數(shù)據(jù)包

        孫中軍,翟江濤

        (江蘇科技大學(xué) 電子信息學(xué)院,江蘇 鎮(zhèn)江 212003)

        0 概述

        近年來,以僵尸網(wǎng)絡(luò)[1]、高級持續(xù)性威脅(Advanced Persistent Threat,APT)[2-4]、木馬[5]等為主要形式的網(wǎng)絡(luò)攻擊事件不斷發(fā)生,用戶對隱私保護和網(wǎng)絡(luò)安全意識逐漸增強,使得加密流量在互聯(lián)網(wǎng)流量中占比越來越大。安全套接層(Secure Socket Layer,SSL)協(xié)議具備良好的兼容性和易用性[6],因此網(wǎng)絡(luò)應(yīng)用大多使用SSL加密協(xié)議來保證信息在網(wǎng)絡(luò)中安全的傳輸,針對其的識別研究也受到科研工作者的廣泛關(guān)注。

        當前國內(nèi)外學(xué)者在加密流量識別領(lǐng)域取得了諸多研究成果。文獻[7]計算未加密流量與加密流量的相關(guān)性,從相關(guān)性角度選取29種未加密流量與加密流量強相關(guān)的特征輸入機器學(xué)習算法識別加密流量并取得了較好的效果,但是該方法選取特征多、計算量大,不能實現(xiàn)在線流量實時識別。文獻[8]在國際公開ISCX VPN-nonVPN數(shù)據(jù)集上對數(shù)據(jù)包進行填充、截取等處理,無需提取特征并將數(shù)據(jù)包字節(jié)輸入CNN算法模型進行識別,實驗結(jié)果證明該方法能有效地進行流量分類識別。文獻[9]根據(jù)加密數(shù)據(jù)的隨機性特點,提出一種基于加權(quán)累積和檢驗的時延自適應(yīng)加密流量盲識別算法,通過實驗驗證了該方法能有效區(qū)別加密流量。然而,上述方法通常只進行網(wǎng)絡(luò)中加密流量粗顆粒的識別,但是隨著流量分析需求的提高,僅識別流量是否加密遠遠不夠,需要更進一步精細化識別加密流量的具體應(yīng)用[10],實現(xiàn)對網(wǎng)絡(luò)中流量的可控可管,同時由于安全性和兼容性的考慮,SSL協(xié)議的應(yīng)用變得越來越復(fù)雜,如何有效進行精細化識別SSL協(xié)議下的網(wǎng)絡(luò)應(yīng)用已成為當前網(wǎng)絡(luò)管理面臨的挑戰(zhàn)。本文提出基于SSL協(xié)議交互字段與多輸入最大化單輸出隱馬爾可夫模型(Hidden Markov Model,HMM)的并行識別方法。

        1 SSL協(xié)議與消息編碼

        SSL協(xié)議提供應(yīng)用層和傳輸層之間的數(shù)據(jù)安全性機制[11],在客戶端和服務(wù)器之間建立安全通道,對數(shù)據(jù)進行加密保護,從而保證數(shù)據(jù)在網(wǎng)絡(luò)傳輸過程中的信息安全,SSL協(xié)議現(xiàn)已廣泛應(yīng)用于網(wǎng)絡(luò)中。SSL協(xié)議分層及數(shù)據(jù)封裝如圖1所示,上層為SSL握手協(xié)議、SSL改變密碼規(guī)則協(xié)議和SSL報警協(xié)議,下層為SSL記錄協(xié)議[12]。

        圖1 SSL數(shù)據(jù)封裝格式Fig.1 Format of SSL data encapsulation

        SSL在客戶端和服務(wù)器中的會話過程如圖2所示。客戶端與服務(wù)器相互問詢并協(xié)商所使用的協(xié)議版本,選擇加密算法;客戶端服務(wù)器相互認證,協(xié)商加密密鑰及其更改規(guī)范;協(xié)商完成后開始在加密的網(wǎng)絡(luò)通道傳輸應(yīng)用數(shù)據(jù)[13]。

        圖2 SSL會話過程Fig.2 SSL session process

        為更方便地描述及識別具體的加密流量應(yīng)用,本文對SSL協(xié)議會話消息按圖3的方式進行編碼。

        圖3 SSL會話編碼表Fig.3 Encoding table of a SSL session

        本文實驗識別對象為SSL加密協(xié)議下的應(yīng)用,相比傳統(tǒng)的特征向量,本文方法采用SSL協(xié)議交互階段的字段作為特征向量可靠性高,并且容易提取。本文實驗根據(jù)SSL協(xié)議交互階段的字段特點進行識別具體加密流量的應(yīng)用,不同加密應(yīng)用數(shù)據(jù)流在來自服務(wù)器端方向和來自客戶端方向的SSL協(xié)議交互階段的字段具有不同的出現(xiàn)規(guī)律,比如本文使用來自服務(wù)器端方向的網(wǎng)絡(luò)流,則可以采用圖4的方式表示2條來自某應(yīng)用Y的流,其具有在C:3,C:6字段后出現(xiàn)A、C字段的特點,之后傳輸不同個數(shù)的應(yīng)用數(shù)據(jù)包。

        圖4 加密應(yīng)用消息編碼流Fig.4 Coding streams of an encrypted application message

        本文用X={X1,X2,…,Xn}表示網(wǎng)絡(luò)流的集合,其中,X集合中包含n個網(wǎng)絡(luò)流,Xi表示X集合中的一條網(wǎng)絡(luò)流,Xi={Z1,Z2,…,Zk}表示Xi這條網(wǎng)絡(luò)流的集合包括k個數(shù)據(jù)包,Zi表示其中的一個數(shù)據(jù)包,本文定義數(shù)據(jù)包為五元組Zi=,其中,No表示數(shù)據(jù)包序號,Source表示源IP,Destination表示目的IP,Protocol表示傳輸層協(xié)議,Info表示SSL協(xié)議交互子協(xié)議。Y={Y1,Y2,…,Ym}表示共有m個加密應(yīng)用的集合,本文設(shè)計的識別模型功能即實現(xiàn)集合X到集合Y的映射,從而實現(xiàn)SSL加密流量應(yīng)用的有效識別。

        2 基于隱馬爾可夫模型的加密應(yīng)用識別方法

        2.1 隱馬爾可夫模型

        隱馬爾可夫模型[14]是關(guān)于時序的概率模型,滿足“將來”的狀態(tài)分布只取決于“現(xiàn)在”與“過去”無關(guān)的馬爾科夫過程[15]和任一時刻的觀測狀態(tài)只與該時刻的隱藏狀態(tài)有關(guān)的假設(shè),其包含了一個底層隱藏的隨時間改變的馬爾科夫過程,可以看作是馬爾科夫模型的概率函數(shù)。

        隱馬爾科夫模型的構(gòu)建首先要初始化均勻分布模型;然后利用Viterbi算法求得第一次計算的狀態(tài)序列;之后利用Baum-Welch算法[16]計算出第一次的五元組模型的參數(shù)ψ={S,O,A,B,π},其中,S表示隱藏狀態(tài)的集合,N為隱狀態(tài)個數(shù),O表示觀測狀態(tài)的集合,M為觀測狀態(tài)個數(shù),A表示隱藏狀態(tài)的N×N的狀態(tài)轉(zhuǎn)移概率矩陣,B表示隱藏狀態(tài)到觀測狀態(tài)的N×M的混淆矩陣,π表示隱藏狀態(tài)的初始化概率矩陣;最后用重估公式判斷是否收斂,若沒有收斂則繼續(xù)不斷的迭代計算,否則即可得到最優(yōu)的模型參數(shù)。具體模型的建立過程如圖5所示。

        圖5 隱馬爾科夫模型建立過程Fig.5 Establishment process of HMM

        2.2 面向加密流量的應(yīng)用識別方法

        傳統(tǒng)模型在識別加密應(yīng)用時通常存在特征提取困難和特征冗余的問題,而本文方法采用SSL協(xié)議交互階段的字段作為隱馬爾科夫模型的觀測序列O=(O1,O2,…,Ot),相比較傳統(tǒng)方法的特征,SSL協(xié)議交互階段的字段容易提取,且避免了過多的特征帶來的特征冗余問題,繼而造成特征偏置降低模型分類性能和效率。因此,本文提出一種基于SSL協(xié)議交互字段的多輸入最大化單輸出HMM并行識別框架。該框架只需觀察來自客戶端或者服務(wù)器單方向數(shù)據(jù)流的SSL協(xié)議交互階段字段序列作為隱馬爾科夫的觀測序列,通過對均勻分布的初始化模型不斷迭代訓(xùn)練學(xué)習,找到最佳的模型λ,從而獲得與觀測序列最匹配的隱藏狀態(tài)。該觀測序列與隱藏狀態(tài)并不是一一對應(yīng)的關(guān)系,而是存在概率的對應(yīng)關(guān)系,即通過前向算法得到最大的P(λ|O),利用隱馬爾科夫模型的雙重隨機性可以達到識別加密流量應(yīng)用的目的。多輸入最大化單輸出的HMM并行識別流程(如圖6所示)具體如下:

        1)通過電腦開啟無線熱點功能,用智能手機連接無線熱點并訪問應(yīng)用服務(wù)器,同時用Wireshark捕獲手機訪問應(yīng)用服務(wù)器的數(shù)據(jù)包作為原始數(shù)據(jù)集。

        2)進一步對原始數(shù)據(jù)集進行預(yù)處理,過濾丟棄非SSL數(shù)據(jù)包,提取SSL數(shù)據(jù)包五元組存入數(shù)據(jù)庫,并對SSL交互協(xié)議字段排序連接去重,最后構(gòu)成SSL網(wǎng)絡(luò)流實驗數(shù)據(jù)集。

        3)對待識別的所有應(yīng)用建立模型形成指紋庫。獲取觀測序列樣本并輸入每個HMM模型,利用前向算法計算得出該加密應(yīng)用被識別為每個HMM模型的概率,并進行對數(shù)變換以避免得出的概率值太小導(dǎo)致數(shù)值太密集。

        4)隨機選擇每種應(yīng)用的100個樣本特征輸入每個HMM模型進行比較,取所得的最小的概率值作為閾值。

        5)將求得概率與閾值進行比較,若得出的概率小于閾值的樣本,則反饋給模型,表示模型不存在該應(yīng)用;若大于閾值,則取概率最大的模型對應(yīng)的應(yīng)用作為識別結(jié)果,表示應(yīng)用識別成功。

        圖6 多輸入最大化單輸出的HMM并行識別流程Fig.6 Procedure of HMM parallel identification with multipleinputs and a maximal single output

        3 實驗結(jié)果與分析

        3.1 實驗環(huán)境

        本文實驗的主機配置:操作系統(tǒng)為Windows 7專業(yè)版,CPU為四核Intel(R)Core(TM)i5-3230M CPU @2.60 GHz,8 GB內(nèi)存。第三方軟件及API包括VMware Worksation 12、Ubuntu 16.04、Wireshark 2.2.1、MySQL 8.0.13、Python 3.6.4、scapy-ssl、hmmlearn等。

        3.2 實驗數(shù)據(jù)集

        3.2.1 數(shù)據(jù)集預(yù)處理

        本文實驗的數(shù)據(jù)集預(yù)處理流程如圖7所示,首先通過智能手機連接無線熱點捕獲原始數(shù)據(jù)集,進一步過濾丟棄非SSL數(shù)據(jù)包,提取SSL數(shù)據(jù)包五元組存入數(shù)據(jù)庫,并對SSL交互協(xié)議字段排序連接與去重,最后構(gòu)成SSL網(wǎng)絡(luò)流實驗數(shù)據(jù)集。

        圖7 數(shù)據(jù)集預(yù)處理流程Fig.7 Procedure of dataset preprocessing

        3.2.2 數(shù)據(jù)集獲取

        為測試本文方法檢測加密應(yīng)用的準確性,實驗數(shù)據(jù)集來源于實驗室真實網(wǎng)絡(luò)。如圖8所示,通過智能手機連接無線熱點訪問應(yīng)用服務(wù)器,并用Wireshark捕獲支付寶、新浪微博、印象筆記、前程無憂51Job這4種SSL加密應(yīng)用流量數(shù)據(jù)包,實驗數(shù)據(jù)集信息如表1所示。

        圖8 數(shù)據(jù)集獲取示意圖Fig.8 Schematic diagram of dataset acquisition

        表1 實驗數(shù)據(jù)集設(shè)置Table 1 Setting of the experimental dataset

        3.2.3 SSL過濾

        由于流經(jīng)網(wǎng)卡的數(shù)據(jù)包有多個網(wǎng)絡(luò)應(yīng)用,而并非每個應(yīng)用都使用SSL協(xié)議加密數(shù)據(jù)包,因此捕獲的流量有很多是與本文實驗無關(guān)的非SSL數(shù)據(jù)包,需要進一步過濾處理獲得純凈的實驗數(shù)據(jù)集。

        本文實驗根據(jù)網(wǎng)絡(luò)流的前3個數(shù)據(jù)包字節(jié)判斷過濾SSL數(shù)據(jù)包,其中,biti[x]表示包i中的第x比特,biti[x:y]表示包i中的第x比特至第y比特,令Bytei[z]表示包i中的第z個字節(jié),Sizei表示包i的大小。過濾算法的偽代碼如下:

        If bit2[0]=1 and bit2[1]=0 and bit2[2:15]=Size2 and Byte2[3]=4

        This is an SSLv2 connection

        Else If Byte2[1]=22 and Byte2[2]=3

        If Byte2[3]=0

        This is an SSLv3.0 connection

        Else If Byte2[3]=1

        This is a TLS connection

        Else Connection is not using SSL

        Else Connection is not using SSL

        3.2.4 網(wǎng)絡(luò)流構(gòu)成

        對于過濾出數(shù)據(jù)集的SSL加密網(wǎng)絡(luò)數(shù)據(jù)流,本文提取數(shù)據(jù)包的五元組信息并存入Mysql數(shù)據(jù)庫。由于網(wǎng)絡(luò)等原因SSL協(xié)議交互階段存在重復(fù)發(fā)送的現(xiàn)象,因此需要進一步去除重復(fù)交互字段提高實驗效果。

        通過大量的數(shù)據(jù)包統(tǒng)計和SSL協(xié)議設(shè)計的特點,發(fā)現(xiàn)加密應(yīng)用的SSL會話由“Server Hello”開始,因此可以按照Info字段的值,“Server Hello”將不同會話的數(shù)據(jù)包分割構(gòu)成隱馬爾可夫模型的觀測序列。本文設(shè)計的多輸入最大化單輸出HMM識別框架僅需對來自一個方向的網(wǎng)絡(luò)流進行分析,實驗選取服務(wù)器到客戶端的數(shù)據(jù)流作為研究對象,最終獲取的實驗數(shù)據(jù)集樣式如表2所示。

        表2 實驗數(shù)據(jù)集樣式Table 2 Format of the experimental dataset

        3.2.5 數(shù)據(jù)集標記

        本文實驗采用逆向域名解析系統(tǒng)(Reverse Domain Name System,RDNS)和人工標記相結(jié)合的方法標記數(shù)據(jù)集。RDNS是域名解析系統(tǒng)的逆向解析過程,能夠根據(jù)輸入的IP地址,獲取該IP的歸屬信息。本文系統(tǒng)使用Linux的nslookup命令解析IP,如命令nslookup qt=ptr 110.75.130.49解析結(jié)果為49.130.75.110.in-addr.arpa name=host-49.alipay.com,則將IP 110.75.130.49標記為支付寶應(yīng)用,但是并不是所有的IP都能用RDNS得到IP的歸屬信息,對于這部分的應(yīng)用采用人工標注的方法,在連接到無線熱點的智能手機上,僅啟動目的應(yīng)用,從捕獲到的數(shù)據(jù)包中利用排除法確定目的應(yīng)用的服務(wù)器IP。

        3.3 結(jié)果分析

        3.3.1 評價指標

        為客觀評價本文方法的性能,選擇準確率(True Positive Rate,TPR)和虛警率(False Positive Rate,FPR)這2項評價指標,準確率是所有預(yù)測正確樣本占總樣本的比重,虛警率是反映被判為正例樣本中負例樣本數(shù)量的比重,計算公式為:

        TPR=Tp/(Tp+Fp)

        (1)

        FPR=FP/(FP+TN)

        (2)

        其中,Tp表示目的加密應(yīng)用的樣本被正確識別的個數(shù),Fp表示真實是非目的加密應(yīng)用但被正確標識為目的加密應(yīng)用的個數(shù),TN表示真實是非目的加密應(yīng)用被錯誤標識為目的加密應(yīng)用的個數(shù)。

        3.3.2 不同方向數(shù)據(jù)流的比較

        如圖9所示,來自服務(wù)器單方向(SC)數(shù)據(jù)流和兩個方向(SC-CS)的數(shù)據(jù)流在本文方法中都具有良好的識別效果,由于SC單方向數(shù)據(jù)流相對于SC-CS方向數(shù)據(jù)流模型計算量小,考慮到模型時間效率和計算機的資源開銷,本文采用只觀察來自SC單方向數(shù)據(jù)流來識別加密應(yīng)用,這更符合對加密應(yīng)用的實時識別需求。

        圖9 不同方向數(shù)據(jù)流的準確率比較Fig.9 Comparison of true positive rate of data streams indifferent directions

        3.3.3 與傳統(tǒng)識別方法的比較

        圖10、圖11是本文提出的基于SSL協(xié)議交互字段與多輸入最大化單輸出HMM的并行識別方法與文獻[17-18]識別方法的實驗效果對比。本文方法通過對數(shù)據(jù)集按7 ∶3的比例隨機劃分訓(xùn)練集和測試集,經(jīng)過多次實驗驗證其對加密應(yīng)用識別的平均準確率和虛警率分別為95.78%和5.16%,較文獻[17-18]識別方法在平均準確率上分別提高了5.66%和2.46%,同時在平均虛警率上分別下降了3.19%和2%,各項性能指標均優(yōu)于已有的加密應(yīng)用識別模型。對本文方法識別失敗的樣本進行分析可知,少量數(shù)據(jù)流存在某個SSL會話字段的發(fā)送失敗,這就造成了不同加密應(yīng)用的特征模糊化,降低了模型識別效果。文獻[17]將網(wǎng)絡(luò)流的前15個數(shù)據(jù)包的大小、包間間隔和流的方向作為特征輸入C4.5算法分類器,對加密應(yīng)用識別的平均準確率和虛警率分別為90.12%和8.35%,但是該方法很容易通過修改數(shù)據(jù)包大小,從而達到規(guī)避模型識別的目的,導(dǎo)致模型識別加密應(yīng)用失敗。而本文采用SSL協(xié)議交互階段的字段作為隱馬爾科夫模型的觀測序列,很難將非法數(shù)據(jù)包偽裝成合法數(shù)據(jù)包,具有較好的安全保障。文獻[18]先去除原始數(shù)據(jù)零負載的數(shù)據(jù)包預(yù)處理操作,并設(shè)置Brust Threshold為1 s,進行Service Brust后提取特征通過多分類器融合分類,對本文實驗數(shù)據(jù)集的加密應(yīng)用識別的平均準確率和虛警率分別為93.32%和7.18%,但該方法所提取的時間流特征容易受到網(wǎng)絡(luò)波動的影響,可靠性較低,同時存在部分加密應(yīng)用的流特征表現(xiàn)相似的問題,從而導(dǎo)致模型不能進行準確識別,造成模型之間識別效果的差異。

        圖10 3種識別方法的準確率比較Fig.10 Comparison of true positive rate of threeidentification methods

        圖11 3種識別方法的虛警率比較Fig.11 Comparison of false positive rate of threeidentification methods

        3.3.4 魯棒性分析

        為測試識別方法的魯棒性,本文實驗通過數(shù)據(jù)集新加入百度貼吧、有道云筆記應(yīng)用模擬出現(xiàn)新的未知SSL加密應(yīng)用。本文設(shè)計的識別方法具有一定的自主學(xué)習能力,只需將未知序列進行不斷迭代訓(xùn)練得到新的HMMi,無需對其他已經(jīng)建立的HMM進行重新訓(xùn)練,這樣既節(jié)約了時間,又方便應(yīng)用指紋庫的管理。如圖12所示,本文方法對加密應(yīng)用的平均識別準確率和虛警率分別為95.51%和5.42%,可以看出其在有干擾的情況下總體表現(xiàn)穩(wěn)定,并且具有良好的魯棒性。

        圖12 本文方法在未知加密應(yīng)用下的識別性能Fig.12 Identification performance of the proposed methodunder unknown encrypted applications

        4 結(jié)束語

        本文對原始數(shù)據(jù)集進行過濾與去重處理以構(gòu)成SSL數(shù)據(jù)流,使用逆向域名解析系統(tǒng)和人工標記相結(jié)合的方法標記實驗數(shù)據(jù)集,根據(jù)不同加密應(yīng)用在SSL協(xié)議中的會話特征構(gòu)建單個隱馬爾可夫模型到多個隱馬爾可夫模型的集合,從而提出一種基于SSL協(xié)議交互字段與多輸入最大化單輸出HMM的并行識別方法。實驗結(jié)果表明,該方法只需觀察來自客戶端或者服務(wù)器單方向數(shù)據(jù)流的SSL協(xié)議交互階段的字段序列即可完成模型建立和加密應(yīng)用識別。但由于實驗處于簡單的網(wǎng)絡(luò)環(huán)境,本文方法僅可應(yīng)用于某些特定的安全傳輸協(xié)議(如SSL協(xié)議)的加密應(yīng)用分類中,因此下一步將考慮在更復(fù)雜的網(wǎng)絡(luò)環(huán)境中研究加密應(yīng)用識別問題。

        猜你喜歡
        字段數(shù)據(jù)流數(shù)據(jù)包
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        汽車維修數(shù)據(jù)流基礎(chǔ)(下)
        SmartSniff
        一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
        基于數(shù)據(jù)流聚類的多目標跟蹤算法
        CNMARC304字段和314字段責任附注方式解析
        北醫(yī)三院 數(shù)據(jù)流疏通就診量
        無正題名文獻著錄方法評述
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
        關(guān)于CNMARC的3--字段改革的必要性與可行性研究
        免费观看a级片| 玩弄极品少妇被弄到高潮| 字幕网中文字幕精品一区| 日本高清在线一区二区三区| 久久夜色精品国产欧美乱| 好爽受不了了要高潮了av| 国产成年女人特黄特色毛片免 | 日韩精品在线免费视频| 国偷自产视频一区二区久| 俺也去色官网| 国产内射视频在线观看| 精品国产一区二区三区av天堂| 亚洲精品国产美女久久久| 五月天综合在线| 一级做a爱视频在线播放| 麻豆最新国产av原创| 免费看黄a级毛片| 日韩日韩日韩日韩日韩| 国产精品成人免费视频网站京东| 99精品国产第一福利网站| 情头一男一女高冷男女| 国产精品福利一区二区| 亚洲av无码乱码国产精品fc2 | 青草青草久热精品视频国产4| 亚洲成av人片极品少妇| 西川结衣中文字幕在线| 在线不卡av片免费观看| 亚洲αⅴ无码乱码在线观看性色| 国产精品一区二区三区成人| 国产成人无码av一区二区在线观看 | av网站大全免费在线观看 | 欧美日韩精品一区二区三区不卡| 精品视频在线观看一区二区三区| 久久精品亚洲94久久精品| 日产亚洲一区二区三区| 欧美成人免费观看国产| 亚洲精品综合久久中文字幕| 日本国产成人国产在线播放| 免费人成年小说在线观看| 国产亚洲青春草在线视频| 亚洲天堂成人av在线观看|