趙文紅 羅琴 王巍
摘 要:網(wǎng)絡(luò)協(xié)議分析可以幫助安全人員分析網(wǎng)絡(luò)漏洞。但網(wǎng)絡(luò)協(xié)議分析面臨著協(xié)議種類越來越多、協(xié)議狀態(tài)空間越來越復(fù)雜的問題。首先提出了基于基函數(shù)的網(wǎng)絡(luò)協(xié)議結(jié)構(gòu)表征方法,然后在此基礎(chǔ)上給出了基于基函數(shù)組合模式的分層協(xié)議分析方法。之后針對(duì)私有協(xié)議,提出了一種可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方式。最后給出了基于基函數(shù)的網(wǎng)絡(luò)協(xié)議分析流程。性能分析實(shí)驗(yàn)表明提出的方法優(yōu)于傳統(tǒng)的匹配方法和統(tǒng)計(jì)方法。
關(guān)鍵詞:協(xié)議分析 基函數(shù) 網(wǎng)絡(luò)安全 基函數(shù)組合模式
中圖分類號(hào):TN911.7 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2014)02(a)-0058-04
Abstract:To analyses networks, security administrators usually use protocol analysis technologies. But there are many limitations on the existing technologies. Such as too many protocol types, complicated state space of protocol and so on. To solve the problem, a new description method of protocol structure is presented by base-function firstly. Then, a protocol analysis method base on it is proposed. To analyses the private protocols, a new self-learning algorithm is discussed. Finally, the flow of protocol analysis based on base-function is given. Experiment results show the efficiency of presented method.
Keywords:Protocol Analysis Base-function Protocol State Combination Mode of Base-function
網(wǎng)絡(luò)協(xié)議分析是在網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全研究領(lǐng)域中眾多學(xué)者關(guān)注的核心問題[1-5]。網(wǎng)絡(luò)協(xié)議分析通過捕獲網(wǎng)絡(luò)中的數(shù)據(jù)包,分析數(shù)據(jù)包的首部和數(shù)據(jù)字段給出協(xié)議的詳細(xì)信息和統(tǒng)計(jì)結(jié)果,進(jìn)而將數(shù)據(jù)歸類和分析,從而進(jìn)一步幫助發(fā)現(xiàn)網(wǎng)絡(luò)潛在安全隱患,并可在網(wǎng)絡(luò)發(fā)生故障時(shí)提供故障分析信息[6-9]。網(wǎng)絡(luò)協(xié)議分析可以使網(wǎng)絡(luò)管理人員可以快速準(zhǔn)確地定位故障原因,找出引起故障的網(wǎng)絡(luò)節(jié)點(diǎn)、網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)鏈路,以最快的速度恢復(fù)網(wǎng)絡(luò)的正常運(yùn)行[10-11]。此外,網(wǎng)絡(luò)協(xié)議分析還可以通過分析網(wǎng)絡(luò)通信情況以及網(wǎng)絡(luò)連接狀況,對(duì)網(wǎng)絡(luò)性能和資源的合理分配,為規(guī)劃及調(diào)整網(wǎng)絡(luò)提供可靠依據(jù)。
但是由于現(xiàn)有網(wǎng)絡(luò)協(xié)議呈現(xiàn)多樣化、私有化的特點(diǎn),協(xié)議分析人員面臨著協(xié)議種類越來越多、協(xié)議狀態(tài)空間越來越復(fù)雜的問題。
已有的很多協(xié)議分析方法大多使用字符串匹配的方法[2,5,7],由于這種方法使用了大量的匹配方法,所以速度較慢。而其他基于統(tǒng)計(jì)學(xué)的協(xié)議分析方法又存在精確度不高的缺點(diǎn)[3,4,6]。此外這些方法都不能對(duì)各家網(wǎng)絡(luò)公司的私有協(xié)議進(jìn)行分析。
為了解決上述問題,本文首先設(shè)計(jì)了一種新的協(xié)議分析流程,然后對(duì)此流程中涉及的各種方法進(jìn)行了討論,其中包括:基于基函數(shù)的協(xié)議結(jié)構(gòu)表征、基于結(jié)構(gòu)分布圖的多尺度協(xié)議識(shí)別、可自學(xué)習(xí)的協(xié)議結(jié)構(gòu)識(shí)別?;诨瘮?shù)的協(xié)議結(jié)構(gòu)表征主要解決協(xié)議表述問題,把眾多的協(xié)議用有限的少量基函數(shù)是,減少了協(xié)議描述的復(fù)雜度;基于結(jié)構(gòu)分布圖的多尺度協(xié)議識(shí)別利用基函數(shù)對(duì)嵌套的已知結(jié)構(gòu)協(xié)議進(jìn)行分層識(shí)別分析,并采用遞歸方式減少識(shí)別分析的復(fù)雜度;可自學(xué)習(xí)的協(xié)議結(jié)構(gòu)識(shí)別針對(duì)私有協(xié)議進(jìn)行基函數(shù)構(gòu)建,從而利用新的基函數(shù)進(jìn)行協(xié)議表征,獲取其字段結(jié)構(gòu),并將新的基函數(shù)加入?yún)f(xié)議分析庫(kù),最終將私有協(xié)議轉(zhuǎn)換為已知結(jié)構(gòu)協(xié)議進(jìn)行分析。
1 基于基函數(shù)的協(xié)議結(jié)構(gòu)表征方法
由于現(xiàn)有協(xié)議的特征字段多種多樣,所以需要使用少量的信息對(duì)大量協(xié)議的特征字段進(jìn)行表述,從而為協(xié)議的分析提供基礎(chǔ)。
由于沃爾什(Walsh)函數(shù)系具有函數(shù)值為±1、正交性等特點(diǎn),所以本文采用沃爾什(Walsh)函數(shù)作為基函數(shù)對(duì)協(xié)議結(jié)構(gòu)進(jìn)行表征。
沃爾什(Walsh)函數(shù)定義如下:
若用wal(k,t)(k=0,1,…)來表示區(qū)間t∈[0,1)上的沃爾什函數(shù),則其定義為下式:
wal(2k,t)=wal(k,2t)+(-1)kwal(k,2t-1),k=1,2,…
wal(2k+1,t)=wal(k,2t)+(-1)k+1wal(k,2t-1), k=0,1,…
wal(0,t) =
有了沃爾什(Walsh)函數(shù)以后,我們定義如下變換將沃爾什函數(shù)的±1轉(zhuǎn)換為0,1比特流:
f(w) =
則采用變換f(x)可以得到一組正交基函數(shù)base(k,t)(k=0,1,…):
base(2k,t)=f(wal(2k,t)), k=1,2,…
base(2k+1,t)=f(wal(2k+1,t)), k=0,1,…
base(0,t)=f(wal(0,t))
由于已知結(jié)構(gòu)協(xié)議的協(xié)議數(shù)據(jù)可以表示為0,1碼串,所以可以用正交基函數(shù)base的不同組合模式表述所有的已知協(xié)議,從而可以建立基函數(shù)庫(kù)和已知結(jié)構(gòu)協(xié)議的基函數(shù)模式組合方式庫(kù)。
下面,我們?cè)诨瘮?shù)和變換f(x)的基礎(chǔ)上,利用已有的基函數(shù)模式組合方式和接收到的目標(biāo)協(xié)議信息,采用時(shí)間滑動(dòng)的方式描繪目標(biāo)協(xié)議的時(shí)間-結(jié)構(gòu)分布圖,然后根據(jù)時(shí)間-結(jié)構(gòu)分布圖描繪基函數(shù)模式組合-匹配率分布圖,從而判斷輸入數(shù)據(jù)是否是已知結(jié)構(gòu)的協(xié)議數(shù)據(jù)。endprint
假設(shè)C為基函數(shù)組合模式集合,
(1)對(duì)每一種已有的基函數(shù)組合模式c1,c2,…,ccn∈C,采用時(shí)間滑動(dòng)的方式與輸入數(shù)據(jù)進(jìn)行異或加操作,得到輸入數(shù)據(jù)的時(shí)間-結(jié)構(gòu)分布圖;
(2)對(duì)不同的基函數(shù)組合模式ci,將輸入數(shù)據(jù)的時(shí)間-結(jié)構(gòu)分布數(shù)據(jù)相加,得到每個(gè)基函數(shù)組合模式的結(jié)構(gòu)匹配數(shù)值(ci, mi),i∈{1,2,…,cn};
(3)利用所有已知基函數(shù)組合模式的結(jié)構(gòu)匹配數(shù)值繪制基函數(shù)模式組合-匹配率分布圖;
(4)比較最大的匹配率數(shù)值m與某個(gè)閾值t
①若m大于等于t,則認(rèn)為輸入數(shù)據(jù)為已知結(jié)構(gòu)協(xié)議的數(shù)據(jù),向分層協(xié)議分析模塊輸出結(jié)果,停止;
②若m小于t,則認(rèn)為輸入數(shù)據(jù)為私有協(xié)議的數(shù)據(jù),向自學(xué)習(xí)協(xié)議分析模塊輸出結(jié)果,停止
其中,閾值t可人工指定,其影響協(xié)議分析的準(zhǔn)確率。
2 基于基函數(shù)組合模式的分層協(xié)議分析
由于現(xiàn)有的通信協(xié)議具有分層封裝的特點(diǎn),所以本節(jié)采用基函數(shù)組合模式思想,對(duì)接收到的協(xié)議數(shù)據(jù)進(jìn)行逐層分析。具體步驟如下:
(1)對(duì)于輸入數(shù)據(jù)d,利用其基函數(shù)組合模式抽取輸入數(shù)據(jù)d的最外層協(xié)議特征字段f1,f2,…,ffn,將接收到的原始目標(biāo)協(xié)議信息分割為協(xié)議首部字段H和上層協(xié)議數(shù)據(jù)supD
(2)解析首部字段H;
(3)判斷上層協(xié)議數(shù)據(jù)supD長(zhǎng)度是否為0,是則停止;
(4)利用上一節(jié)的方法對(duì)分割后得到的上層協(xié)議數(shù)據(jù)supD進(jìn)行協(xié)議結(jié)構(gòu)表征
(5)將已被結(jié)構(gòu)表征的上層協(xié)議數(shù)據(jù)作為輸入數(shù)據(jù),轉(zhuǎn)(1);
圖1給出了對(duì)協(xié)議進(jìn)行逐層分析的示意圖。從圖1中可以看出,在對(duì)目標(biāo)協(xié)議進(jìn)行逐層分析時(shí),每次分析只采用基函數(shù)抽取整體協(xié)議的部分信息,這樣可以減少處理的數(shù)據(jù)量,加快協(xié)議分析的速度。
通過上述方法對(duì)目標(biāo)協(xié)議進(jìn)行分層的結(jié)構(gòu)分析,可以簡(jiǎn)化協(xié)議分析的復(fù)雜度,并且達(dá)到逐級(jí)精確的目的,加大協(xié)議分析的精確度。
3 可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法
由于私有協(xié)議結(jié)構(gòu)的不確定性,需要設(shè)計(jì)具有自學(xué)習(xí)能力的基函數(shù)及其組合模式擴(kuò)展方法。本文采用的自學(xué)習(xí)分析方法可分為以下幾個(gè)步驟:
設(shè)F為基函數(shù)集合,C為基函數(shù)組合模式集合
(1)首先利用已有的基函數(shù)f1,f2,…,fcf∈F,采用不同于組合模式庫(kù)中的新的組合模式c=描繪目標(biāo)協(xié)議的結(jié)構(gòu)分布圖;
(2)利用所有新的基函數(shù)組合模式c的結(jié)構(gòu)匹配數(shù)值繪制基函數(shù)模式組合-匹配率分布圖;
(3)比較最大的匹配率數(shù)值m與某個(gè)閾值t
①若可通過已有的基函數(shù)的新的組合模式cn對(duì)目標(biāo)協(xié)議進(jìn)行表征,則將此協(xié)議對(duì)應(yīng)的新的基函數(shù)模式組合模式cn加入基函數(shù)組合模式庫(kù)C,停止;
②若無(wú)法通過已有的基函數(shù)對(duì)目標(biāo)協(xié)議進(jìn)行表征,則將基函數(shù)的維度加1,把得到新的基函數(shù)fcf+1加入基函數(shù)庫(kù)F,轉(zhuǎn)(1);
其中,閾值t可人工指定,其影響協(xié)議表征的準(zhǔn)確率。
上述自學(xué)習(xí)基函數(shù)及其組合模式擴(kuò)展方法可以形成新的基函數(shù)及其模式組合方式,用以建立私有協(xié)議的表征方式。若此后遇到同樣的協(xié)議,可以通過基函數(shù)組合模式庫(kù)對(duì)此協(xié)議進(jìn)行快速表征和分析。
4 協(xié)議分析流程
本節(jié)提出的協(xié)議分析流程首先基于基函數(shù)的協(xié)議表征思想對(duì)需要分析的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)進(jìn)行分析,判斷其是已知結(jié)構(gòu)協(xié)議的數(shù)據(jù)還是私有協(xié)議的數(shù)據(jù)。然后針對(duì)已知結(jié)構(gòu)協(xié)議和私有協(xié)議的特點(diǎn)進(jìn)行分別處理,對(duì)于已知結(jié)構(gòu)協(xié)議,由于現(xiàn)今網(wǎng)絡(luò)中大量采用了協(xié)議層級(jí)嵌套的設(shè)計(jì)思路,所以我們使用了一種分層協(xié)議分析方法;對(duì)于私有協(xié)議,我們利用自學(xué)習(xí)的思想,構(gòu)建新的基函數(shù)并對(duì)協(xié)議數(shù)據(jù)進(jìn)行表征,進(jìn)而將其轉(zhuǎn)換為已知結(jié)構(gòu)的協(xié)議進(jìn)行分析。此過程如圖2所示。
圖2中的具體流程描述如下:
(1)輸入目標(biāo)網(wǎng)絡(luò)的協(xié)議數(shù)據(jù);
(2)根據(jù)已有庫(kù)中已有的基函數(shù)及其組合模式表征目標(biāo)協(xié)議的結(jié)構(gòu);
(3)判斷目標(biāo)協(xié)議的結(jié)構(gòu)分布圖是否有匹配的基函數(shù)組合模式
(a)若有,即輸入為已知結(jié)構(gòu)的協(xié)議數(shù)據(jù),轉(zhuǎn)(4)
(b)若無(wú),即輸入為私有協(xié)議數(shù)據(jù),轉(zhuǎn)(5)
(4)采用分層方法對(duì)協(xié)議數(shù)據(jù)進(jìn)行分析,停止。
(5)采用可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法建立新的基函數(shù)、基函數(shù)組合模式,更新基函數(shù)庫(kù)和組合模式庫(kù),轉(zhuǎn)(2)。
圖3給出了使用匹配方法[2]、統(tǒng)計(jì)方法[3]和提出方法對(duì)協(xié)議數(shù)據(jù)分析的結(jié)果,其中橫坐標(biāo)為輸入的協(xié)議數(shù)據(jù)數(shù)量,縱坐標(biāo)為分析時(shí)間。實(shí)驗(yàn)數(shù)據(jù)來源于某企業(yè)內(nèi)網(wǎng)數(shù)據(jù),其中包含加密網(wǎng)絡(luò)數(shù)據(jù)和非加密數(shù)據(jù)。從圖中可以看出提出的基于基函數(shù)的網(wǎng)絡(luò)協(xié)議分析方法在性能上優(yōu)于匹配方法、統(tǒng)計(jì)方法。
5 結(jié)語(yǔ)
為了解決網(wǎng)絡(luò)安全領(lǐng)域中的協(xié)議分析問題,該文首先將協(xié)議數(shù)據(jù)轉(zhuǎn)換為基函數(shù)及其組合模式的描述方式,然后提出了基于基函數(shù)的協(xié)議結(jié)構(gòu)表征方法、基于基函數(shù)組合模式的分層協(xié)議分析方法和可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法,最后給出了利用上述方法的協(xié)議分析流程。性能分析實(shí)驗(yàn)表明利用提出的方法可以對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行快速和精確的分析。
參考文獻(xiàn)
[1] Wireshark用戶手冊(cè), http://man.1upaworld.com/content/network/wireshark/
[2] 徐龍.網(wǎng)絡(luò)協(xié)議分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2009(8):74-76.
[3] 陳亮,龔儉,徐選.應(yīng)用層算法協(xié)議識(shí)別算法綜述[J].計(jì)算機(jī)科學(xué),2007,7, 3(7):73-75.
[4] 陳曙暉,蘇金樹.基于內(nèi)容分析的協(xié)議識(shí)別研究[J].國(guó)防科技大學(xué)學(xué)報(bào),2008, 30(4):82-87.
[5] 范慧萍,宣蕾,陳曙暉,等.基于正則表達(dá)式的應(yīng)用層協(xié)議識(shí)別加速[J].計(jì)算機(jī)研究與發(fā)展,2008(45):438-443.
[6] 李雄偉,趙強(qiáng),向凱全,等.基于決策樹的網(wǎng)絡(luò)協(xié)議識(shí)別算法研究[J].微計(jì)算機(jī)信息,2009,25(9-3):25-26.
[7]石美紅,延偉偉,李永剛.基于Ethereal的CORBA通信協(xié)議解析功能[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(12):3236-3239.
[8] Stephen Owen, Pearl Brereton, David Budgen. Protocol analysis:A neglected practice [J]. Communications of the ACM, 2006, 49(2):117-122
[9] Tarek Abbes, Adel Bouhoula, Michael Rusinowiteh. Protocol Analysis in Intrusion Detection Using Decision Tree[C]//. Proceedings of the International Conference on Information Technology: Coding and Computing. USA, 2004, 1253-1261.
[10] 王錦超,李飛,沈明玉.網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議分析算法設(shè)計(jì)與實(shí)現(xiàn)[C]//.計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(4):77-80
[11] Risso F,DegioanniL. An architecture for high performance network analysis. Proceedings of the Sixth IEEE Symposium on Computers and Communications. 2001, 686-693.endprint
假設(shè)C為基函數(shù)組合模式集合,
(1)對(duì)每一種已有的基函數(shù)組合模式c1,c2,…,ccn∈C,采用時(shí)間滑動(dòng)的方式與輸入數(shù)據(jù)進(jìn)行異或加操作,得到輸入數(shù)據(jù)的時(shí)間-結(jié)構(gòu)分布圖;
(2)對(duì)不同的基函數(shù)組合模式ci,將輸入數(shù)據(jù)的時(shí)間-結(jié)構(gòu)分布數(shù)據(jù)相加,得到每個(gè)基函數(shù)組合模式的結(jié)構(gòu)匹配數(shù)值(ci, mi),i∈{1,2,…,cn};
(3)利用所有已知基函數(shù)組合模式的結(jié)構(gòu)匹配數(shù)值繪制基函數(shù)模式組合-匹配率分布圖;
(4)比較最大的匹配率數(shù)值m與某個(gè)閾值t
①若m大于等于t,則認(rèn)為輸入數(shù)據(jù)為已知結(jié)構(gòu)協(xié)議的數(shù)據(jù),向分層協(xié)議分析模塊輸出結(jié)果,停止;
②若m小于t,則認(rèn)為輸入數(shù)據(jù)為私有協(xié)議的數(shù)據(jù),向自學(xué)習(xí)協(xié)議分析模塊輸出結(jié)果,停止
其中,閾值t可人工指定,其影響協(xié)議分析的準(zhǔn)確率。
2 基于基函數(shù)組合模式的分層協(xié)議分析
由于現(xiàn)有的通信協(xié)議具有分層封裝的特點(diǎn),所以本節(jié)采用基函數(shù)組合模式思想,對(duì)接收到的協(xié)議數(shù)據(jù)進(jìn)行逐層分析。具體步驟如下:
(1)對(duì)于輸入數(shù)據(jù)d,利用其基函數(shù)組合模式抽取輸入數(shù)據(jù)d的最外層協(xié)議特征字段f1,f2,…,ffn,將接收到的原始目標(biāo)協(xié)議信息分割為協(xié)議首部字段H和上層協(xié)議數(shù)據(jù)supD
(2)解析首部字段H;
(3)判斷上層協(xié)議數(shù)據(jù)supD長(zhǎng)度是否為0,是則停止;
(4)利用上一節(jié)的方法對(duì)分割后得到的上層協(xié)議數(shù)據(jù)supD進(jìn)行協(xié)議結(jié)構(gòu)表征
(5)將已被結(jié)構(gòu)表征的上層協(xié)議數(shù)據(jù)作為輸入數(shù)據(jù),轉(zhuǎn)(1);
圖1給出了對(duì)協(xié)議進(jìn)行逐層分析的示意圖。從圖1中可以看出,在對(duì)目標(biāo)協(xié)議進(jìn)行逐層分析時(shí),每次分析只采用基函數(shù)抽取整體協(xié)議的部分信息,這樣可以減少處理的數(shù)據(jù)量,加快協(xié)議分析的速度。
通過上述方法對(duì)目標(biāo)協(xié)議進(jìn)行分層的結(jié)構(gòu)分析,可以簡(jiǎn)化協(xié)議分析的復(fù)雜度,并且達(dá)到逐級(jí)精確的目的,加大協(xié)議分析的精確度。
3 可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法
由于私有協(xié)議結(jié)構(gòu)的不確定性,需要設(shè)計(jì)具有自學(xué)習(xí)能力的基函數(shù)及其組合模式擴(kuò)展方法。本文采用的自學(xué)習(xí)分析方法可分為以下幾個(gè)步驟:
設(shè)F為基函數(shù)集合,C為基函數(shù)組合模式集合
(1)首先利用已有的基函數(shù)f1,f2,…,fcf∈F,采用不同于組合模式庫(kù)中的新的組合模式c=描繪目標(biāo)協(xié)議的結(jié)構(gòu)分布圖;
(2)利用所有新的基函數(shù)組合模式c的結(jié)構(gòu)匹配數(shù)值繪制基函數(shù)模式組合-匹配率分布圖;
(3)比較最大的匹配率數(shù)值m與某個(gè)閾值t
①若可通過已有的基函數(shù)的新的組合模式cn對(duì)目標(biāo)協(xié)議進(jìn)行表征,則將此協(xié)議對(duì)應(yīng)的新的基函數(shù)模式組合模式cn加入基函數(shù)組合模式庫(kù)C,停止;
②若無(wú)法通過已有的基函數(shù)對(duì)目標(biāo)協(xié)議進(jìn)行表征,則將基函數(shù)的維度加1,把得到新的基函數(shù)fcf+1加入基函數(shù)庫(kù)F,轉(zhuǎn)(1);
其中,閾值t可人工指定,其影響協(xié)議表征的準(zhǔn)確率。
上述自學(xué)習(xí)基函數(shù)及其組合模式擴(kuò)展方法可以形成新的基函數(shù)及其模式組合方式,用以建立私有協(xié)議的表征方式。若此后遇到同樣的協(xié)議,可以通過基函數(shù)組合模式庫(kù)對(duì)此協(xié)議進(jìn)行快速表征和分析。
4 協(xié)議分析流程
本節(jié)提出的協(xié)議分析流程首先基于基函數(shù)的協(xié)議表征思想對(duì)需要分析的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)進(jìn)行分析,判斷其是已知結(jié)構(gòu)協(xié)議的數(shù)據(jù)還是私有協(xié)議的數(shù)據(jù)。然后針對(duì)已知結(jié)構(gòu)協(xié)議和私有協(xié)議的特點(diǎn)進(jìn)行分別處理,對(duì)于已知結(jié)構(gòu)協(xié)議,由于現(xiàn)今網(wǎng)絡(luò)中大量采用了協(xié)議層級(jí)嵌套的設(shè)計(jì)思路,所以我們使用了一種分層協(xié)議分析方法;對(duì)于私有協(xié)議,我們利用自學(xué)習(xí)的思想,構(gòu)建新的基函數(shù)并對(duì)協(xié)議數(shù)據(jù)進(jìn)行表征,進(jìn)而將其轉(zhuǎn)換為已知結(jié)構(gòu)的協(xié)議進(jìn)行分析。此過程如圖2所示。
圖2中的具體流程描述如下:
(1)輸入目標(biāo)網(wǎng)絡(luò)的協(xié)議數(shù)據(jù);
(2)根據(jù)已有庫(kù)中已有的基函數(shù)及其組合模式表征目標(biāo)協(xié)議的結(jié)構(gòu);
(3)判斷目標(biāo)協(xié)議的結(jié)構(gòu)分布圖是否有匹配的基函數(shù)組合模式
(a)若有,即輸入為已知結(jié)構(gòu)的協(xié)議數(shù)據(jù),轉(zhuǎn)(4)
(b)若無(wú),即輸入為私有協(xié)議數(shù)據(jù),轉(zhuǎn)(5)
(4)采用分層方法對(duì)協(xié)議數(shù)據(jù)進(jìn)行分析,停止。
(5)采用可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法建立新的基函數(shù)、基函數(shù)組合模式,更新基函數(shù)庫(kù)和組合模式庫(kù),轉(zhuǎn)(2)。
圖3給出了使用匹配方法[2]、統(tǒng)計(jì)方法[3]和提出方法對(duì)協(xié)議數(shù)據(jù)分析的結(jié)果,其中橫坐標(biāo)為輸入的協(xié)議數(shù)據(jù)數(shù)量,縱坐標(biāo)為分析時(shí)間。實(shí)驗(yàn)數(shù)據(jù)來源于某企業(yè)內(nèi)網(wǎng)數(shù)據(jù),其中包含加密網(wǎng)絡(luò)數(shù)據(jù)和非加密數(shù)據(jù)。從圖中可以看出提出的基于基函數(shù)的網(wǎng)絡(luò)協(xié)議分析方法在性能上優(yōu)于匹配方法、統(tǒng)計(jì)方法。
5 結(jié)語(yǔ)
為了解決網(wǎng)絡(luò)安全領(lǐng)域中的協(xié)議分析問題,該文首先將協(xié)議數(shù)據(jù)轉(zhuǎn)換為基函數(shù)及其組合模式的描述方式,然后提出了基于基函數(shù)的協(xié)議結(jié)構(gòu)表征方法、基于基函數(shù)組合模式的分層協(xié)議分析方法和可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法,最后給出了利用上述方法的協(xié)議分析流程。性能分析實(shí)驗(yàn)表明利用提出的方法可以對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行快速和精確的分析。
參考文獻(xiàn)
[1] Wireshark用戶手冊(cè), http://man.1upaworld.com/content/network/wireshark/
[2] 徐龍.網(wǎng)絡(luò)協(xié)議分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2009(8):74-76.
[3] 陳亮,龔儉,徐選.應(yīng)用層算法協(xié)議識(shí)別算法綜述[J].計(jì)算機(jī)科學(xué),2007,7, 3(7):73-75.
[4] 陳曙暉,蘇金樹.基于內(nèi)容分析的協(xié)議識(shí)別研究[J].國(guó)防科技大學(xué)學(xué)報(bào),2008, 30(4):82-87.
[5] 范慧萍,宣蕾,陳曙暉,等.基于正則表達(dá)式的應(yīng)用層協(xié)議識(shí)別加速[J].計(jì)算機(jī)研究與發(fā)展,2008(45):438-443.
[6] 李雄偉,趙強(qiáng),向凱全,等.基于決策樹的網(wǎng)絡(luò)協(xié)議識(shí)別算法研究[J].微計(jì)算機(jī)信息,2009,25(9-3):25-26.
[7]石美紅,延偉偉,李永剛.基于Ethereal的CORBA通信協(xié)議解析功能[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(12):3236-3239.
[8] Stephen Owen, Pearl Brereton, David Budgen. Protocol analysis:A neglected practice [J]. Communications of the ACM, 2006, 49(2):117-122
[9] Tarek Abbes, Adel Bouhoula, Michael Rusinowiteh. Protocol Analysis in Intrusion Detection Using Decision Tree[C]//. Proceedings of the International Conference on Information Technology: Coding and Computing. USA, 2004, 1253-1261.
[10] 王錦超,李飛,沈明玉.網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議分析算法設(shè)計(jì)與實(shí)現(xiàn)[C]//.計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(4):77-80
[11] Risso F,DegioanniL. An architecture for high performance network analysis. Proceedings of the Sixth IEEE Symposium on Computers and Communications. 2001, 686-693.endprint
假設(shè)C為基函數(shù)組合模式集合,
(1)對(duì)每一種已有的基函數(shù)組合模式c1,c2,…,ccn∈C,采用時(shí)間滑動(dòng)的方式與輸入數(shù)據(jù)進(jìn)行異或加操作,得到輸入數(shù)據(jù)的時(shí)間-結(jié)構(gòu)分布圖;
(2)對(duì)不同的基函數(shù)組合模式ci,將輸入數(shù)據(jù)的時(shí)間-結(jié)構(gòu)分布數(shù)據(jù)相加,得到每個(gè)基函數(shù)組合模式的結(jié)構(gòu)匹配數(shù)值(ci, mi),i∈{1,2,…,cn};
(3)利用所有已知基函數(shù)組合模式的結(jié)構(gòu)匹配數(shù)值繪制基函數(shù)模式組合-匹配率分布圖;
(4)比較最大的匹配率數(shù)值m與某個(gè)閾值t
①若m大于等于t,則認(rèn)為輸入數(shù)據(jù)為已知結(jié)構(gòu)協(xié)議的數(shù)據(jù),向分層協(xié)議分析模塊輸出結(jié)果,停止;
②若m小于t,則認(rèn)為輸入數(shù)據(jù)為私有協(xié)議的數(shù)據(jù),向自學(xué)習(xí)協(xié)議分析模塊輸出結(jié)果,停止
其中,閾值t可人工指定,其影響協(xié)議分析的準(zhǔn)確率。
2 基于基函數(shù)組合模式的分層協(xié)議分析
由于現(xiàn)有的通信協(xié)議具有分層封裝的特點(diǎn),所以本節(jié)采用基函數(shù)組合模式思想,對(duì)接收到的協(xié)議數(shù)據(jù)進(jìn)行逐層分析。具體步驟如下:
(1)對(duì)于輸入數(shù)據(jù)d,利用其基函數(shù)組合模式抽取輸入數(shù)據(jù)d的最外層協(xié)議特征字段f1,f2,…,ffn,將接收到的原始目標(biāo)協(xié)議信息分割為協(xié)議首部字段H和上層協(xié)議數(shù)據(jù)supD
(2)解析首部字段H;
(3)判斷上層協(xié)議數(shù)據(jù)supD長(zhǎng)度是否為0,是則停止;
(4)利用上一節(jié)的方法對(duì)分割后得到的上層協(xié)議數(shù)據(jù)supD進(jìn)行協(xié)議結(jié)構(gòu)表征
(5)將已被結(jié)構(gòu)表征的上層協(xié)議數(shù)據(jù)作為輸入數(shù)據(jù),轉(zhuǎn)(1);
圖1給出了對(duì)協(xié)議進(jìn)行逐層分析的示意圖。從圖1中可以看出,在對(duì)目標(biāo)協(xié)議進(jìn)行逐層分析時(shí),每次分析只采用基函數(shù)抽取整體協(xié)議的部分信息,這樣可以減少處理的數(shù)據(jù)量,加快協(xié)議分析的速度。
通過上述方法對(duì)目標(biāo)協(xié)議進(jìn)行分層的結(jié)構(gòu)分析,可以簡(jiǎn)化協(xié)議分析的復(fù)雜度,并且達(dá)到逐級(jí)精確的目的,加大協(xié)議分析的精確度。
3 可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法
由于私有協(xié)議結(jié)構(gòu)的不確定性,需要設(shè)計(jì)具有自學(xué)習(xí)能力的基函數(shù)及其組合模式擴(kuò)展方法。本文采用的自學(xué)習(xí)分析方法可分為以下幾個(gè)步驟:
設(shè)F為基函數(shù)集合,C為基函數(shù)組合模式集合
(1)首先利用已有的基函數(shù)f1,f2,…,fcf∈F,采用不同于組合模式庫(kù)中的新的組合模式c=描繪目標(biāo)協(xié)議的結(jié)構(gòu)分布圖;
(2)利用所有新的基函數(shù)組合模式c的結(jié)構(gòu)匹配數(shù)值繪制基函數(shù)模式組合-匹配率分布圖;
(3)比較最大的匹配率數(shù)值m與某個(gè)閾值t
①若可通過已有的基函數(shù)的新的組合模式cn對(duì)目標(biāo)協(xié)議進(jìn)行表征,則將此協(xié)議對(duì)應(yīng)的新的基函數(shù)模式組合模式cn加入基函數(shù)組合模式庫(kù)C,停止;
②若無(wú)法通過已有的基函數(shù)對(duì)目標(biāo)協(xié)議進(jìn)行表征,則將基函數(shù)的維度加1,把得到新的基函數(shù)fcf+1加入基函數(shù)庫(kù)F,轉(zhuǎn)(1);
其中,閾值t可人工指定,其影響協(xié)議表征的準(zhǔn)確率。
上述自學(xué)習(xí)基函數(shù)及其組合模式擴(kuò)展方法可以形成新的基函數(shù)及其模式組合方式,用以建立私有協(xié)議的表征方式。若此后遇到同樣的協(xié)議,可以通過基函數(shù)組合模式庫(kù)對(duì)此協(xié)議進(jìn)行快速表征和分析。
4 協(xié)議分析流程
本節(jié)提出的協(xié)議分析流程首先基于基函數(shù)的協(xié)議表征思想對(duì)需要分析的網(wǎng)絡(luò)協(xié)議數(shù)據(jù)進(jìn)行分析,判斷其是已知結(jié)構(gòu)協(xié)議的數(shù)據(jù)還是私有協(xié)議的數(shù)據(jù)。然后針對(duì)已知結(jié)構(gòu)協(xié)議和私有協(xié)議的特點(diǎn)進(jìn)行分別處理,對(duì)于已知結(jié)構(gòu)協(xié)議,由于現(xiàn)今網(wǎng)絡(luò)中大量采用了協(xié)議層級(jí)嵌套的設(shè)計(jì)思路,所以我們使用了一種分層協(xié)議分析方法;對(duì)于私有協(xié)議,我們利用自學(xué)習(xí)的思想,構(gòu)建新的基函數(shù)并對(duì)協(xié)議數(shù)據(jù)進(jìn)行表征,進(jìn)而將其轉(zhuǎn)換為已知結(jié)構(gòu)的協(xié)議進(jìn)行分析。此過程如圖2所示。
圖2中的具體流程描述如下:
(1)輸入目標(biāo)網(wǎng)絡(luò)的協(xié)議數(shù)據(jù);
(2)根據(jù)已有庫(kù)中已有的基函數(shù)及其組合模式表征目標(biāo)協(xié)議的結(jié)構(gòu);
(3)判斷目標(biāo)協(xié)議的結(jié)構(gòu)分布圖是否有匹配的基函數(shù)組合模式
(a)若有,即輸入為已知結(jié)構(gòu)的協(xié)議數(shù)據(jù),轉(zhuǎn)(4)
(b)若無(wú),即輸入為私有協(xié)議數(shù)據(jù),轉(zhuǎn)(5)
(4)采用分層方法對(duì)協(xié)議數(shù)據(jù)進(jìn)行分析,停止。
(5)采用可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法建立新的基函數(shù)、基函數(shù)組合模式,更新基函數(shù)庫(kù)和組合模式庫(kù),轉(zhuǎn)(2)。
圖3給出了使用匹配方法[2]、統(tǒng)計(jì)方法[3]和提出方法對(duì)協(xié)議數(shù)據(jù)分析的結(jié)果,其中橫坐標(biāo)為輸入的協(xié)議數(shù)據(jù)數(shù)量,縱坐標(biāo)為分析時(shí)間。實(shí)驗(yàn)數(shù)據(jù)來源于某企業(yè)內(nèi)網(wǎng)數(shù)據(jù),其中包含加密網(wǎng)絡(luò)數(shù)據(jù)和非加密數(shù)據(jù)。從圖中可以看出提出的基于基函數(shù)的網(wǎng)絡(luò)協(xié)議分析方法在性能上優(yōu)于匹配方法、統(tǒng)計(jì)方法。
5 結(jié)語(yǔ)
為了解決網(wǎng)絡(luò)安全領(lǐng)域中的協(xié)議分析問題,該文首先將協(xié)議數(shù)據(jù)轉(zhuǎn)換為基函數(shù)及其組合模式的描述方式,然后提出了基于基函數(shù)的協(xié)議結(jié)構(gòu)表征方法、基于基函數(shù)組合模式的分層協(xié)議分析方法和可自學(xué)習(xí)的基函數(shù)及其組合模式擴(kuò)展方法,最后給出了利用上述方法的協(xié)議分析流程。性能分析實(shí)驗(yàn)表明利用提出的方法可以對(duì)網(wǎng)絡(luò)協(xié)議進(jìn)行快速和精確的分析。
參考文獻(xiàn)
[1] Wireshark用戶手冊(cè), http://man.1upaworld.com/content/network/wireshark/
[2] 徐龍.網(wǎng)絡(luò)協(xié)議分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2009(8):74-76.
[3] 陳亮,龔儉,徐選.應(yīng)用層算法協(xié)議識(shí)別算法綜述[J].計(jì)算機(jī)科學(xué),2007,7, 3(7):73-75.
[4] 陳曙暉,蘇金樹.基于內(nèi)容分析的協(xié)議識(shí)別研究[J].國(guó)防科技大學(xué)學(xué)報(bào),2008, 30(4):82-87.
[5] 范慧萍,宣蕾,陳曙暉,等.基于正則表達(dá)式的應(yīng)用層協(xié)議識(shí)別加速[J].計(jì)算機(jī)研究與發(fā)展,2008(45):438-443.
[6] 李雄偉,趙強(qiáng),向凱全,等.基于決策樹的網(wǎng)絡(luò)協(xié)議識(shí)別算法研究[J].微計(jì)算機(jī)信息,2009,25(9-3):25-26.
[7]石美紅,延偉偉,李永剛.基于Ethereal的CORBA通信協(xié)議解析功能[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(12):3236-3239.
[8] Stephen Owen, Pearl Brereton, David Budgen. Protocol analysis:A neglected practice [J]. Communications of the ACM, 2006, 49(2):117-122
[9] Tarek Abbes, Adel Bouhoula, Michael Rusinowiteh. Protocol Analysis in Intrusion Detection Using Decision Tree[C]//. Proceedings of the International Conference on Information Technology: Coding and Computing. USA, 2004, 1253-1261.
[10] 王錦超,李飛,沈明玉.網(wǎng)絡(luò)數(shù)據(jù)包的協(xié)議分析算法設(shè)計(jì)與實(shí)現(xiàn)[C]//.計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(4):77-80
[11] Risso F,DegioanniL. An architecture for high performance network analysis. Proceedings of the Sixth IEEE Symposium on Computers and Communications. 2001, 686-693.endprint