閆楚玉,高嵩峰,王寶會
(1.河南財經(jīng)政法大學(xué),河南 鄭州 450016;2.北京航空航天大學(xué)軟件學(xué)院,北京 100000)
在互聯(lián)網(wǎng)技術(shù)日益發(fā)達(dá)的今天,準(zhǔn)確有效地識別網(wǎng)絡(luò)流量對網(wǎng)絡(luò)管理、網(wǎng)絡(luò)服務(wù)質(zhì)量保證和網(wǎng)絡(luò)安全具有重要意義。隨著加密技術(shù)的發(fā)展,互聯(lián)網(wǎng)上加密流量的數(shù)量和比例不斷增加。根據(jù)谷歌在2020年發(fā)布的透明度報告,已經(jīng)有80%以上的網(wǎng)絡(luò)數(shù)據(jù)在傳輸過程中使用了加密技術(shù)。然而,有優(yōu)點也有缺點。許多網(wǎng)絡(luò)犯罪分子對加密技術(shù)也非常熟悉,越來越多的網(wǎng)絡(luò)攻擊和信息盜竊也隱藏在加密流量的背后,這對加密網(wǎng)絡(luò)流量的發(fā)展提出了巨大的挑戰(zhàn)。在加密流量面前,以往基于深度包檢測和機(jī)器學(xué)習(xí)的預(yù)處理準(zhǔn)確率大大降低。流量加密后原有的特征發(fā)生了改變,傳統(tǒng)的端到端檢測方法在加密流量檢測時失靈。如何在加密流量中準(zhǔn)確有效的識別出惡意流量,已經(jīng)成為網(wǎng)絡(luò)安全領(lǐng)域急需解決的問題。
目前已經(jīng)有許多文獻(xiàn)對加密流量檢測進(jìn)行了研究。文獻(xiàn)[1]討論了網(wǎng)絡(luò)加密流量識別的基本概念、研究進(jìn)展、評價指標(biāo)和存在的問題。[2]文獻(xiàn)討論了加密流量中的惡意流量識別技術(shù)。[3]文獻(xiàn)對基于深度學(xué)習(xí)的加密流量分類技術(shù)進(jìn)行了梳理。
由于加密流量的隨機(jī)性和樣本的不均勻分布,原有的端到端機(jī)器學(xué)習(xí)方法失效。目前,加密惡意流量的研究難點主要集中在以下三個方面:(1)如何收集和處理數(shù)據(jù)集;(2)如何從樣本中提取有用的特征;(3)如何選擇合理的選擇分類模型。本文主要從以上三點進(jìn)行研究。
目前,有關(guān)于惡意加密流量檢測的研究缺少高質(zhì)量的數(shù)據(jù)集,而機(jī)器學(xué)習(xí)的準(zhǔn)確性往往依賴于海量帶標(biāo)簽的數(shù)據(jù)集。
為解決數(shù)據(jù)集規(guī)模問題,文獻(xiàn)[4]利用Scapy工具產(chǎn)生業(yè)務(wù)流量和異常流量。來解決樣本不均問題。
文獻(xiàn)[5]從網(wǎng)絡(luò)公開渠道選取的未加密流量,使用不同的加密算法和密鑰長度對相同的原始惡意樣本進(jìn)行加密;而對于一個正常樣本,只選擇一種加密算法一種密鑰長度進(jìn)行加密,以增加數(shù)據(jù)集中惡意樣本的比例。具體流程如圖1所示。
文獻(xiàn)[3]總結(jié)了常見的數(shù)據(jù)集來源包括:
圖1 非加密流量數(shù)據(jù)加工流程圖
(1)開源數(shù)據(jù)集:ISCX2012數(shù)據(jù)集是目前被廣泛使用的入侵檢測數(shù)據(jù)集,包含正常流量(SSH)和四種攻擊流量(DDOS、Http、Dos、in -filtering、Brute Force)。攻擊形式與實際情況比較接近。攻擊流量占比為2.8%左右,與實際情況的統(tǒng)計結(jié)果基本一致。Unsw-nb15是由澳大利亞中心網(wǎng)絡(luò)范圍實驗室的IXIAPerfectStorm工具生成的。這個數(shù)據(jù)集由100GB的原始網(wǎng)絡(luò)流量組成。數(shù)據(jù)集的訓(xùn)練部分包含175341條記錄,而測試集包含82332條記錄。訓(xùn)練集和測試集由攻擊類型和正常記錄組成,涉及包括Backdoors、DoS、Exploits在內(nèi)的9種攻擊類型。
(2)直接收集法:利用Wireshark等抓包工具捕獲真實的網(wǎng)絡(luò)流量,用于驗證模型的正確性。
(3)腳本生成法:模擬攻擊流量常利用腳本和虛擬網(wǎng)絡(luò)生成,如模擬APT攻擊、IOT攻擊、內(nèi)網(wǎng)滲透等攻擊流量。
(4)混合生成法:混合生成方法通常利用開放源碼數(shù)據(jù)集或?qū)㈤_放源碼數(shù)據(jù)集與個人通過實驗捕獲的數(shù)據(jù)集結(jié)合起來。文獻(xiàn)[5]即使用這種方法來收集數(shù)據(jù)集。
(1)隨機(jī)性特征。目前,在加密流量的分類方法中基于負(fù)載隨機(jī)性的檢測仍然是非常重要的檢測方法?;诰W(wǎng)絡(luò)行為可能導(dǎo)致流量熵值相應(yīng)的突變,文獻(xiàn)[4],使用源IP地址、目的地IP地址、源端口,端口號,源MAC地址,目的地MAC地址,六元組表示流,并提取每個元組中的匹配包數(shù),傳輸字節(jié)數(shù),活躍時間三項,作為特征,并計算三項的熵值制成相應(yīng)的映射表。通過熵變的位置對流量進(jìn)行實時監(jiān)測。
文獻(xiàn)[5]通過計算流量的卡方來反映統(tǒng)計樣本的實際觀測值與理論推斷值之間的偏差程度。通過Renyi熵對加密后的流量進(jìn)行區(qū)分。并提取卡方、Renyi熵、頻數(shù)、游程、最大游程、傅里葉變換、非重疊匹配、序列化、累加和等12個特征。特征說明見表1。
表1 特征說明
然而,以上兩篇文獻(xiàn)只關(guān)注惡意流量與正常流量的區(qū)別,沒有關(guān)注流量加密后的特性。
(2)分級提取特征。來自清華大學(xué)的HawkEye戰(zhàn)隊提出從數(shù)據(jù)包級、流級和主機(jī)級三個不同層次分別提提取行為特征,構(gòu)建多個模型,來提高對黑白樣本的識別能力。
文獻(xiàn)[4]采用隨機(jī)計算機(jī)森林和Xgboost兩種集成學(xué)習(xí)算法和MLP深度學(xué)習(xí)算法作為模型的分類算法。參見圖2。隨機(jī)森林類似于決策樹,對于不平衡的分類數(shù)據(jù)集來說,它可以平衡誤差。這種模型最高的測試精度為72.98%(由隨機(jī)森林算法產(chǎn)生)。
圖2 檢測模型構(gòu)成
文獻(xiàn)[5]直接基于Renyi熵,通過比較熵值在一段時間內(nèi)的變化來判斷流量情況,并對攻擊類型進(jìn)行分類。例如,當(dāng)有端口掃描行為發(fā)生時,由于攻擊者開始掃描被攻擊主機(jī)的目的端口,網(wǎng)絡(luò)流量的目的端口號類型迅速增加,目的端口熵急劇增加。當(dāng)蠕蟲病毒在網(wǎng)絡(luò)中傳播時,攻擊者根據(jù)特定目的端口號上存在的漏洞發(fā)動蠕蟲病毒傳播。這種情況下,特定目的端口的報文數(shù)增加,而其他端口的報文數(shù)相對較少。由于網(wǎng)絡(luò)報文集中在一個特定的目的端口號上,所以目的端口號的熵值平穩(wěn)下降。網(wǎng)絡(luò)中用于蠕蟲傳播的病毒流量的源IP地址都是攻擊者的IP地址。因此,源IP地址的熵也是穩(wěn)定的。
當(dāng)攻擊者發(fā)起DDoS攻擊時,網(wǎng)絡(luò)流量集中在特定的目的端口號和目的IP地址上,目的端口號和目的IP地址的熵值急劇下降。該模型成本低、易于部署,且模型的準(zhǔn)確性不依賴于數(shù)據(jù)集的質(zhì)量,因此更適合于惡意流量檢測。該模型存在的問題是,如果攻擊者使用偽IP地址,則該方法失效。
文獻(xiàn)[6]采用孿生經(jīng)網(wǎng)絡(luò)模型對加密流量進(jìn)行分類,將分類問題轉(zhuǎn)化為從相似性出發(fā)的檢測問題。準(zhǔn)確率為98.8%。但是,如果數(shù)據(jù)集中出現(xiàn)了與惡意流量完全不同的新的惡意流量,模型就會失敗。對于隨機(jī)性大的加密流量,不適合采用相似度檢測。
目前基于密碼學(xué)的惡意流量識別也有研究,主要研究體系如圖3所示。其本質(zhì)是在流量中搜索加密后的惡意關(guān)鍵詞。也就是說,不需要對所有數(shù)據(jù)包進(jìn)行解密,就可以在加密消息上搜索到惡意關(guān)鍵字??伤阉髅艽a學(xué)包括對稱可搜索密碼學(xué)和公鑰可搜索密碼學(xué)。然而,對稱可搜索系統(tǒng)由于密鑰分發(fā)管理成本較高,在實際應(yīng)用中并未得到廣泛的應(yīng)用。目前公鑰可搜索加密被廣泛應(yīng)用于實際網(wǎng)絡(luò)環(huán)境中。由于檢測中間盒沒有解密流量的秘鑰,無法為檢測方法提供保護(hù),因此有必要將可搜索加密技術(shù)、深度包檢測技術(shù)、流量審查機(jī)制和可證明安全模型進(jìn)行綜合設(shè)計應(yīng)用于加密流量檢測中。以便在保護(hù)用戶數(shù)據(jù)隱私和檢測規(guī)則的前提下,檢索加密流量上的惡意關(guān)鍵字,識別惡意流量。目前,可搜索加密技術(shù)主要應(yīng)用于數(shù)據(jù)庫,以保證數(shù)據(jù)的保密性,實現(xiàn)密文數(shù)據(jù)的高效檢索??伤阉骷用芟到y(tǒng)不能直接應(yīng)用于網(wǎng)絡(luò)流量檢測。加密流量檢測工作在應(yīng)用層或TCP或IP層,需要用戶數(shù)據(jù)保護(hù)、加密規(guī)則保護(hù)、密鑰管理和檢索算法效率的深度集成。因為可搜索加密無法避免用戶掌握檢測規(guī)則后通過混淆來逃避檢測。同時,加密檢測的效率也限制了其在網(wǎng)絡(luò)流量中的應(yīng)用。
圖3 基于密碼學(xué)的惡意流量識別體系
加密流量中惡意流量的識別一直是網(wǎng)絡(luò)安全領(lǐng)域的熱點和難點問題。經(jīng)過總結(jié),仍然存在以下問題:
基于機(jī)器學(xué)習(xí)的惡意流量識別的關(guān)鍵是數(shù)據(jù)集的正確性。目前,加密流量識別需要解決數(shù)據(jù)集的準(zhǔn)確性和樣本不均勻的問題。直接采集流量不能保證標(biāo)簽的準(zhǔn)確性,腳本生成也不能很好地模擬真實的網(wǎng)絡(luò)環(huán)境。加密流量還需要一個正確標(biāo)記并對惡意流量進(jìn)行詳細(xì)分類的開源數(shù)據(jù)集。
由于加密的隨機(jī)性導(dǎo)致加密流量的特征不突出,無法提取出有效的特征,這也是影響模型準(zhǔn)確性的一個重要因素。如何在不解密的情況下從密文中提取出有效的信息是一個亟待解決的問題。
由于目前的加密流量無法提取出有效的特征,影響了模型的準(zhǔn)確性。同時,如何保護(hù)檢測規(guī)則也是加密流量檢測中需要解決的問題。