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