曾 勇,吳正遠(yuǎn),董麗華,劉志宏,馬建峰,李 贊
(1.西安電子科技大學(xué) 網(wǎng)絡(luò)與信息安全學(xué)院,陜西 西安 710071;2.西安電子科技大學(xué) 綜合業(yè)務(wù)網(wǎng)理論及關(guān)鍵技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,陜西 西安 710071)
在互聯(lián)網(wǎng)技術(shù)日益健全的今天,網(wǎng)絡(luò)流量識(shí)別技術(shù)對(duì)網(wǎng)絡(luò)管理、服務(wù)質(zhì)量保障和網(wǎng)絡(luò)安全等具有重大的意義。伴隨著加密技術(shù)的不斷發(fā)展,加密流量在互聯(lián)網(wǎng)流量中的數(shù)量和比例也不斷上升。根據(jù)最近的互聯(lián)網(wǎng)研究趨勢報(bào)告[1],如今87%的web流量是加密的,文獻(xiàn)[2]預(yù)計(jì)在2020年超過70%的惡意軟件活動(dòng)將使用某種類型的加密來隱藏惡意軟件的傳輸、控制命令活動(dòng)和數(shù)據(jù)滲漏。由于加密后流量的特征發(fā)生了改變,因而傳統(tǒng)流量檢測方式在加密環(huán)境下難以復(fù)現(xiàn)。如何在加密流量上進(jìn)行有效的惡意流量識(shí)別,已成為了網(wǎng)絡(luò)安全領(lǐng)域的重要挑戰(zhàn)。
已有文獻(xiàn)[3-7]綜述了當(dāng)前加密流量識(shí)別技術(shù)的研究進(jìn)展。其中,文獻(xiàn)[3]總結(jié)了網(wǎng)絡(luò)加密流量的基本概念、研究進(jìn)展和評(píng)價(jià)指標(biāo)等概念。文獻(xiàn)[4]總結(jié)了用于加密流量識(shí)別的方法以及影響加密流量識(shí)別的因素,文獻(xiàn)[5]總結(jié)了流量識(shí)別的四種常用方法:基于端口號(hào)、深度報(bào)文檢測、機(jī)器學(xué)習(xí)和深度學(xué)習(xí),著重介紹了常用于深度學(xué)習(xí)訓(xùn)練的幾種特征和深度學(xué)習(xí)模型。但是這些綜述并未涉及加密流量中的惡意流量識(shí)別。文獻(xiàn)[6]對(duì)加密流量數(shù)據(jù)集和加密流量中的惡意流量檢測步驟進(jìn)行了小結(jié),并介紹了基于機(jī)器學(xué)習(xí)的識(shí)別方法。文獻(xiàn)[7]介紹了通過將流量轉(zhuǎn)化為圖像后采用計(jì)算機(jī)視覺的方法進(jìn)行惡意流量識(shí)別的模型,這類方法目前僅在三大類惡意流量上有比較好的識(shí)別結(jié)果,且僅部分識(shí)別方法面向加密流量。
上述惡意流量檢測工作均為基于機(jī)器學(xué)習(xí)的方法,由于基于機(jī)器學(xué)習(xí)方法的識(shí)別效果嚴(yán)重依賴于樣本數(shù)量和質(zhì)量,而當(dāng)前在加密流量領(lǐng)域尚且缺乏類似ImagNet[8]的經(jīng)典數(shù)據(jù)集,不僅如此,基于機(jī)器學(xué)習(xí)的方法無法有效應(yīng)對(duì)混淆和整形后的流量[9-10]。近年來研究人員發(fā)現(xiàn),基于密碼學(xué)的方法可以通過密文檢索技術(shù)與深度報(bào)文檢測技術(shù)的融合來避免此類問題。為了更好地理解這些方法,筆者對(duì)已有的相關(guān)技術(shù)進(jìn)行了如下總結(jié):
(1) 加密算法區(qū)分。當(dāng)前流量中采用的加密算法種類繁多,不同的加密方式會(huì)產(chǎn)生不同的特征,需要不同的識(shí)別方法。當(dāng)前尚無通用方法能夠應(yīng)用于所有類型的加密流量,而惡意流量識(shí)別的任務(wù)之一需要先將加密流量按照不同精細(xì)度區(qū)分開,例如區(qū)分AES、DES、3DES、Grain等密碼體制,為后續(xù)惡意流量區(qū)分提供支撐[11-55]。
(2) 惡意特征識(shí)別。基于機(jī)器學(xué)習(xí)的惡意流量識(shí)別效率和準(zhǔn)確率隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展而提高。其最新進(jìn)展是通過改進(jìn)加密流量中惡意特征提取方式,構(gòu)建不同的帶標(biāo)簽惡意特征集,并將其輸入各種機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練;通過模型設(shè)計(jì)與參數(shù)調(diào)優(yōu)等方法來保證加密流量中對(duì)惡意流量識(shí)別的準(zhǔn)確度[56-81]。
(3) 惡意密文檢索?;诿艽a學(xué)的惡意流量識(shí)別技術(shù),結(jié)合流量審查機(jī)制、可搜索加密技術(shù)以及可證明安全模型,通過在加密流量上檢索惡意關(guān)鍵詞,從而達(dá)到在加密流量中識(shí)別惡意流量的效果,并對(duì)用戶數(shù)據(jù)與檢測方的檢測規(guī)則同時(shí)提供保護(hù)[82-113]。
加密算法區(qū)分是識(shí)別加密流量中惡意流量的第一步。將加密流量按照不同加密算法區(qū)分開,可以有效精簡數(shù)據(jù)集大小,提高識(shí)別效率,并為后續(xù)加密流量中的惡意流量識(shí)別做先驗(yàn)準(zhǔn)備。不同密碼算法所產(chǎn)生的密文在統(tǒng)計(jì)特性上存在一定的差異。這些差異是識(shí)別密碼算法的重要依據(jù)?;诮y(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)的方法可以較有效地區(qū)分加密算法。
將加密與非加密流量區(qū)分開是進(jìn)行惡意流量識(shí)別的基礎(chǔ)。筆者總結(jié)了近三年在公開的ISCXVPN/Non-VPN[11]流量數(shù)據(jù)集上的相關(guān)工作,詳細(xì)工作見表1。該數(shù)據(jù)集包含七種VPN流量和七種非VPN流量,每種類型內(nèi)又包含多個(gè)應(yīng)用的流量。其中瀏覽器類型的流量可能包含了其他類型的部分流量,因此實(shí)際識(shí)別中常見的區(qū)分方法有二分法(區(qū)分VPN與非VPN流量)和六分法(區(qū)分流量來源于何種類型)。LOTFOLLAHI等[12]提出了深度數(shù)據(jù)包框架Deep packet。主要提取加密數(shù)據(jù)包的有效負(fù)載特征,并采用了棧式自動(dòng)編碼器(SAE)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)兩種深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),從而對(duì)VPN和非VPN網(wǎng)絡(luò)流量進(jìn)行二分類。并可對(duì)VPN或者非VPN中的流量進(jìn)行大類區(qū)分。例如可區(qū)分出VPN或者非VPN的聊天、郵件、視頻等類別。BAGUI等[13]使用與時(shí)間相關(guān)的特征進(jìn)行了類似的研究。WANG等[14]提出了一種基于CNN的端到端深度學(xué)習(xí)模型。通過將流量轉(zhuǎn)化為圖像的方式自動(dòng)選取特征,從而實(shí)現(xiàn)VPN與非VPN的二分類與大類區(qū)分。GUO等[15]用收縮自動(dòng)編碼器(CAE)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)兩種方法進(jìn)行比較,對(duì)WANG等的工作進(jìn)行了改進(jìn)。唐舒燁等[16]引入基于分段熵分布的隨機(jī)性檢測方法,實(shí)現(xiàn)了對(duì)加密VPN流量與非加密VPN流量的細(xì)粒度分離。ZHOU等[17]采用了熵估計(jì)和人工神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行二分類。CASINO等[18]提出了基于數(shù)據(jù)流隨機(jī)性評(píng)估的流量識(shí)別方法HEDGE,可識(shí)別壓縮流量和加密流量。該方法可以應(yīng)用于單個(gè)數(shù)據(jù)包,而無需訪問整個(gè)數(shù)據(jù)流。ACETO等[19]使用深度學(xué)習(xí)技術(shù),基于自動(dòng)提取的特征建立識(shí)別器,能夠?qū)κ謾C(jī)的加密流量進(jìn)行分類操作。上述方法均基于對(duì)有效載荷的統(tǒng)計(jì)。NIU等[20]提出了一種結(jié)合統(tǒng)計(jì)和機(jī)器學(xué)習(xí)的啟發(fā)式統(tǒng)計(jì)測試方法。該方法優(yōu)于僅統(tǒng)計(jì)或機(jī)器學(xué)習(xí)的方法。
表1 密/非密流量區(qū)分及應(yīng)用程序分類方法小結(jié)
將加密非加密流量區(qū)分后,另一個(gè)重要的工作是將加密流量所屬的應(yīng)用程序進(jìn)行分類,詳細(xì)內(nèi)容見表1。OKADA等[21]使用統(tǒng)計(jì)特征的最佳組合進(jìn)行識(shí)別。由于消除了非高斯分布的特征,因此能夠以較少的計(jì)算量實(shí)現(xiàn)高精度的識(shí)別。為了提高現(xiàn)有方法在鑒別準(zhǔn)確度方面的性能,HE等[22-23]指出攻擊者精心選擇一些流量特征,并利用一些有效的機(jī)器學(xué)習(xí)算法對(duì)不同類型的應(yīng)用程序進(jìn)行建模。這些模型可用于對(duì)目標(biāo)的洋蔥路由(Tor)流量進(jìn)行識(shí)別并推斷其應(yīng)用程序類型。類似地,ALMUBAYED等[24]指出,通過使用監(jiān)督學(xué)習(xí)方式,Tor流量仍可以在網(wǎng)絡(luò)中的其他HTTPS流量中識(shí)別。考慮到用戶使用同一應(yīng)用程序做出不同的行為時(shí)會(huì)產(chǎn)生不同的流量,CONTI等[25]指出,即便是在加密的條件下,攻擊者依然可以通過特定的方法識(shí)別用戶在網(wǎng)絡(luò)中的行為,這些行為導(dǎo)致了隱私泄露的風(fēng)險(xiǎn)。FU等[26]開發(fā)了一個(gè)名為CUMMA的系統(tǒng),通過聯(lián)合建模用戶行為模式、網(wǎng)絡(luò)流量特征和時(shí)間依賴性,可對(duì)應(yīng)用程序內(nèi)的使用進(jìn)行識(shí)別。SHEN等[27]指出應(yīng)用程序長度二元組有助于應(yīng)用程序識(shí)別。該二元組由證書包長度和SSL/TLS會(huì)話中的首個(gè)應(yīng)用程序數(shù)據(jù)長度組成。SUBAHI等[28]開發(fā)了IoT-app作為隱私檢查器的工具。該工具可以通過其應(yīng)用程序的數(shù)據(jù)包,自動(dòng)從IoT網(wǎng)絡(luò)流量中推斷出敏感個(gè)人身份信息(例如用戶的位置等)。
當(dāng)流量中的明密文區(qū)分開后,密文所采用的加密算法也可以進(jìn)行區(qū)分。早在上世紀(jì)80年代,密碼學(xué)者已開始關(guān)注機(jī)器學(xué)習(xí)與密碼學(xué)的聯(lián)系,并提出一些相關(guān)的概念和結(jié)論[29]。RIVEST等發(fā)表《密碼學(xué)與機(jī)器學(xué)習(xí)》[30],探討了機(jī)器學(xué)習(xí)應(yīng)用于密碼學(xué)的可行性。不同密碼算法所產(chǎn)生的密文在統(tǒng)計(jì)特性上存在一定的差異,這些差異可以作為識(shí)別密碼算法的重要依據(jù)[31]。基于這些差異,機(jī)器學(xué)習(xí)在古典密碼體制識(shí)別[24]、分組密碼體制識(shí)別[32-33]、布爾函數(shù)設(shè)計(jì)[34-36]等方向取得了初步的研究成果。機(jī)器學(xué)習(xí)方法亦可用于密碼攻擊,包括基于神經(jīng)網(wǎng)絡(luò)的明文恢復(fù)[37-39]、基于機(jī)器學(xué)習(xí)的側(cè)信道攻擊[40-42]等。表2總結(jié)了用于加密算法識(shí)別的詳細(xì)方法。
表2 加密算法識(shí)別小結(jié)
DILEEP等[43]采用文檔分類技術(shù),在分組密碼的ECB、CBC模式下,使用機(jī)器學(xué)習(xí)中的支持向量機(jī)(SVM)算法對(duì)AES、DES、3DES、Blowfish、RC5這5種密碼體制進(jìn)行識(shí)別。CHOU等[44]采取類似的識(shí)別方案表明在CBC模式下的分組密碼的密文不能很好地區(qū)分。NAGIREDDY[45]使用SVM分析同樣5種密碼算法加密后的密文的直方圖信息。SONI等[46]提出使用Adaboost算法對(duì)5種分組密碼算法進(jìn)行分類學(xué)習(xí)。MISHRA等[33]提出包含11種密碼算法的密碼體制,采用C 4.5算法生成的決策樹研究密碼體制識(shí)別。在多分類任務(wù)下,從密文中提取8個(gè)特征進(jìn)行識(shí)別。文獻(xiàn)[47-48]分別使用8種不同分類器模型對(duì)分組密碼進(jìn)行識(shí)別。結(jié)果表明組合分類器模型隨機(jī)森林(RF)效果的識(shí)別準(zhǔn)確率最佳。SOUZA等[49]提出選取機(jī)器學(xué)習(xí)方法中的神經(jīng)網(wǎng)絡(luò)進(jìn)行RC6、Rijndael等5種AES最終輪候選密碼算法。BHATEJA等[50]提出了一種基于反向傳播網(wǎng)絡(luò)的方法來區(qū)分RC4密鑰流和隨機(jī)密鑰流。WU等[51]使用機(jī)器學(xué)習(xí)方法中的K均值聚類(K-Means)算法識(shí)別加密后的密文,并分析AES、Camellia、DES、3DES、SMS4共5種分組密碼構(gòu)成的密碼體制。文獻(xiàn)[52-54]提出密碼體制分層識(shí)別方案,選擇機(jī)器學(xué)習(xí)的隨機(jī)森林算法進(jìn)行識(shí)別。隨后,ZHAO等[55]研究Grain-128算法與其他11種密碼算法的識(shí)別。主要進(jìn)行了二分類任務(wù)識(shí)別(即密碼算法兩兩識(shí)別),其中涉及的序列密碼算法包括Grain-128、RC4與Salsa。
不同類型的流量具備不同的網(wǎng)絡(luò)行為模式,這些信息直觀地體現(xiàn)在其數(shù)據(jù)包上。例如,惡意流量與良性流量在進(jìn)行握手協(xié)議時(shí)會(huì)產(chǎn)生不同的數(shù)據(jù)包頭部信息,而不同類型的惡意流量在其平均包長、包間間隔等方面也存在差異;這些行為模式的差異是識(shí)別惡意流量的重要依據(jù)。因此可從采集到的加密流量中提取惡意流量的行為模式,將其進(jìn)一步歸納為惡意流量的特征,并利用機(jī)器學(xué)習(xí)模型進(jìn)行識(shí)別。
基于機(jī)器學(xué)習(xí)的惡意流量識(shí)別是將加密流量進(jìn)行惡意特征提取,從而構(gòu)建惡意特征集,并作為訓(xùn)練集輸入訓(xùn)練模型,通過模型設(shè)計(jì)與參數(shù)調(diào)優(yōu)等方法得到理想的準(zhǔn)確度。該類方法具有效率高、適用性廣的優(yōu)點(diǎn)。因此,基于機(jī)器學(xué)習(xí)的加密流量識(shí)別成為了當(dāng)前研究熱點(diǎn)?;跈C(jī)器學(xué)習(xí)的惡意流量識(shí)別體系如圖1所示。首先需要采集所需數(shù)據(jù)集,通常有使用公開流量數(shù)據(jù)集和私有流量數(shù)據(jù)集兩種方法;然后對(duì)采集到的流量數(shù)據(jù)進(jìn)行預(yù)處理工作,包括流量清洗、流量分割、特征集構(gòu)建和流量轉(zhuǎn)換;最后將數(shù)據(jù)集作為輸入,利用機(jī)器模型學(xué)習(xí)惡意流量的惡意特征,通過迭代訓(xùn)練識(shí)別出惡意流量。
圖1 基于機(jī)器學(xué)習(xí)的惡意流量識(shí)別體系
使用機(jī)器學(xué)習(xí)模型進(jìn)行惡意流量識(shí)別首先需要一個(gè)有代表性的數(shù)據(jù)集。盡管當(dāng)前已有一些公開的加密流量數(shù)據(jù)集(例如ISCX2012[120],CTU-13[121]和CICIDS2017[123]),但目前加密流量領(lǐng)域仍然缺乏一個(gè)普遍被認(rèn)可的加密流量數(shù)據(jù)集。其原因在于:通過不同方式加密后的流量需要不同的收集方法和場景,而一個(gè)數(shù)據(jù)集幾乎不可能包含所有的流量類型。
因此,研究人員更傾向于首先使用私有流量數(shù)據(jù)集進(jìn)行識(shí)別,利用腳本或者沙箱生成特定類型的加密流量,然后采集這些特定流量并打上標(biāo)簽。通過這種方法采集到的流量比直接從真實(shí)網(wǎng)絡(luò)環(huán)境中進(jìn)行采集更為精純,同時(shí)易于貼上標(biāo)簽。但使用私有流量數(shù)據(jù)集的惡意流量識(shí)別方法往往難以復(fù)現(xiàn),同時(shí)不方便與已有方法進(jìn)行比較。
通常情況下,收集到的流量數(shù)據(jù)集并不能直接作為機(jī)器學(xué)習(xí)模型的輸入,需要對(duì)其進(jìn)行預(yù)處理工作。預(yù)處理通常包括流量清洗、流量分割、特征集構(gòu)建和流量轉(zhuǎn)換。流量清洗需要將收集到的流量中重復(fù)和無效部分清除。流量分割需要將過長的影響識(shí)別效率的流量分割為片段。將收集到的流量進(jìn)行流量清洗和分割后,下一步是構(gòu)建特征集,機(jī)器學(xué)習(xí)常用的流量特征有時(shí)空特征、頭部特征、負(fù)載特征和統(tǒng)計(jì)特征4種。4種特征在流量包上的表現(xiàn)如圖2所示。
圖2 機(jī)器學(xué)習(xí)四種特征示意圖
流量轉(zhuǎn)換則將構(gòu)建后的流量轉(zhuǎn)化為圖像[62-67]、矩陣[56-61,75-79]或者N-gram[68-74],以便于機(jī)器學(xué)習(xí)模型識(shí)別。這一過程的一個(gè)關(guān)鍵步驟是對(duì)數(shù)據(jù)的標(biāo)準(zhǔn)化和歸一化。二者的目的是將原始數(shù)據(jù)限定在一定的范圍內(nèi),從而降低奇異樣本數(shù)據(jù)產(chǎn)生的負(fù)面影響。歸一化是對(duì)原始數(shù)據(jù)進(jìn)行變換,并按照不同的處理方式固定到某個(gè)區(qū)間中(如圖像區(qū)間為[0,255]等)。歸一化數(shù)學(xué)表達(dá)如下:
(1)
其中,Xi表示當(dāng)前樣本的值,Xmax表示樣本最大值,Xmin表示樣本最小值。
標(biāo)準(zhǔn)化對(duì)數(shù)據(jù)進(jìn)行變換,使其符合均值為0、標(biāo)準(zhǔn)差為1的分布。標(biāo)準(zhǔn)化數(shù)學(xué)表達(dá)如下:
(2)
其中,μ表示樣本數(shù)據(jù)的均值,σ表示樣本數(shù)據(jù)的標(biāo)準(zhǔn)差。
將轉(zhuǎn)化后的流量集導(dǎo)入CNN、RF、SVM、聚類等機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練以識(shí)別惡意特征;識(shí)別結(jié)果反饋信息給訓(xùn)練模型,通過模型設(shè)計(jì)與參數(shù)調(diào)優(yōu)等方法得到理想的準(zhǔn)確度,最終實(shí)現(xiàn)將流量進(jìn)行良性和惡意的二分類,并進(jìn)一步地對(duì)惡意流量進(jìn)行細(xì)粒度的分類。圖3總結(jié)了這一過程,表3歸納了基于機(jī)器學(xué)習(xí)的加密流量中的惡意流量識(shí)別相關(guān)工作。下文將對(duì)相關(guān)工作按照不同特征集構(gòu)建方式進(jìn)行詳細(xì)介紹。
圖3 機(jī)器學(xué)習(xí)流程圖
表3 基于機(jī)器學(xué)習(xí)的惡意流量識(shí)別小結(jié)
時(shí)空特征包括流量的時(shí)間特征和空間特征。WANG等[56]提出了基于分層時(shí)空特征的入侵檢測系統(tǒng)(HAST-IDS)。首先使用深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)學(xué)習(xí)網(wǎng)絡(luò)流量的淺層空間特征,然后使用長短期記憶網(wǎng)絡(luò)(LSTM)學(xué)習(xí)深層時(shí)間特征。實(shí)驗(yàn)表明,使用時(shí)空特征相結(jié)合方式的識(shí)別結(jié)果要優(yōu)于只使用其中一種方法的識(shí)別結(jié)果。類似地,KIM等[57]通過同時(shí)查看時(shí)間和空間中的多個(gè)計(jì)算元素來檢測惡意流量,并建立了一個(gè)隨機(jī)圖模型來表示網(wǎng)絡(luò)攻擊行動(dòng)在時(shí)間和空間上的組合。該系統(tǒng)能夠有效地檢測到未知攻擊。
頭部特征包括流量包頭部包含的用戶信息相關(guān)特征。ANDERSON等[58]通過學(xué)習(xí)加密流量的數(shù)據(jù)特征,提出了基于TLS握手?jǐn)?shù)據(jù)包中暴露的版本號(hào)、密鑰長度等非加密信息來檢測惡意流量的方法。為了避免機(jī)器學(xué)習(xí)中手動(dòng)選擇特征的繁瑣,LIU等[59]提出了MalDetect,僅在流量開始時(shí)從大約8個(gè)數(shù)據(jù)包中提取特征,這使其能夠在惡意應(yīng)用行為產(chǎn)生實(shí)際影響之前而不是流量傳輸完成后檢測惡意應(yīng)用流量。LI等[60]引入了DroidClassifier系統(tǒng)框架,通過從多個(gè)HTTP標(biāo)頭字段中提取通用標(biāo)識(shí)符來構(gòu)建模型,并利用監(jiān)督學(xué)習(xí)的方法進(jìn)行識(shí)別。LIU等[61]計(jì)算惡意軟件之間的距離并利用該距離的聚類結(jié)構(gòu)定義新的惡意軟件類,并利用無監(jiān)督學(xué)習(xí)算法高斯混合模型(GMM)和排序點(diǎn)進(jìn)行辨識(shí)。
負(fù)載特征包括流量包中的有效載荷部分。WANG等[62]提出了一種新的流量分類方法。將流量數(shù)據(jù)可視化為圖像,再通過圖像使用CNN進(jìn)行分類。通過這種方法,可以實(shí)現(xiàn)端到端的惡意流量識(shí)別,并且能夠滿足實(shí)際應(yīng)用的精度。BAZUHAIR等[63]從連接元數(shù)據(jù)中提取上下文特征,然后使用Perlin噪聲將給定的連接特征編碼為圖像,最后訓(xùn)練深度學(xué)習(xí)模型進(jìn)行二進(jìn)制識(shí)別。WANG等[68]認(rèn)為移動(dòng)應(yīng)用程序生成的每個(gè)HTTP流都可視為文本文檔。因此處理自然語言的方式同樣可以用于處理網(wǎng)絡(luò)流量的語義,并提出了一種使用自然語言處理對(duì)網(wǎng)絡(luò)流量文本語義檢測的惡意應(yīng)用檢測模型?;谕瑯拥乃悸?,WANG等[69]設(shè)計(jì)了一種利用應(yīng)用程序訪問時(shí)HTTP流中的統(tǒng)一資源定位器(URL)來識(shí)別惡意應(yīng)用程序的方法。
統(tǒng)計(jì)特征包括流量包平均包長、平均包間時(shí)延等特征。早在2008年,WRIGHT等[75]就證明了利用音素與VoIP(Voice over Internet Protocol)編解碼器在呈現(xiàn)這些音素時(shí)輸出的數(shù)據(jù)包長度之間存在相關(guān)性。加密的VoIP包的長度可以用來識(shí)別通話中所說的短語。WANG等[76]通過收集TLS的6個(gè)統(tǒng)計(jì)特征(上傳字節(jié)、下載字節(jié)大小等)和HTTPS流中的4個(gè)統(tǒng)計(jì)特征(用戶代理、請(qǐng)求URL等),用C 4.5算法識(shí)別出惡意應(yīng)用流量。BURNAP等[77]使用通過創(chuàng)建無監(jiān)督聚類的方式建立應(yīng)用的活動(dòng)度標(biāo)準(zhǔn)來識(shí)別正常應(yīng)用和惡意應(yīng)用。類似地,NEU等[78]提出了一種新的基于相似度來檢測惡意流量的檢測體系結(jié)構(gòu)。TAYLOR等[79]介紹了稱為AppScanner的框架,用于自動(dòng)加密和實(shí)時(shí)識(shí)別Android應(yīng)用程序的加密網(wǎng)絡(luò)流量。在物理設(shè)備上自動(dòng)運(yùn)行應(yīng)用程序以收集其網(wǎng)絡(luò)跟蹤,通過網(wǎng)絡(luò)跟蹤生成指紋并用于流量識(shí)別。
加密電子設(shè)備在運(yùn)行過程中產(chǎn)生的側(cè)信道信息也可用于惡意應(yīng)用識(shí)別。文獻(xiàn)[80]中提出了HoMonit,在物聯(lián)網(wǎng)環(huán)境下通過側(cè)信道信息識(shí)別惡意智能應(yīng)用。文章利用嗅探器從集線器和云平臺(tái)之間收集泄露的側(cè)信道信息(包大小和包間時(shí)序)。通過對(duì)加密流量進(jìn)行流量分析來推斷出智能設(shè)備和集線器之間的事件序列,然后從智能應(yīng)用的源代碼或UI接口中提取預(yù)期程序邏輯,二者通過DFA(有窮自動(dòng)機(jī))算法進(jìn)行匹配,從而識(shí)別出越權(quán)或是行為異常的惡意智能家居應(yīng)用。
以上惡意行為主要表現(xiàn)在加密流量上,文獻(xiàn)[81]提出了一種基于機(jī)器學(xué)習(xí)的安全分析模型來識(shí)別出認(rèn)證與密鑰協(xié)商協(xié)議過程中對(duì)協(xié)議的攻擊。相比于傳統(tǒng)形式化協(xié)議中分析方案與分析精度往往取決于分析人員所掌握的先驗(yàn)知識(shí)和對(duì)協(xié)議的主觀理解,將機(jī)器學(xué)習(xí)與協(xié)議形式化分析相結(jié)合是一種可行的嘗試。但該方案目前尚缺乏足夠的樣本對(duì)每一種攻擊進(jìn)行細(xì)分類。
基于密碼學(xué)的惡意流量識(shí)別的本質(zhì)在于,檢索流量中是否存在加密后的惡意關(guān)鍵字,即在不解密所有數(shù)據(jù)包的前提下,實(shí)現(xiàn)在一段加密過的信息上實(shí)現(xiàn)惡意關(guān)鍵詞的搜索,這也是可搜索加密技術(shù)的一種應(yīng)用。然而,檢測的中間盒設(shè)備往往沒有解密流量的權(quán)限或者密鑰,不僅如此,可搜索加密無法對(duì)檢測規(guī)則提供保護(hù)。因此,在網(wǎng)絡(luò)流量中的惡意流量識(shí)別不能直接應(yīng)用可搜索加密,而是需要深度融合可搜索加密技術(shù)、深度報(bào)文檢測技術(shù)、流量審查機(jī)制和可證明安全模型,進(jìn)行綜合設(shè)計(jì),使其可以在保護(hù)用戶數(shù)據(jù)隱私以及檢測方檢測規(guī)則的前提下檢索加密流量上的惡意關(guān)鍵詞以識(shí)別惡意流量?;诿艽a學(xué)的惡意流量識(shí)別的關(guān)鍵技術(shù)如圖4所示。筆者將從可搜索加密技術(shù)出發(fā),介紹公鑰可搜索加密和對(duì)稱可搜索加密的技術(shù)難點(diǎn),包括密文檢索和密文計(jì)算。其中密文檢索可依次區(qū)分為單關(guān)鍵詞檢索、多關(guān)鍵詞檢索、模糊關(guān)鍵詞檢索和區(qū)間檢索。密文計(jì)算可分為同態(tài)加密和函數(shù)(屬性)加密。最后介紹如何結(jié)合可搜索加密技術(shù)、深度報(bào)文檢測以及流量審查等機(jī)制進(jìn)行加密流量中的惡意流量檢索。
圖4 基于密碼學(xué)的惡意流量識(shí)別體系
可搜索加密體制分為對(duì)稱可搜索加密體制和公鑰可搜索加密體制。SONG等[82]提出對(duì)稱可搜索加密,密鑰擁有者可以查詢檢索密文,但因?yàn)閷?duì)稱密碼本身存在的密鑰管理和分發(fā)問題,導(dǎo)致這類方案在密鑰管理的開銷過大。因此,BONEH等[83]提出基于公鑰的可搜索加密受到更為廣泛的關(guān)注,該體制中發(fā)送者通過接收者公鑰進(jìn)行關(guān)鍵字加密,擁有對(duì)應(yīng)私鑰者可生成陷門進(jìn)行密文搜索[84]。
基于公鑰可搜索加密的技術(shù)難點(diǎn)主要集中在密文檢索和密文計(jì)算技術(shù)方向上。密文檢索可以通過檢索關(guān)鍵詞的方式直接對(duì)密文數(shù)據(jù)進(jìn)行訪問[85]。密文檢索技術(shù)可以通過單個(gè)關(guān)鍵詞、多個(gè)關(guān)鍵詞、模糊關(guān)鍵詞到區(qū)間檢索惡意流量的特征。
單關(guān)鍵字檢索復(fù)雜度與數(shù)據(jù)庫的大小呈線性關(guān)系。為了提高搜索效率,GOH[86]為每個(gè)文檔構(gòu)建了一個(gè)Bloom過濾器,服務(wù)器可以使用Bloom過濾器來測試文檔中是否有特定的關(guān)鍵字。CURTMOLA等[87]設(shè)計(jì)了一個(gè)基于關(guān)鍵字的倒排檢索。在這種結(jié)構(gòu)中,服務(wù)器可以直接找到所查詢關(guān)鍵字的所有搜索結(jié)果。但服務(wù)器可能會(huì)返回不完整或不正確的結(jié)果。因此,KUROSAWA等[88]在每個(gè)關(guān)鍵字的搜索結(jié)果上使用消息驗(yàn)證碼,確保搜索結(jié)果的完整性。
多關(guān)鍵詞檢索最早由GOLLE等[89]提出,該方案的檢索復(fù)雜度與查詢關(guān)鍵字?jǐn)?shù)呈線性關(guān)系。為了解決檢索效率低下的問題,CASH等[90]提出了不經(jīng)意交叉標(biāo)記方案,搜索檢索由Tset和Xset組成。服務(wù)器首先根據(jù)Tset檢索匹配文檔數(shù)相對(duì)最少的搜索結(jié)果,然后根據(jù)Xset過濾包含其他查詢關(guān)鍵字的搜索結(jié)果。PAPPAS等[91]提出blind seer方案,樹狀圖上的節(jié)點(diǎn)對(duì)應(yīng)Bloom過濾器,節(jié)點(diǎn)包括所有子節(jié)點(diǎn)中的所有記錄,通過遍歷找到所需的結(jié)果。
模糊關(guān)鍵詞檢索可以檢索不夠精確的關(guān)鍵詞。LI等[92]通過距離來估計(jì)兩個(gè)關(guān)鍵詞的相似度,并利用通配符技術(shù)構(gòu)造了模糊關(guān)鍵詞搜索方案。但該方案必須包含所有可能的錯(cuò)誤關(guān)鍵字的檢索,這將導(dǎo)致檢索冗余。GIONIS[93]構(gòu)造了另一種模糊關(guān)鍵字方案,其主要思想是局部敏感散列技術(shù)可以以很高的概率將相似的項(xiàng)映射到相同的哈希值。然而,一些正確的搜索結(jié)果可能無法檢索到。考慮惡意服務(wù)器可能返回錯(cuò)誤,SUN等[94]提出了一種基于符號(hào)樹的可驗(yàn)證模糊關(guān)鍵字搜索方案。該方案支持模糊關(guān)鍵字搜索,同時(shí)也實(shí)現(xiàn)了搜索者對(duì)排名關(guān)鍵字搜索的可驗(yàn)證性。
區(qū)間檢索[95]是數(shù)據(jù)檢索的重要方式之一。被授權(quán)用戶利用私鑰生成陷門,服務(wù)器檢索陷門后返回對(duì)應(yīng)密文,再由用戶解密得到明文。為了確保搜索關(guān)鍵詞的可用性,AGRAWAL等[96]提出了基于保序加密的區(qū)間檢索,但此方案沒有隱藏關(guān)鍵詞的信息,因而存在隱私泄露的風(fēng)險(xiǎn)。CAI等[97]提出了一種單斷言的區(qū)間檢索方案,該方案被證明是安全的,不會(huì)泄露敏感數(shù)據(jù)的特征。
全同態(tài)加密最早由GENTRY[98]設(shè)計(jì)完成。全同態(tài)加密公鑰方案含有4個(gè)算法:密鑰生成算法 (KeyGen)、加密算法 (Encrypt)、解密算法 (Decrypt) 和密文計(jì)算算法(Evaluate)。全同態(tài)加密的含義是對(duì)明文加密后,在密文上進(jìn)行任意計(jì)算,其結(jié)果等同于對(duì)應(yīng)明文計(jì)算結(jié)果,即
ε=(KeyGen,Encrypt,Decrypt,Evaluate),
(3)
f(Enc(μ))=Enc(f(μ)),
(4)
其中,ε表示全同態(tài)加密算法,f表示進(jìn)行任意計(jì)算,Enc表示加密過程,μ代表明文數(shù)據(jù)。
由于全同態(tài)加密的特性,使其可以應(yīng)用在密文檢索技術(shù)之中,這樣既可以保證用戶數(shù)據(jù)的安全,也可以在一定程度上提高密文檢索的效率。
密文計(jì)算主要有兩類:一類是同態(tài)加密,RIVEST等[99]首次提出同態(tài)加密的概念,同態(tài)加密可以直接應(yīng)用于密文操作,并在解密后得到對(duì)應(yīng)的明文;另一類是函數(shù)(屬性)加密,SAHAI等[100]提出利用屬性基加密(ABE)方案,用戶信息由用戶屬性組成,從而實(shí)現(xiàn)密文訪問控制。LI等[101]提出了一個(gè)新的安全外包ABE系統(tǒng),該系統(tǒng)同時(shí)支持安全外包密鑰發(fā)布和解密。該構(gòu)造以有效的方式提供了外包計(jì)算結(jié)果的可檢查性。SHAMIR[102]提出利用身份基加密(IBE)方案,用戶身份即為公鑰,解決公鑰認(rèn)證繁瑣的問題。王贇玲[103]提出支持服務(wù)器端解密匹配的匿名屬性基加密方法,在不泄露用戶屬性的前提下進(jìn)行高效檢索。
目前的可搜索加密技術(shù)主要應(yīng)用于數(shù)據(jù)庫上,在保證數(shù)據(jù)機(jī)密性的同時(shí)實(shí)現(xiàn)密文數(shù)據(jù)的高效檢索。雖然這項(xiàng)技術(shù)與在加密流量上檢索特征具備一定的相似性,但是可搜索加密技術(shù)不能直接應(yīng)用于流量檢測,其原因是加密流量檢測工作在應(yīng)用層或者TCP/IP層中,需要在用戶數(shù)據(jù)保護(hù)、加密規(guī)則保護(hù)、密鑰管理、檢索算法效率等方面進(jìn)行深度融合。首先,可搜索加密技術(shù)雖然可以防止用戶數(shù)據(jù)泄露,但是無法保證用戶掌握檢測規(guī)則后通過混淆來逃避檢測。將可搜索加密技術(shù)應(yīng)用于流量檢測的同時(shí)還需要保護(hù)加密規(guī)則不泄露。此外檢測效率的問題也制約了可搜索加密在惡意流量檢測上的應(yīng)用。其次,可搜索需要密鑰,規(guī)則保護(hù)也需要密鑰,這兩種密鑰生成與管理不是簡單的協(xié)議組合,需要嚴(yán)格的密碼學(xué)意義上的安全協(xié)議來保證,同時(shí)還需要和網(wǎng)絡(luò)中間盒(Middlebox)上的流量檢測協(xié)議深度融合。最后,惡意流量識(shí)別需要高效的算法,否則過高的設(shè)置延遲和開銷大小在實(shí)際應(yīng)用中是不現(xiàn)實(shí)的。因而學(xué)者開始探索如何行之有效地在Middlebox上檢索惡意流量的模糊特征以識(shí)別惡意流量。
網(wǎng)絡(luò)中間盒(Middlebox)是大型網(wǎng)絡(luò)的一部分,實(shí)現(xiàn)與安全性(例如防火墻和入侵檢測)和性能(例如緩存和負(fù)載平衡)相關(guān)的多種功能。Middlebox通過執(zhí)行深度包檢測(DPI)以檢測網(wǎng)絡(luò)流量中的異常和可疑活動(dòng),然而一旦數(shù)據(jù)包以加密的方式發(fā)送,Middlebox即面臨失效,因?yàn)樯疃劝鼨z測需要對(duì)有效負(fù)載進(jìn)行分析,而Middlebox沒有權(quán)限解密有效負(fù)載。文獻(xiàn)[106-113]通過采用密文檢索的相關(guān)技術(shù),以Middlebox技術(shù)為基礎(chǔ),提出了對(duì)加密數(shù)據(jù)包上進(jìn)行模糊關(guān)鍵詞檢索,以檢測加密流量中的惡意流量。
Middlebox需要以不解密負(fù)載的方式執(zhí)行深度包檢測以保護(hù)用戶數(shù)據(jù),但迫于硬件設(shè)備不足的壓力,Middlebox需要在不可信的外包設(shè)備上進(jìn)行運(yùn)算。為了保護(hù)用戶數(shù)據(jù)不被惡意泄露,GOLTZSCHE等[104]設(shè)計(jì)了Endbox系統(tǒng),Endbox允許在不可信的客戶端機(jī)器上安全地部署和確保Middlebox功能。該系統(tǒng)允許將部分Middlebox功能外包給用戶,利用用戶的CPU資源進(jìn)行計(jì)算。HUNT等[105]設(shè)計(jì)了Ryoan,通過沙箱保護(hù)系統(tǒng)免受潛在的惡意攻擊和防止用戶數(shù)據(jù)泄露,并允許各方在不信任的基礎(chǔ)架構(gòu)上以分布式方式處理敏感數(shù)據(jù),但目前沙箱的安全性暫未得到有效證明。文獻(xiàn)[104-105]雖然使用分布式和沙箱的方法保護(hù)了用戶隱私,但是沒有實(shí)現(xiàn)對(duì)加密規(guī)則的保護(hù),因此無法識(shí)別出用戶的惡意行為。
保護(hù)用戶數(shù)據(jù)隱私的同時(shí)也需要對(duì)加密規(guī)則進(jìn)行保護(hù),因?yàn)榧用芤?guī)則一旦泄露,用戶就可以繞過規(guī)則檢測,使得Middlebox失效。為了能夠同時(shí)實(shí)現(xiàn)Middlebox的功能性和對(duì)加密規(guī)則的保護(hù),YUAN等[106]設(shè)計(jì)了一個(gè)安全的DPI系統(tǒng),使外包的Middlebox能夠?qū)用芰髁窟M(jìn)行深度數(shù)據(jù)包檢查,而不需要揭示包的有效載荷或檢查規(guī)則。該系統(tǒng)建立了一個(gè)高性能的加密規(guī)則過濾器,過濾器安全地存儲(chǔ)從規(guī)則中提取的加密字符串對(duì),并對(duì)從數(shù)據(jù)包有效負(fù)載中提取的隨機(jī)令牌進(jìn)行加密檢查。該系統(tǒng)實(shí)現(xiàn)了同時(shí)對(duì)數(shù)據(jù)包有效負(fù)載和檢查規(guī)則的保護(hù)。SHERRY等[107]提出BlindBox,這是第一個(gè)同時(shí)提供Middlebox的功能性和加密的隱私性這兩個(gè)屬性的系統(tǒng)。具體而言,BlindBox利用亂碼電路生成加密規(guī)則,直接對(duì)加密流量進(jìn)行深度包檢測而無需對(duì)底層流量進(jìn)行解密。通過這樣的方法,BlindBox既可以進(jìn)行深度包檢測,又不需要獲取過多的負(fù)載信息,保護(hù)了用戶的隱私。文獻(xiàn)[106-107]保護(hù)了加密數(shù)據(jù)和加密規(guī)則,但在實(shí)際應(yīng)用中,每個(gè)會(huì)話都需要設(shè)置加密規(guī)則,這導(dǎo)致了設(shè)置延遲和開銷大小都很高,并且由于通信只能在生成加密規(guī)則之后才能開始,所以這種延遲在許多實(shí)時(shí)應(yīng)用中是不可容忍的。
為了最大限度地減少設(shè)置階段的計(jì)算和通信開銷,許多研究者開始探索更好的加密規(guī)則生成算法和密鑰管理方法以同時(shí)保持BlindBox相同的屬性和隱私要求。REN等[108]提出了一種高效安全的深度包檢測方案ES-DPI。該方案中網(wǎng)關(guān)對(duì)數(shù)據(jù)包中的位串進(jìn)行令牌化,同時(shí)混淆加密令牌的位置順序以防止令牌位置順序泄漏導(dǎo)致的問題,并對(duì)令牌進(jìn)行加密以保護(hù)隱私。中間盒部分利用兩個(gè)非共謀云服務(wù)器進(jìn)行規(guī)則匹配:令牌過濾服務(wù)器過濾掉大多數(shù)不匹配的令牌,規(guī)則匹配服務(wù)器執(zhí)行單個(gè)關(guān)鍵字搜索,以確定是否有任何單個(gè)規(guī)則的關(guān)鍵字匹配,在保護(hù)包負(fù)載和中間盒規(guī)則的同時(shí)實(shí)現(xiàn)數(shù)據(jù)效用。該方案中加密規(guī)則集的安全性建立在文獻(xiàn)[109]的基礎(chǔ)之上,同時(shí)使用了文獻(xiàn)[110]中的協(xié)議以防止中間人攻擊。NING等[111]提出基于模糊規(guī)則的深度包檢測技術(shù)PrivDPI,通過模糊規(guī)則為每個(gè)會(huì)話產(chǎn)生新的加密規(guī)則。該方法規(guī)則生成快而且會(huì)話開銷小,并且同樣滿足深度包檢測和隱私要求。另外,PrivDPI中采用了高效的密鑰管理方案:用戶和服務(wù)器通過TLS握手協(xié)議生成會(huì)話密鑰Sk,Sk基于偽隨機(jī)數(shù)發(fā)生器生成另外3個(gè)密鑰。其中,kTLS用于加密流量,k用來生成可重用的模糊規(guī)則和會(huì)話規(guī)則,krand用做生成隨機(jī)數(shù)的種子。該方案在隨機(jī)預(yù)言機(jī)(Random Oracle)模型下給出了嚴(yán)格的密碼學(xué)安全證明。
PrivDPI的優(yōu)勢在于:MB無需學(xué)習(xí)客戶C和服務(wù)器S的密鑰,而C和S也無需學(xué)習(xí)MB的規(guī)則,保證了數(shù)據(jù)通信與規(guī)則的安全和隱私。MB只需要生成一次模糊規(guī)則,就可以通過重用來為每個(gè)新會(huì)話生成加密規(guī)則,有效地減少了規(guī)則準(zhǔn)備中的計(jì)算和通信開銷。該方法與BlindBox相比,計(jì)算規(guī)則生成快而且會(huì)話開銷小,并且同樣滿足深度包檢測和隱私要求。PrivDPI流程如圖5所示。
圖5 PrivDPI示意圖
PrivDPI有兩個(gè)數(shù)據(jù)流,一個(gè)是TLS會(huì)話,客戶C和服務(wù)器S通過TLS握手協(xié)議建立會(huì)話密鑰。另一個(gè)基于滑動(dòng)窗口將數(shù)據(jù)令牌化,生成加密令牌Cti:
Cti=H(salt+cti,Tt),
(5)
其中,Cti表示哈希后的加密令牌;H表示哈希函數(shù);cti表示計(jì)數(shù)器;salt表示隨機(jī)數(shù),其通過在密文任意固定位置插入隨機(jī)字符串,改變密文散列結(jié)果以防止頻率分析攻擊;Tt表示加密令牌,其基于以下公式計(jì)算出:
Tt=gkαt+k2,
(6)
其中,g表示規(guī)則生成器RG生成的參數(shù),α表示隨機(jī)數(shù),k表示會(huì)話密鑰,t表示準(zhǔn)備階段的令牌。
隨后MB生成加密規(guī)則Cri:
Cri=H(salt+cri,Ii),
(7)
其中,Cri表示哈希后的加密規(guī)則,Ii表示可重用模糊規(guī)則。
中間盒通過RG生成的規(guī)則元組,建立一組可重用的模糊規(guī)則Ii:
Ii=gkαri+k2,
(8)
其中,ri表示規(guī)則生成器RG提供的初始規(guī)則。
隨后MB檢查Cri是否匹配Cti;如果二者匹配,則認(rèn)為流量是惡意的。
PrivDPI不能直接應(yīng)用于物聯(lián)網(wǎng)的場景,因?yàn)槲锫?lián)網(wǎng)環(huán)境大多采用一對(duì)多或者多對(duì)多的通信模式。如果采用PrivDPI中一對(duì)一的握手方案,則產(chǎn)生的通信開銷是巨大的;此外,相應(yīng)的密鑰生成和管理同樣會(huì)帶來巨大開銷。為此,文獻(xiàn)[112]提出了一種基于群組密鑰協(xié)商的物聯(lián)網(wǎng)加密流量檢測方案(GKA_DPI)。GKA_DPI使用BlindBox框架進(jìn)行深度流量檢測,并通過動(dòng)態(tài)組密鑰協(xié)議降低功耗,在不解密消息的情況下檢測惡意流量,保證傳感器網(wǎng)絡(luò)通信的安全性。該文同時(shí)在物聯(lián)網(wǎng)中廣泛使用的協(xié)議消息隊(duì)列遙測傳輸協(xié)議(MQTT)上證明了GKA_DPI更適用于物聯(lián)網(wǎng)群組通信,并能有效保證傳感器網(wǎng)絡(luò)通信的安全性和前向/后向保密性。
然而上述方案本質(zhì)上是靜態(tài)的,因?yàn)闄z測規(guī)則一經(jīng)確定就無法隨意更改,添加任何規(guī)則都需要大量的預(yù)處理步驟和協(xié)議的重新實(shí)例化。為此,NING等[113]提出了改進(jìn)方案Pine,在沒有任何客戶端參與的情況下,通過網(wǎng)關(guān)設(shè)備在本地執(zhí)行規(guī)則添加過程。Pine允許動(dòng)態(tài)添加新的規(guī)則而不影響連接,同時(shí)減小了用戶與服務(wù)器之間建立TLS連接的計(jì)算時(shí)間和通信開銷,并通過屬性規(guī)則隱藏保證了規(guī)則的隱私性不受中間盒設(shè)備的影響。從目前公開發(fā)表的文獻(xiàn)看,Pine在效率上達(dá)到了最高。
加密流量中的惡意流量識(shí)別問題是當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域的熱點(diǎn)和難點(diǎn)。筆者綜述了最新的相關(guān)工作,將其分類為基于機(jī)器學(xué)習(xí)和基于密碼學(xué)的兩類識(shí)別框架,并對(duì)兩大類的相關(guān)工作進(jìn)行了總結(jié)。目前的工作已經(jīng)在分類效率上與可證明安全取得了較大進(jìn)展,但是還存在以下問題。
(1) 基于機(jī)器學(xué)習(xí)的惡意流量識(shí)別核心在于正確的數(shù)據(jù)集,正如開源數(shù)據(jù)集ImageNet[114]和 COCO[115]為計(jì)算機(jī)視覺領(lǐng)域的突飛猛進(jìn)提供了重要支持。加密流量也需要一個(gè)開源、有正確標(biāo)簽并且在惡意流量上有詳細(xì)分類的數(shù)據(jù)集。另外,QUIC[116]/HTTP 3[117]等新型協(xié)議的出現(xiàn)使得流量數(shù)據(jù)包中頭部的明文占比進(jìn)一步下降,這對(duì)基于機(jī)器學(xué)習(xí)的惡意流量識(shí)別帶來了進(jìn)一步的挑戰(zhàn)。
(2) 機(jī)器學(xué)習(xí)領(lǐng)域?qū)箻颖镜娘w速進(jìn)展使得流量混淆與偽裝的難度進(jìn)一步降低,攻擊者可通過學(xué)習(xí)流量數(shù)據(jù),添加合適的噪聲將攻擊流量偽裝成正常流量,甚至誤導(dǎo)模型將正常流量識(shí)別為攻擊流量;另外,基于機(jī)器學(xué)習(xí)的惡意流量識(shí)別能力會(huì)隨著時(shí)間流逝而逐漸下降,同時(shí)在訓(xùn)練/測試集中的惡意流量分布必須符合現(xiàn)實(shí)分布[118]。如何應(yīng)對(duì)流量混淆和時(shí)間衰減等問題將是下一步的研究重點(diǎn)。
(3) 目前的基于密碼學(xué)的惡意流量識(shí)別建立在關(guān)鍵詞搜索之上,其本質(zhì)上類似黑/白名單機(jī)制,攻擊者可通過混淆技術(shù)改變自己惡意特征的關(guān)鍵詞,從而混淆與正常流量的邊界,達(dá)到逃避檢測的目的。因此如何行之有效地應(yīng)對(duì)加密流量混淆技術(shù),將成為下一步的研究重點(diǎn)之一。
(4) 基于中間盒的深度包檢測技術(shù)在加密規(guī)則生成、數(shù)據(jù)包令牌化和加密規(guī)則匹配上都需要高效安全的算法支撐,否則過高的設(shè)置延遲和運(yùn)算開銷在實(shí)際應(yīng)用中是不現(xiàn)實(shí)的。而全同態(tài)加密算法將為基于密碼學(xué)的惡意流量識(shí)別技術(shù)帶來新的曙光。