翟明芳,張興明,趙博
基于深度學(xué)習(xí)的加密惡意流量檢測研究
翟明芳,張興明,趙博
(國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心,河南 鄭州 450002)
隨著網(wǎng)絡(luò)安全防范意識增強(qiáng),加密通信占據(jù)主流,加密流量快速增長。流量加密在保護(hù)隱私的同時,也掩飾非法企圖,改變威脅形式。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)領(lǐng)域的重要分支,是流量分類的有力工具。近年來,將深度學(xué)習(xí)方法應(yīng)用于入侵檢測的研究不斷深入,取得良好效果。在深入調(diào)研文獻(xiàn)的基礎(chǔ)上,將加密惡意流量檢測的步驟總結(jié)歸納為“六步法”的一般檢測框架模型,結(jié)合模型對數(shù)據(jù)處理及檢測算法進(jìn)行回顧總結(jié),指出各類算法模型的優(yōu)缺點,并對未來研究方向進(jìn)行展望,以期為下一步研究提供幫助。
加密流量;惡意流量檢測;深度學(xué)習(xí);數(shù)據(jù)處理
當(dāng)今社會,信息通信技術(shù)飛速發(fā)展,網(wǎng)絡(luò)安全問題日益突出,隱私泄露風(fēng)險加劇。根據(jù)中國消費者協(xié)會測評報告[1],有超過九成App涉嫌過度收集用戶個人信息。2018年3月,F(xiàn)acebook公司大規(guī)模數(shù)據(jù)泄露且被惡意利用;我國發(fā)生了十幾億條快遞公司用戶信息泄露[2]等事件。頻發(fā)的安全事件使隱私保護(hù)成為焦點,加密流量也呈飆升態(tài)勢。Gartner報告[3]稱:2019年有超過80%的流量為加密流量。圖1[4]顯示了火狐網(wǎng)頁訪問中HTTPS流量占比的增長趨勢。
圖1 火狐網(wǎng)頁訪問中HTTPS流量占比
Figure 1 Proportion of HTTPS traffic in Firefox Web page access
流量加密在保護(hù)用戶隱私的同時,給不法分子以可乘之機(jī)。惡意移動應(yīng)用普遍采用加密流量(如HTTPS等)傳輸網(wǎng)絡(luò)數(shù)據(jù)以躲避檢測[5]。賽倫(Cyren)[6]安全研究發(fā)現(xiàn),有37%的惡意軟件使用HTTPS,每個主要的勒索軟件家族都曾通過HTTPS進(jìn)行傳播。因此,對加密的惡意流量進(jìn)行檢測刻不容緩。
實際入侵檢測過程中,加密與非加密惡意流量的差異主要表現(xiàn)在以下4方面。①特征差異。二者的流量特征明顯不同,部分非加密流量識別方法很難適用于加密流量,如DPI方法[7]。②復(fù)雜性差異。加密協(xié)議多樣(如SSL/TLS、SSH、P2P等),缺少普適識別方法,常需要針對不同加密協(xié)議采取特定的識別方法,或采用多種識別策略集成的方法。③技術(shù)差異。惡意加密常采用流量偽裝技術(shù)(如協(xié)議混淆和協(xié)議變種[8]),把加密流量特征變換成普通流量特征。④精細(xì)化差異。目前,加密惡意流量識別研究主要集中于二分類或少數(shù)幾類攻擊的識別,實現(xiàn)加密惡意流量精細(xì)化識別還存在一定的難度[9]。
深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個重要分支,已經(jīng)在圖像處理[10]、機(jī)器翻譯[11]、語音識別[12]、情景分析[13]等領(lǐng)域顯示出優(yōu)越的性能。目前,已有諸多研究[14-18]將深度學(xué)習(xí)應(yīng)用于入侵檢測,并取得良好的效果。業(yè)界也投入大量人力、財力應(yīng)用深度學(xué)習(xí)進(jìn)行加密惡意流量檢測。思科[19-20]針對TLS協(xié)議,采用邏輯回歸和十折交叉驗證進(jìn)行加密惡意流量識別,精度達(dá)到90%以上。國內(nèi)觀成科技[21]分析提取了4類54個子類共計1 000多個數(shù)據(jù)特征,通過對比實驗,得出隨機(jī)森林精度最高,并獲得了99.95%的檢出率。
本文在深入查閱現(xiàn)有研究的基礎(chǔ)上,對各種檢測方法進(jìn)行歸類總結(jié),歸納出基于“六步法”的加密惡意流量檢測的一般框架。結(jié)合模型重點討論數(shù)據(jù)處理、算法模型等加密惡意流量檢測關(guān)鍵環(huán)節(jié),指出各類方法的優(yōu)勢和不足,并對未來發(fā)展方向進(jìn)行展望。
本文的貢獻(xiàn)有以下幾點:
1) 歸納總結(jié)“六步法”的加密惡意流量檢測一般框架模型,為問題研究提供幫助;
2) 對現(xiàn)有數(shù)據(jù)集進(jìn)行整理歸類,指出各個數(shù)據(jù)集的優(yōu)缺點和適用場景,更加方便研究者應(yīng)用;
3) 討論加密惡意流量檢測中深度學(xué)習(xí)算法模型的應(yīng)用和限制,提出算法改進(jìn)方向。
加密惡意流量檢測的本質(zhì)是學(xué)習(xí)數(shù)據(jù)特征,將流量數(shù)據(jù)進(jìn)行正確歸類。加密成本的日益低廉使攻擊者很容易利用加密協(xié)議隱藏非法企圖。由于負(fù)載信息不再可見,識別加密網(wǎng)絡(luò)流量中包含的威脅構(gòu)成了一組獨特的挑戰(zhàn)。為鑒別惡意流量,研究者提出多種基于機(jī)器學(xué)習(xí)的檢測方法,如文獻(xiàn)[22-24]等。綜合文獻(xiàn),本文將加密惡意流量檢測歸納為“六步法”,模型如圖2所示。
圖2中,藍(lán)色箭頭表示加密惡意流量檢測的步驟流程,紅色箭頭表示后續(xù)步驟對先前處理的影響作用。
圖2 “六步法”模型
Figure 2 “Six-step method” model
Rezaei等[25]提出了流量識別的一般框架,將流量識別分為7個步驟。盡管該框架適用于大多數(shù)算法模型,但未能涵蓋新穎的流量識別方法。Wang等[26]提出一維CNN分類模型,此模型未進(jìn)行數(shù)據(jù)特征提取,僅對流量數(shù)據(jù)進(jìn)行剪切處理,而后輸入1D-CNN自行學(xué)習(xí)特征,進(jìn)行分類。
與上述框架相比,“六步法”框架模型將數(shù)據(jù)預(yù)處理、特征提取等步驟整合為數(shù)據(jù)處理,可以很好地闡釋各類不同的檢測模型,因此,適用范圍更廣,能夠涵蓋絕大多數(shù)現(xiàn)有研究。另外,雖然“六步法”框架是針對加密惡意流量檢測問題的,但對于普通的流量識別問題仍然適用,這也體現(xiàn)出該框架的普適性。
本文將對各個步驟逐一進(jìn)行討論,重點是數(shù)據(jù)收集、數(shù)據(jù)處理和模型選擇。
研究建立加密惡意流量分類器的第一步是定位研究目標(biāo)。加密惡意流量檢測是流量識別的一個子類。流量識別的目標(biāo)是用相應(yīng)的類來標(biāo)記每條流。對于不同的研究目的,所針對的研究對象、收集的數(shù)據(jù)、提取的特征以及構(gòu)建分類器算法均不相同。流量通常由5元組決定:源IP、目標(biāo)IP、源端口、目標(biāo)端口和協(xié)議[27]??砂匆韵路矫鎸α髁窟M(jìn)行分類。
1) 協(xié)議,如SSH、SSL/TLS。
2) 應(yīng)用,如微信、滴滴出行、百度地圖。
3) 服務(wù),如聊天、購物。
4) 網(wǎng)站,如谷歌、百度。
5) 用戶行為,如瀏覽,下載、上傳。
具體就加密流量識別而言,通常分為加密與未加密識別、加密協(xié)議識別、加密服務(wù)識別和惡意流量檢測。圖3給出了更為細(xì)致的分類。
加密與未加密識別主要將流量區(qū)分為加密流量和非加密流量。文獻(xiàn)[27-29]對此進(jìn)行了相關(guān)的研究,提出各種不同的方法進(jìn)行流量識別。盡管取得不錯的效果,但隨著流量分析需求的提高,僅僅識別流量是否加密已經(jīng)不能滿足要求。加密與未加密識別通常是作為更加精細(xì)化識別的基礎(chǔ)步驟,如在檢出加密流量的基礎(chǔ)上,進(jìn)一步區(qū)分流量的應(yīng)用程序或服務(wù)類型。
加密協(xié)議識別是根據(jù)協(xié)議的不同對加密流量進(jìn)行歸類。Jain[30]研究了由不同優(yōu)化器訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)對協(xié)議識別的影響;Karagiannis等[31]提出了一種叫作BLINC的協(xié)議識別方法。目前的研究大多針對某類或者某幾類協(xié)議,尚沒有對所有協(xié)議進(jìn)行分類的研究,且基于協(xié)議的流量識別仍然存在不夠細(xì)粒度的問題。
加密服務(wù)識別是將流量按特征、服務(wù)類別或者應(yīng)用程序進(jìn)行分類。Gil等[32]針對VPN流量檢測問題,提出了一組與時間相關(guān)的特征,采用C4.5與KNN兩種算法進(jìn)行實驗,精度超過80%。Wang 等[33]提出基于CNN的加密流量分類方法,將數(shù)據(jù)截取為784 byte,輸入CNN自行學(xué)習(xí)數(shù)據(jù)特征進(jìn)行分類,克服了人工提取特征困難的問題。Lotfollahi等[34]提出一維CNN與EAV相結(jié)合的框架對原始數(shù)據(jù)進(jìn)行自動編碼、分類,得到較好的結(jié)果。加密服務(wù)識別問題主要集中在對多類型識別,即同時對多種應(yīng)用程序進(jìn)行識別,以及提升識別的精度。
異常流量檢測的目的在于檢測出隱藏在加密流量之中的DDoS、APT、Botnet等惡意流量,是保障網(wǎng)絡(luò)安全的重要手段。隨著隱私保護(hù)重要性日益凸顯,基于有效負(fù)載的傳統(tǒng)識別方法[35]不再適用,現(xiàn)在研究主要聚焦于不解密識別加密惡意流量,如基于統(tǒng)計特征、基于用戶行為的方法。Nychis等[36]研究了基于熵的多個流分布相關(guān),分析流頭特征和行為特征的分布,提出使用時間序列進(jìn)行異常檢測更加有效。Koch等[37]使用基于行為的檢測方法,利用命令序列以及會話的關(guān)聯(lián)性對惡意攻擊進(jìn)行檢測。Ivan等[38]分析總結(jié)了4類40個數(shù)據(jù)特征,使用LSTM以及5折交叉驗證進(jìn)行檢測惡意軟件和釣魚軟件簽名,分別得到94.87%和88.64%的正確率。Frantisek等[39]針對TLS加密惡意流量檢測問題,比較了XGBoost、Random Forest、Neural Network、SVM這4種機(jī)器學(xué)習(xí)方法,得出XGBoost和Random Forest方法效果較好,測試精度達(dá)到95%左右。
圖3 加密流量識別分類結(jié)構(gòu)
Figure 3 Classification structure of encrypted traffic identification
與加密協(xié)議識別和加密服務(wù)識別相比,異常流量檢測的難點有:①攻擊者常常利用協(xié)議規(guī)則將攻擊流量偽裝成正常流量,增加檢測的難度;②數(shù)據(jù)集嚴(yán)重不平衡,攻擊流量遠(yuǎn)遠(yuǎn)小于正常流量,可能產(chǎn)生訓(xùn)練不充分的問題,從而影響檢測精度;③檢測錯誤代價大,因此對檢測精度要求更高。
找準(zhǔn)了定位,就要收集相對應(yīng)的數(shù)據(jù)。構(gòu)建可用的數(shù)據(jù)集是異常流量檢測的關(guān)鍵基礎(chǔ)環(huán)節(jié),沒有包含異常流量的加密數(shù)據(jù)集,模型建立及實驗驗證都無從談起,因此數(shù)據(jù)收集對加密惡意流量檢測至關(guān)重要。
無論是建立深度學(xué)習(xí)算法模型,還是驗證模型性能,都需要標(biāo)記數(shù)據(jù)集。Gharib等[40]建立一個評估框架,指出一個良好的數(shù)據(jù)集應(yīng)當(dāng)包含以下11個特征。
1) 完整的網(wǎng)絡(luò)配置。
2) 完整流量。
3) 已標(biāo)記。
4) 完整交互。
5) 完整捕獲。
6) 可用協(xié)議。
7) 攻擊多樣性。
8) 匿名性。
9) 異質(zhì)性。
10) 特征集。
11) 元數(shù)據(jù)。
然而,目前既缺乏可以很好地符合異常加密流量識別或加密攻擊流量識別的公開標(biāo)簽數(shù)據(jù)集,也沒有普遍接受的數(shù)據(jù)收集和標(biāo)記方法[25]。研究者廣泛采用私有自生成數(shù)據(jù)集進(jìn)行實驗,這又帶來實驗無法復(fù)現(xiàn)以及不同算法間無法對比的問題。表1中給出了部分惡意流量檢測數(shù)據(jù)的比較。
從表1可以看出,大多數(shù)數(shù)據(jù)集并不針對加密流量,只有部分?jǐn)?shù)據(jù)集包含加密協(xié)議流量。另外,一些數(shù)據(jù)集并未標(biāo)記,或者沒有特征標(biāo)簽類,這些都給研究帶來困難。
目前,常用的數(shù)據(jù)收集方法主要有直接收集法、腳本生成法以及混合方法。
4.2.1 直接收集法
直接收集法是最基本、最原始也最符合現(xiàn)實的收集方法。常用的數(shù)據(jù)采集軟件有Wireshark、Sniffer、Fiddler等。部分學(xué)者就是利用此種方法采集私有數(shù)據(jù)集進(jìn)行加密惡意流量檢測。
直接收集法雖然能夠采集到現(xiàn)實網(wǎng)絡(luò)的真實數(shù)據(jù),但也存在一些不足。①由于現(xiàn)實網(wǎng)絡(luò)過于復(fù)雜,往往只能收集部分領(lǐng)域或者部門的數(shù)據(jù),無法反映網(wǎng)絡(luò)整體全貌。比如KDD99數(shù)據(jù)集來自模擬的美國空軍局域網(wǎng),UNIBS數(shù)據(jù)集是布雷西亞大學(xué)校園網(wǎng)的數(shù)據(jù)。②現(xiàn)實網(wǎng)絡(luò)中攻擊具有不確定性,且數(shù)量太少,一方面難以捕捉到所有攻擊類型,另一方面可能造成數(shù)據(jù)的嚴(yán)重不平衡。③數(shù)據(jù)標(biāo)記難度比較大。
4.2.2 腳本生成法
由于收集數(shù)據(jù)集比較困難,大多數(shù)數(shù)據(jù)集均采用腳本或者虛擬網(wǎng)絡(luò)產(chǎn)生(如CICIDS2017數(shù)據(jù)集、ISCX-2012數(shù)據(jù)集)。采用腳本生成法的優(yōu)點在于可以擬合大多現(xiàn)有的攻擊模式,能夠?qū)?shù)據(jù)集進(jìn)行平衡處理,強(qiáng)化深度學(xué)習(xí)的訓(xùn)練,消除訓(xùn)練不充分的問題。但這種方法可能引入人為偏差,不能完美擬合現(xiàn)實網(wǎng)絡(luò)流量分布。
4.2.3 混合方法
混合方法即綜合利用直接收集法和腳本生成法(如CIDDS數(shù)據(jù)集)。這種方法既能模擬出所有攻擊類,又有現(xiàn)實網(wǎng)絡(luò)流量背書,能夠較好地符合加密惡意流量檢測的需求。但該方法除需對現(xiàn)實網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行標(biāo)記外,還要進(jìn)行數(shù)據(jù)集成,以匹配腳本生成流量和現(xiàn)實網(wǎng)絡(luò)流量,因此需要大量的人力支撐。
總之,數(shù)據(jù)集的收集、標(biāo)記以及特征提取是復(fù)雜的工作,如何構(gòu)造公認(rèn)的標(biāo)記方法,捕獲標(biāo)記好且包含各類攻擊的完美數(shù)據(jù)集仍是一個挑戰(zhàn)。
原始數(shù)據(jù)可能存在冗余、舛誤以及不平衡、不匹配等問題,需要進(jìn)一步處理才能應(yīng)用。數(shù)據(jù)處理就是對原始收集的數(shù)據(jù)進(jìn)行清洗、集成、變換以及挖掘等,使之成為符合深度學(xué)習(xí)訓(xùn)練、測試要求的數(shù)據(jù)集。
數(shù)據(jù)預(yù)處理是將未加工數(shù)據(jù)轉(zhuǎn)換成適合分析的形式,包括多數(shù)據(jù)源的數(shù)據(jù)融合、數(shù)據(jù)清洗、維規(guī)約等。根據(jù)算法模型的不同,通常需要選擇不同的數(shù)據(jù)預(yù)處理方法。
5.1.1 基于特征分類算法的數(shù)據(jù)預(yù)處理
目前,多數(shù)研究采用基于特征標(biāo)簽的深度學(xué)習(xí)分類算法進(jìn)行惡意流量檢測,該方法需要將原始數(shù)據(jù)處理為打上各種特征標(biāo)簽的數(shù)據(jù),如統(tǒng)計標(biāo)簽、時間序列等,而后送入算法模型檢測惡意流量與正常流量?;谔卣鞣诸愃惴ǖ臄?shù)據(jù)預(yù)處理流程如圖4所示。
數(shù)據(jù)清洗是對數(shù)據(jù)進(jìn)行重新審查和校驗的過程,目的在于刪除重復(fù)信息、糾正存在的錯誤。對數(shù)據(jù)中存在的無效值或錯誤值常采用刪除的方法,包括整列刪除、變量刪除和成對刪除等方法。對缺失值處理有均值插補(bǔ)、同類均值插補(bǔ)及高維映射等方法。
數(shù)據(jù)集成是將多個數(shù)據(jù)源收集的數(shù)據(jù)整合在一起,主要的困難在于多個數(shù)據(jù)源異構(gòu)的問題,即幾個數(shù)據(jù)源并不完全一致,收集的數(shù)據(jù)格式、長度等不同,相互之間存在冗余和不兼容等問題。因此,數(shù)據(jù)集成主要進(jìn)行模式匹配、數(shù)據(jù)冗余處理、數(shù)據(jù)值沖突處理。
表1 惡意流量檢測數(shù)據(jù)集比較
圖4 基于特征分類算法的數(shù)據(jù)預(yù)處理流程
Figure 4 Data preprocessing process based on feature classification algorithm
數(shù)據(jù)變換即對數(shù)據(jù)進(jìn)行規(guī)范化處理,以便于后續(xù)的信息挖掘,主要包括數(shù)值化、中心化和規(guī)范化等內(nèi)容。數(shù)值化就是將非數(shù)據(jù)信息轉(zhuǎn)化為數(shù)據(jù),如網(wǎng)絡(luò)協(xié)議信息,可用簡單數(shù)值表示。中心化是指將數(shù)據(jù)減去均值或者某個指定數(shù)值的操作。規(guī)范化目的在于把數(shù)據(jù)整合到[0,1]內(nèi)以方便實驗,常用最大最小值規(guī)范化方法。
數(shù)據(jù)歸約指在保持?jǐn)?shù)據(jù)原貌的前提下,最大限度地精簡數(shù)據(jù)量。通常采取特征選擇和數(shù)據(jù)采樣的方法實現(xiàn)。
5.1.2 基于源數(shù)據(jù)分類算法的數(shù)據(jù)預(yù)處理
已有許多研究[33-34]提出使用深度學(xué)習(xí)(如CNN、RNN等)方法自動學(xué)習(xí)數(shù)據(jù)中所隱藏的特征,從而實現(xiàn)對加密惡意流量的檢測。這類算法無須對數(shù)據(jù)進(jìn)行特征提取操作,因此,數(shù)據(jù)處理相對簡單,只是進(jìn)行數(shù)據(jù)集成、數(shù)據(jù)切片、歸一化等操作。基于源數(shù)據(jù)分類算法的數(shù)據(jù)預(yù)處理流程如圖5所示。
圖5 基于源數(shù)據(jù)分類算法的數(shù)據(jù)預(yù)處理流程
Figure 5 Data preprocessing process based on source data classification algorithm
數(shù)據(jù)特征提取關(guān)系檢測精度,是加密惡意流量識別中的重要環(huán)節(jié)。Guyon等[41]強(qiáng)調(diào),好的特征選擇可以提高分析性能,加速分析過程,并有助于理解生成數(shù)據(jù)的底層機(jī)制。學(xué)術(shù)界對數(shù)據(jù)特征的分類還沒有完全統(tǒng)一。正如Ferreira等[42]所討論的,除了非常明確定義的流量類所針對的情況外,沒有明確的標(biāo)準(zhǔn)方法來分析網(wǎng)絡(luò)流量或提出一組特定特性的一般建議。
文獻(xiàn)[43]按級別將特征分為流級、分組級、主機(jī)級和會話級4類特征。Patel等[44]對數(shù)據(jù)收集了基礎(chǔ)特征、內(nèi)容特征、基于時間的特征和基于主機(jī)的流量特征4類的42個特征。Meghdouri等[45]基于UNSW-NB15用隨機(jī)森林方法對5個特征集的預(yù)處理性能和分類性能進(jìn)行分析,得出源和流的組合效果最好。
在加密協(xié)議握手階段,客戶端與服務(wù)器往往需要通過明文協(xié)商相關(guān)加密參數(shù),這一階段可以得到許多與加密相關(guān)的寶貴數(shù)據(jù),如加密采用的TLS版本、算法、證書、TLS擴(kuò)展選項等。除此之外,數(shù)據(jù)包長度、流長度、報文的持續(xù)時間以及時間間隔等信息,都可以有效提升加密惡意流量檢測的精度。
表2給出了本文歸納的3類數(shù)據(jù)特征。這是基于深度學(xué)習(xí)的加密惡意流量檢測中應(yīng)用較為廣泛的一些特征。其中不包含負(fù)載特征,這主要是出于隱私保護(hù)的考慮。由于在加密條件下,負(fù)載變得不可見,負(fù)載的統(tǒng)計信息實際上已經(jīng)包含在包或者流的統(tǒng)計特征之中,不再單獨統(tǒng)計。
應(yīng)當(dāng)注意的是并不是特征越多越好,過量的特征選擇反而可能導(dǎo)致檢測性能的下降。另外,復(fù)雜的識別特征需要耗費大量的存儲空間和計算能力,給硬件系統(tǒng)帶來壓力。
表2 數(shù)據(jù)特征
針對加密惡意流量檢測,學(xué)術(shù)界提出了各種算法模型,包括基于有效負(fù)載檢測、基于熵[36]的檢測以及機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法。本文僅對深度學(xué)習(xí)方法進(jìn)行討論。基于深度學(xué)習(xí)的檢測方法具有檢測加密惡意流量的天然優(yōu)勢。檢測模型主要分為兩大類:一類是利用特征標(biāo)簽檢測加密惡意流量;另一類是充分利用CNN、RNN等深度學(xué)習(xí)方法的特征學(xué)習(xí)能力,自動學(xué)習(xí)數(shù)據(jù)中隱含的特征進(jìn)行惡意流量檢測。
如前所述,此類方法需要首先提取數(shù)據(jù)特征,然后將有特征標(biāo)簽類的數(shù)據(jù)輸入深度學(xué)習(xí)算法進(jìn)行訓(xùn)練檢測。
Prasse等[46]研究開發(fā)了基于LSTM的惡意軟件檢測模型,該模型僅使用HTTPS流量的握手階段信息,能夠識別網(wǎng)絡(luò)流中的大部分惡意軟件,包括以前未見過的惡意軟件。
Torroledo等[47]專門進(jìn)行特征工程,分析總結(jié)了4類40個數(shù)據(jù)特征,用于識別惡意軟件和釣魚軟件簽名證書。實驗中采用LSTM以及5折交叉驗證進(jìn)行檢測,結(jié)果表明具有較高的精度。Anderson等[19]深入分析了18類惡意加密軟件流量的特征,并在算法模型中加入背景流量特征,利用邏輯回歸和10倍交叉驗證進(jìn)行實驗,取得了90.3%的檢測精度。
觀成科技[21]對比了線性回歸、隨機(jī)森林、決策樹、神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)、邏輯回歸、卷積神經(jīng)網(wǎng)絡(luò)等算法,得出隨機(jī)森林的綜合效果相對較好。它們的檢出率高達(dá)99.95%,誤報率可控制在5%以下。
基于人工打造的標(biāo)簽,此類算法模型的檢測精度相對較高,普遍在90%以上,同時對算法的要求相對較低,訓(xùn)練比較容易。但特征提取過程復(fù)雜,且要求較高,差的特征集將對檢測精度產(chǎn)生嚴(yán)重影響。另外,該類算法還可能出現(xiàn)過擬合的問題,泛化能力不是很強(qiáng)。
為了克服數(shù)據(jù)特征提取困難的問題,學(xué)者提出了基于特征自學(xué)習(xí)的深度學(xué)習(xí)檢測算法。該類算法不需要提取數(shù)據(jù)特征,只對數(shù)據(jù)進(jìn)行切片操作,而后由算法自動挖掘特征進(jìn)行檢測。
Lotfollahi等[48]提出1D-CNN和EAV框架,將原始數(shù)據(jù)包長度修剪為一樣,然后除以255將數(shù)據(jù)長度縮短,輸入EAV進(jìn)行分類,得到召回率為98%。
Pascanu等[49]提出了一個基于動態(tài)分析的兩層架構(gòu)的惡意軟件檢測系統(tǒng)。第一層RNN用于學(xué)習(xí)特征;第二層是邏輯回歸分類器,使用學(xué)習(xí)的特征進(jìn)行分類,然而誤報率較高(10%)。
Zeng等[50]提出一種DFR模型,按照900 byte將原始數(shù)據(jù)切片,轉(zhuǎn)換為30×30的二維數(shù)據(jù)。而后使用CNN、LSTM、SAE三層結(jié)構(gòu)進(jìn)行流量識別。實驗結(jié)果表明,該方法在F1分?jǐn)?shù)上平均超越現(xiàn)有先進(jìn)的方法12.15%。
Wang等[26]采用基于一維CNN的端到端的加密流量分類方法,將流量數(shù)據(jù)截為784 byte的等長數(shù)據(jù),輸入CNN進(jìn)行分類。實驗證明采用1D-CNN效果好于2D-CNN。
基于特征自學(xué)習(xí)的深度學(xué)習(xí)檢測算法最大的特點是不需要再提取數(shù)據(jù)特征,對于數(shù)據(jù)集的要求低、依賴性小,可移植性好,使用更加靈活。但這類方法也有著天然的不足:①數(shù)據(jù)切片取多少字節(jié)合適并沒有依據(jù),只是憑經(jīng)驗取舍;②切片數(shù)據(jù)長度不能太長,切片過長可能影響計算性能,進(jìn)而影響訓(xùn)練的效率;③訓(xùn)練過程可解釋性相對較低,訓(xùn)練比較困難,容易引起檢測性能不穩(wěn)定。
表3給出了兩類檢測算法模型的一個簡單對比,其中Ⅰ類模型代表基于數(shù)據(jù)特征的深度學(xué)習(xí)檢測算法,Ⅱ類模型代表基于特征自學(xué)習(xí)的深度學(xué)習(xí)檢測算法。
從表3可以看出,兩類模型各有優(yōu)劣。實際應(yīng)用中,主要關(guān)心精確度和泛化能力兩項指標(biāo)。隨著研究的深入,Ⅱ類模型也能達(dá)到比較高的精度,如Wang等[33]在CUT數(shù)據(jù)集上取得了99.41%的精度。加之Ⅱ類模型不需要提取特征,省卻了大量煩瑣的工作。從這些看來,Ⅱ類模型較Ⅰ類模型優(yōu)。即便如此,應(yīng)用過程中也不能簡單武斷地判定哪個模型更好,應(yīng)當(dāng)采用多種算法模型進(jìn)行實驗,對比實驗結(jié)果,通過實際檢測的數(shù)據(jù)結(jié)果具體地評定模型的優(yōu)劣。
另外,Rezaei等[51]提出了一種半監(jiān)督檢測模型,首先在大型未標(biāo)記數(shù)據(jù)集上訓(xùn)練,然后使用少量標(biāo)記數(shù)據(jù)集重新訓(xùn)練模型。模型采用1D-CNN進(jìn)行分類,取得較高的精度,證明了在一個數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,在另外一個數(shù)據(jù)集上進(jìn)行再訓(xùn)練,可以精確分類。
需要看到這種方法除需要標(biāo)記數(shù)據(jù)外,還要考慮數(shù)據(jù)集成的問題,即原始數(shù)據(jù)集與標(biāo)記數(shù)據(jù)集之間匹配的問題,不同數(shù)據(jù)集特征不盡相同,可能導(dǎo)致模型精度降低,正如文中提到在ISCX數(shù)據(jù)集上精度不高。所以,模型的不可移植影響了此類方法在實際檢測中的應(yīng)用。
模型構(gòu)建以后,即需要對模型進(jìn)行訓(xùn)練和評估,訓(xùn)練通常采用折交叉驗證,一般為10折,不再贅述。
要真正評估一個加密惡意流量檢測模型的好壞,應(yīng)當(dāng)將模型應(yīng)用在實際的網(wǎng)絡(luò)環(huán)境中,觀察模型的檢測性能。但由于芯片研發(fā)、安全風(fēng)險等代價太大,通常利用測試集上模型的性能表現(xiàn)來評估檢測模型的優(yōu)劣。評價指標(biāo)主要有精確性指標(biāo)和實時性指標(biāo)。
表3 兩類檢測算法模型對比
精確性指標(biāo)基于混淆矩陣生成,主要用來評估模型的檢測能力和檢測精度,包括準(zhǔn)確率、召回率、精確度、誤報率、F分?jǐn)?shù)等。
混淆矩陣如表4所示,用于描述加密惡意流量檢測中實際類別和預(yù)測類別之間的相互關(guān)系。其中,TP(真正例)表示檢測模型將攻擊類型正確識別為攻擊類型的樣本個數(shù);TN(真負(fù)例)表示檢測模型將正常類型正確識別為正常類型的樣本個數(shù);FP(假正例)表示檢測模型將正常類型錯誤識別為攻擊類型的樣本個數(shù);FN(假負(fù)例)表示檢測模型將攻擊類型錯誤識別為正常類型的樣本個數(shù)。
表4 混淆矩陣
基于上述定義,給出各種精度性能指標(biāo)的公式化定義。
召回率、精確度和誤報率體現(xiàn)了檢測方法在每個攻擊類別上的檢測效果,特別是當(dāng)數(shù)據(jù)不平衡時,這3項指標(biāo)能夠準(zhǔn)確獲知各類攻擊的檢測情況。
上述精確性指標(biāo)通?;诹骰蚧诎?,Erman等[52]指出,字節(jié)精度對評估流量分類算法的準(zhǔn)確性至關(guān)重要。他們在跟蹤一個為期6個月的數(shù)據(jù)示例中,發(fā)現(xiàn)1%的流量占字節(jié)流量的73%;在閾值為3.7 MB的前提下,流量的前0.1%占字節(jié)量的46%。因此,正確識別后99.9%的流量仍然導(dǎo)致數(shù)據(jù)集中46%的字節(jié)被錯誤分類。同時,字節(jié)精度可能耗費計算資源,提升計算復(fù)雜度。
實時性指標(biāo)用于評估模型的檢測效率,反映加密惡意檢測算法可以在線、快速地識別加密惡意流量的能力,保證在實施惡意流量檢測的過程中不影響核心網(wǎng)絡(luò)性能。實時性主要體現(xiàn)在對流的前個包的精確檢測上。
由于深度學(xué)習(xí)方法訓(xùn)練數(shù)據(jù)量巨大,常常耗費大量計算性能和時間,因此,關(guān)于各類深度學(xué)習(xí)算法加速的研究也正在如火如荼地展開,并取得了不少成果,這部分不在本文討論之列。
關(guān)于“六步法”的最后一步應(yīng)用檢驗改進(jìn),是指將構(gòu)建的模型應(yīng)用到實際網(wǎng)絡(luò)中,進(jìn)行實網(wǎng)加密惡意流量檢測,通過網(wǎng)絡(luò)運(yùn)行,檢驗算法模型的實效性和健壯性,并定期對模型進(jìn)行更新,不斷完善模型以取得更高的檢測精度和效能。這部分內(nèi)容主要涉及系統(tǒng)實現(xiàn),不再深入討論。
隨著加密流量日益增加,攻擊者越來越多地利用加密手段掩蓋攻擊意圖,給檢測帶來相當(dāng)?shù)睦щy。因此,加密惡意流量檢測的重要性日益凸顯。本文將加密惡意流量檢測歸納為“六步法”,并按照流程對檢測的各個環(huán)節(jié)逐一進(jìn)行梳理分析??傮w上講,加密惡意流量檢測雖然已經(jīng)取得了一些成果,但還存在以下問題,也是下一步研究的方向。
(1)數(shù)據(jù)集問題
獲得一個優(yōu)良的數(shù)據(jù)集等于檢測成功了90%。如上文所述,數(shù)據(jù)集還存在不全面、不平衡、不貼近現(xiàn)實等問題。公認(rèn)的標(biāo)記方法、生成完美代表現(xiàn)實的數(shù)據(jù)以及利用深度學(xué)習(xí)等方法進(jìn)行自動特征挖掘等方面都需要進(jìn)一步深入研究。
(2)加密惡意流量,雖然有多分類,但也僅限于區(qū)分少數(shù)幾類攻擊,如DDoS、僵尸網(wǎng)絡(luò)等,如何將攻擊精準(zhǔn)定位,指導(dǎo)防御者快速反應(yīng),采取有效應(yīng)對措施還是一個挑戰(zhàn)。
(3)對抗深度學(xué)習(xí)問題
已有研究[53]指出利用GAN網(wǎng)絡(luò),基于攻擊流量生成正常流量,同時保持?jǐn)?shù)據(jù)中的攻擊性。生成的數(shù)據(jù)包成功繞過了檢測算法,對系統(tǒng)實施了攻擊。如何對對抗深度學(xué)習(xí)進(jìn)行反對抗也是一個值得研究的問題。
(4)應(yīng)用問題
學(xué)術(shù)研究多存在于算法層面,且多利用靜態(tài)數(shù)據(jù)集(不論是公開的還是私有采集的)進(jìn)行檢測。但現(xiàn)實網(wǎng)絡(luò)中有更多的不確定性,將基于深度學(xué)習(xí)的惡意加密流量檢測移植到現(xiàn)實網(wǎng)絡(luò)上,真正讓攻擊無所遁形還有很長的路要走。
[1] LV Y F. In 2018, lucky star network security report and trend outlook[J]. Information Security Research, 2019, 5(3): 186-191.
[2] CNCERT 2018 China Internet network security situation report[R]. 2018.
[3] GURUBARAN S. Cisco ETA–provides solution for detecting malware in encrypted traffic[EB].
[4] LET’S ENCRYPT. Linux foundation collaborative projects[EB].
[5] HE G, XU B, ZHANG L, et al. Mobile app identification for encrypted network flows by traffic correlation[J]. International Journal of Distributed Sensor Networks, 2018, 14(12): 1-17.
[6] ARNA M. Malware is moving heavily to HTTPS [EB].
[7] BUJLOW T, CARELA-ESPA?OL V, BARLET-ROS P. Independent comparison of popular DPI tools for traffic classification[J]. Computer Networks, 2015, 76: 75-89.
[8] WRIGHT C V, COULL S E, MONROSE F. Traffic morphing: an efficient defense against statistical traffic analysis[C]//NDSS. 2009: 237-250.
[9] VELAN P, ?ERMáK M, ?ELEDA P, et al. A survey of methods for encrypted traffic classification and analysis[J]. International Journal of Network Management, 2015, 25(5): 355-374.
[10] KRIZHEVSKY A, SUTSKEVER I, HINTON G. Imagenet classi?cation with deep convolutional neural networks[J]. Advances in neural information processing systems, 2012, 25(2):84-90.
[11] CHO K, VAN -MERRIENBOER B, GULCEHRE C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv Preprint arXiv:1406.1078, 2014.
[12] GRAVES A, MOHAMED A, HINTON G. Speech recognition with deep recurrent neural networks[C]//2013 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 2013: 6645-6649.
[13] BYEONW, BREUEL T M, RAUE F, et al. Scene labeling with LSTM recurrent neural networks[C]/IEEE Conference on Computer Vision and Pattern Recognition. 2015: 3547-3555.
[14] VINAYAKUMAR R, SOMAN K P, POORNACHANDRAN P. Applying convolutional neural network for network intrusion detection[C]//IEEE International Conference on Advances in Computing, Communications and Informatics (ICACCI). 2017: 1222-1228.
[15] WANG W, SHENG Y Q, WANGJL, et al. HAST-IDS: learning hierarchical spatial-temporal features using deep neural networks to improve intrusion detection[J]. IEEE Access, 2018, 6: 1792-1806.
[16] YUAN X Y, LI C H, LI X L. Deep defense: identifying DDoS attack via deep learning[C]//2017 IEEE International Conference on Smart Computing. 2017:18.
[17] LI Z P, QIN Z, HUANG K, et al. Intrusion detection using convolutional neural networks for representation learning[M]//Neural Information Processing. 2017: 858-866.
[18] YIN C L, ZHU Y F, FEI J L, et al. A deep learning approach for intrusion detection using recurrent neural networks[J]. IEEE Access, 2017, 5: 21954-21961.
[19] ANDERSON B, PAUL S, MCGREW D. Deciphering malware’s use of TLS (without decryption)[J]. Comput. Virol. Hacking Techn. 2018, 14 (3): 195-211.
[20] BLAKE A, DAVID M. Identifying encrypted malware traffic with contextual flow data[C]// ACM Workshop on Artificial Intelligence and Security (AISec). 2016: 35-46.
[21] GUANCHENG TECHNOLOGY. A report on the country's first detection engine for encrypted traffic[EB].
[22] HE G, XU B, ZHU H. AppFA: a novel approach to detect malicious Android applications on the network[J].Security and Communication Networks, 2018 :1-15.
[23] SHABTAI A, TENENBOIM C L, MIMRAN D, et al. Mobile malware detection through analysis of deviations in application network behavior[J]. Computers & Security, 2014, 43:1-18.
[24] GARG S, PEDDOJU S K, SARJE A K. Network-based detection of Android malicious Apps[J]. International Journal of Information Security, 2017, 16(4):385-400.
[25] REZAEI S, LIU X, Deep learning for encrypted traffic classification: an overview[J]. IEEE Commun Mag, 2019, 57(5):76-81.
[26] WANG W, ZHU M, WANG J, et al. End-to-end encrypted traffic classification with one-dimensional convolution neural networks[C]//IEEE Int Conf Intell Security Informat. 2017:43-48.
[27] OKADA Y, ATA S, NAKAMURA N, et al. Comparisons of machine learning algorithms for application identification of encrypted traffic[C]//10th IEEE International Conference on Machine Learning and Applications and Workshops. 2011: 358-361.
[28] ZHAO B, GUO H, LIU Q R, et al. Protocol independent identification of encrypted traffic based on weighted cumulative sum test[J]. Journal of Software, 2013, 24(6): 1334-1345.
[29] NIU W N, ZHUO Z L, ZHANG X S, et al. A heuristic statistical testing based approach for encrypted network traffic identification[J]. IEEE Trans. Veh. Technol., 2019, 68 (4).
[30] JAIN A V. Network traffic identification with convolutional neural networks[C]//2018 IEEE 16th Intl Conf on Dependable, Autonomic and Secure Computing, Washington: IEEE Computer Society (DASC). 2018:1001-1007.
[31] KARAGIANNIS T, PAPAGIANNAKI K, FALOUTSOS M. BLINK: multilevel traffic classification in the dark[C]//SIGCOMM' 05. 2005: 229-239.
[32] GIL G D, LASHKARI A H, MAMUN M, et al. Characterization of encrypted and VPN traf?c using time-related features[C]//2nd International Conference on Information Systems Security and Privacy (ICISSP 2016). 2016: 19-21.
[33] WANG W, ZENG X, YE X, et al. Malware traffic classification using convolutional neural network for representation learning[C]// The 31st International Conference on Information Networking(ICOIN). 2017: 712-717.
[34] LOTFOLLAHI M, et al , Deep packet: a novel approach for encrypted traffic classification using deep learning[J]. arXiv: 1709.02656, 2017.
[35] YUAN X, LI C, LI X. Deepdefense: identifying DDoS attack via deep learning[C]//2017 IEEE International Conference Smart Computing (SMARTCOMP). 2017: 1-8.
[36] NYCHIS G, SEKAR V, ANDERSEN D, et al. An empirical evaluation of entropy-based traffic anomaly detection[J]. The 8th ACM Computing Surveys, 2007, 39(1): 1-42.
[37] KOCH R, GOLLING M, RODOSEK G D. Behavior based intrusion detection in encrypted environments[J]. Communications Magazine, 2014, 52(7): 124-131.
[38] IVAN T, LUIS D C, ALEJANDRO C B. Hunting malicious TLS certificates with deep neural networks[C]//The 11th ACM Workshop on Arti?cial Intelligence and Security. 2018: 64-73.
[39] FRANTISEK S, SEBASTIAN G. Machine learning for network HTTPS analysis[C]//BRUCON Conference. 2017:5.
[40] GHARIB A, SHARAFALDIN I, HABIBI L A, et al. An evaluation framework for intrusion detection dataset[C]//2016 International Conference on Information Science and Security (ICISS). 2016:1-6.
[41] GUYON I, ELISSEEFF A. An introduction to variable and feature selection.[J]. Mach Learn Res 2003(3): 1157-1182.
[42] FERREIRA D C, VAZQUEZ F I, VORMAYR G, et al. A meta-analysis approach for feature selection in network traffic research[C]//Reproducibility Workshop (Reproducibility’17). 2017: 17-20.
[43] PAN W B, CHENG G, GUO X J, et al. Review and perspective on encrypted traffic identification research[J]. Journal on Communications, 2016, 37(9):154-167.
[44] PATEL S, SONDHI J. A review of intrusion detection technique using various technique of machine learning and feature optimization technique[J]. International Journal of Computer Applications. 2014, 93(14): 43-47.
[45] MEGHDOURI F, ZSEBY T, IGLESIAS F. Analysis of lightweight feature vectors for attack detection in network traffic[J]. Applied Sciences. 2018, 8(11): 219
[46] PRASSE P, MACHLICA L, PEVNY T, et al. Malware detection by analysing encrypted network traffic with neural networks[C]// European Conference on Machine Learning and Knowledge Discovery in Databases. 2017: 73-88.
[47] TORROLEDO I, CAMACHO L D, BAHNSEN A C. Hunting malicious TLS certificates with deep neural networks[C]//11th ACM Workshop Artif. Intell. Secur. 2018: 64-73.
[48] LOTFOLLAHI M, ZADE R S H, SIAVOSHANI M J, et al. Deep packet: a novel approach for encrypted traffic classification using deep learning[J]. eprint arXiv: 1709.02656. 2017.
[49] PASCANU R, STOKES J W, SANOSSIAN H, et al. Malware classification with recurrent networks[C]//40th Int Conf on Acoustics, Speech and Signal Processing. 2015: 1916-1920.
[50] ZENG Y , GU H , WEI W , et al. Deep-full-range: a deep learning based network encrypted traffic classification and intrusion detection framework[J]. IEEE Access, 2019: 1.
[51] REZAEI S, LIU X, How to achieve high classification accuracy with just a few labels: a semi-supervised approach using sampled packets[J]. arXiv preprint arXiv:1812.09761, 2018.
[52] ERMAN J, MAHANTI A, ARLITT M. Byte me: a case for byte accuracy in traffic classification[C]//3rd Annual ACM Workshop on Mining Network Data(MineNet ’07). 2007: 35-38.
[53] HE Y. Research on confrontational learning for industrial control system intrusion detection[D]. Zhejiang: Zhejiang University, 2019.
Survey of encrypted malicious traffic detection based on deep learning
ZHAI Mingfang, ZHANG Xingming, ZHAO Bo
National Digital Switching System Engineering and Technological Research Center, Zhengzhou 450002, China
With the increasing awareness of network security, encrypted communication dominates and encrypted traffic grows rapidly. Traffic encryption, while protecting privacy, also masks illegal attempts and changes the form of threats. As one of the most important branch of machine learning, deep learning performs well in traffic classification. For several years, research on deep-learning based intrusion detection has been deepened and achieved good results. The steps of encrypted malicious traffic detection were introduced to be a general detection framework model named “six-step method”. Then, discussion and induction of data processing and detection algorithms were carried out combined with this model. Both advantages and disadvantages of various algorithm models were given as well. Finally, future research directions were pointed out with a view to providing assistance for further research.
encrypted traffic, malicious traffic detection, deep learning, data processing
TP391.1
A
10.11959/j.issn.2096?109x.2020034
2019?11?07;
2020?01?21
翟明芳,1353382456@qq.com
高安全等級網(wǎng)絡(luò)基礎(chǔ)設(shè)施關(guān)鍵裝備核心芯片及軟件研發(fā)項目(2017ZX01030301)
High Level Security Network Infrastructure Key Equipment Core Chip and Software Development Funding Project (2017ZX01030301)
翟明芳, 張興明, 趙博. 基于深度學(xué)習(xí)的加密惡意流量檢測研究[J]. 網(wǎng)絡(luò)與信息安全學(xué)報, 2020, 6(3): 59-70.
ZHAI M F, ZHANG X M, ZHAO B. Survey of encrypted malicious traffic detection based on deep learning[J]. Chinese Journal of Network and Information Security, 2020, 6(3): 59-70.
翟明芳(1986? ),男,河南鞏義人,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心碩士生,主要研究方向為網(wǎng)絡(luò)空間安全及深度學(xué)習(xí)算法。
張興明(1963? ),男,河南新鄉(xiāng)人,博士,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心教授,主要研究方向為網(wǎng)絡(luò)空間安全、高性能計算、軟硬件協(xié)同設(shè)計和深度學(xué)習(xí)。
趙博(1981? ),男,吉林公主嶺人,博士,國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心副研究員,主要研究方向為網(wǎng)絡(luò)空間安全和擬態(tài)防御體系結(jié)構(gòu)。