黃春艷 范新梅
[摘要]介紹了基于網絡數據的協議分類方法,論述了針對未加密/加密的已知協議、未加密/加密的未知協議四種不同識別對象的分類方法,指出了協議分類需要進一步研究的問題。
[關鍵詞]網絡協議 分類 加密
計算機網絡在人們的日常生活和工作中的作用越來越大,與此同時網絡的安全性也受到了沖擊。網絡通信時總會在網絡協議中留下痕跡,通過研究網絡協議的分類方法,可以更好的保證網絡安全。
1、網絡協議分類的方法
協議分類的方法從研究手段分可劃為兩類,即指令代碼分析(基于指令代碼的協議識別)和報文序列分析(基于網絡數據的協議識別)。報文序列分析相比于指令代碼分析通用性更強,它不關心報文所在協議層次,并且對終端依賴較小。在協議種類復雜的情況下,如果數據量足夠大,它的分析速度優于指令代碼分析方式。但是對于加密協議,由于已經破壞了其統計規律,通過報文序列分析的方式很難得到理想結果,而且這種方法對樣本的要求較高,如果樣本中某類格式的協議比較少,該類協議就容易被忽略。
根據研究對象的不同,報文序列分析可分為四類:未加密已知協議分類、加密已知協議分類、未加密未知協議分類、加密未知協議分類。傳統的協議分類方法大都以統計規律為基礎,通過查找高頻的特征,采用不同的算法來進行分類,包括基于端口的分類、基于特征字段的分類、基于流量特征的分類等。其他方法有基于隱馬爾可夫模型、基于正則表達式的分類等,這些方法多通過提高查找頻繁特征的準確性來提高分類的精度。
2、網絡數據分析中的協議分類
2.1已知協議分類
(1)未加密的已知協議分類
目前針對該類協議的分類方法已經比較成熟,網絡上有非常多的協議解析工具,如sniffer、Wireshark等。由于計算機發展初期協議都使用IANA(Internet Assigned Numbers Authority)中的固定端口,早期主要采用基于端口的協議識別方法對未加密的已知協議進行分析。隨著計算機的普遍應用和各種應用程序的出現,新出現的協議開始采用動態端口來進行通信和數據傳輸,(動態端口也就是未被其它協議固定使用的端口,從1024到65535在傳輸時動態分配),或者采用端口復用技術,這就使得端口識別技術應用越來越受限。針對這種情況人們提出了基于特征字段匹配的協議識別方法,對于未加密的已知協議來說,這種方法大大提升了協議識別的準確率。
(2)加密的已知協議分類。
主要采用基于流量統計特征的方法對加密的已知協議進行分類。該方法利用包特征、間隔時間、報文長度等流特征,判斷其是否為同一類協議。文獻提出一種通過統計網絡流量的時間間隔、雙向的報文數、發報的活躍時間和空閑時間等特征進行分類的方法,該方法利用聚類算法將具有相似或相同特征的網絡流量聚成一簇,最后使用深度包檢測DPI和正則表達式匹配的識別結果來評估聚類效果。
2.2未知協議分類
(1)未加密的未知協議分類
對于未加密未知協議分類的主要研究方法是利用數據挖掘查找出比特流的頻繁序列,再據此進行比特流的分割,將長的比特流分割成多個協議數據包,然后再用聚類的方法對數據進行處理,找出關鍵特征,最后形成分類。文獻提出一種頻繁比特序列挖掘算法,該算法首先從大量的比特流數據中挖掘出頻繁序列,然后通過設定頻繁閾值來選出所需要的頻繁序列。在協議的數據中,通常幀同步碼和協議幀中的固定字段會出現在幀頭部,從而可以反映出幀頭部的分布情況,進而有效的去除載荷數據的影響。該方法對于短頻繁序列的協議類型效果較好,但是不能很明確的確定幀的邊界。頻繁序列挖掘算法有很多,比較成熟的算法有AC算法和Wu-Manber算法等。頻繁序列挖掘算法結合模糊串匹配,可以減少頻繁序列的種類從而達到提高精度的效果。
(2)加密的未知協議分類
針對加密未知協議的分類,通常是結合對加密已知協議分析和未加密未知協議的分類方法綜合使用。通過對流量特征的降維和聚類,找出區分協議的關鍵特征從而實現分類,但是效果不太理想。比較好的分析方法是采用指令序列進行分析。文獻提出一種采用動態污點分析的方法來對未知加密協議進行分析,該方法通過跟蹤記錄程序執行過程中的指令軌跡,采用數據流分析構建指令級和函數級的污點傳播流圖,再根據解密過程中的特征來定位數據包解密后的明文,最后解析協議明文的格式,但分析的速度較慢。
基于網絡數據的協議分類通過提高查找頻繁序列的準確性來提高精確率,但聚類本身結果難以控制和評價,而且加密的未知協議由于破壞了統計特性,用統計方法分析難度加大。研究如何在無監督的情況下更好的分類將會是協議逆向分析的一個重點,如何在未知加密協議中引入先驗知識以降低分析的難度也將是下一步的研究方向。
結束語:
基于網絡數據的協議分類是協議分析中格式推斷和語義分析的基礎,基本思想是發現協議的差異性特征,借此進行分類。文章簡要介紹了基于網絡數據的協議分類方法,根據協議分類對象的不同分為了四類進行論述,較為系統地整理了針對不同研究對象的研究方法,并且對其進行了分析。