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