一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)-發(fā)明專(zhuān)利說(shuō)明書(shū)(共22頁(yè))_第1頁(yè)
一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)-發(fā)明專(zhuān)利說(shuō)明書(shū)(共22頁(yè))_第2頁(yè)
一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)-發(fā)明專(zhuān)利說(shuō)明書(shū)(共22頁(yè))_第3頁(yè)
一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)-發(fā)明專(zhuān)利說(shuō)明書(shū)(共22頁(yè))_第4頁(yè)
一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)-發(fā)明專(zhuān)利說(shuō)明書(shū)(共22頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上說(shuō) 明 書(shū)一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)啟明星辰 葉潤(rùn)國(guó)(發(fā)明專(zhuān)利已授權(quán))技術(shù)領(lǐng)域本發(fā)明涉及一種可用于入侵檢測(cè)防御(IDS/IPS)產(chǎn)品中的自動(dòng)協(xié)議識(shí)別方法及系統(tǒng),它依據(jù)網(wǎng)絡(luò)數(shù)據(jù)流中報(bào)文特征智能地識(shí)別出其所屬協(xié)議類(lèi)別,屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域。背景技術(shù) 入侵檢測(cè)/防御系統(tǒng)(Intrusion Detection/Protection System, IDS/IPS)作為網(wǎng)絡(luò)安全防護(hù)的重要手段,通常部署在關(guān)鍵網(wǎng)絡(luò)內(nèi)部/網(wǎng)絡(luò)邊界入口處,實(shí)時(shí)捕獲網(wǎng)絡(luò)內(nèi)或進(jìn)出網(wǎng)絡(luò)的報(bào)文數(shù)據(jù)流并進(jìn)行智能綜合分析,發(fā)現(xiàn)可能的入侵行為并進(jìn)行實(shí)時(shí)阻斷。應(yīng)用層協(xié)議深層解析技術(shù)在當(dāng)前主流IDS/IPS產(chǎn)品中被廣泛采

2、用,可用來(lái)實(shí)現(xiàn)基于協(xié)議攻擊特征和協(xié)議異常的入侵檢測(cè)。目前多數(shù)IDS/IPS產(chǎn)品都基于端口映射表來(lái)判別網(wǎng)絡(luò)報(bào)文所屬協(xié)議類(lèi)型,比如,如發(fā)現(xiàn)捕獲的網(wǎng)絡(luò)報(bào)文中源/目端口為80 ,則認(rèn)為它為HTTP(Hypertext Transfer Protocol)協(xié)議報(bào)文,則將該報(bào)文交給HTTP 協(xié)議分析引擎進(jìn)行協(xié)議解碼和入侵檢測(cè)。通常這種端口映射表在IDS/IPS產(chǎn)品出廠(chǎng)時(shí)已確定,但允許管理員修改以適應(yīng)實(shí)際環(huán)境的需要。近年來(lái),出現(xiàn)了一批新型的網(wǎng)絡(luò)協(xié)議,包括SIP(Session Initiation Protocol)和P2P (Peer to peer protocol)協(xié)議等,它們并不采用固定協(xié)議端口,而

3、是在協(xié)議運(yùn)行過(guò)程中動(dòng)態(tài)協(xié)商端口;此外,目前各種木馬、間諜軟件為躲避IDS/IPS產(chǎn)品的入侵檢測(cè)都采用了一些特殊的處理方式,主要表現(xiàn)為:1)并不使用固定通信端口進(jìn)行通信;2)采用公知端口進(jìn)行私有協(xié)議通信(比如80端口);3)采用隧道技術(shù)進(jìn)行私有協(xié)議通信(比如HTTP隧道技術(shù))。在這種情況下,IDS/IPS產(chǎn)品無(wú)法根據(jù)端口映射表來(lái)正確識(shí)別報(bào)文所屬協(xié)議類(lèi)型,而需要根據(jù)網(wǎng)絡(luò)報(bào)文特征智能識(shí)別報(bào)文所屬協(xié)議類(lèi)別,否則,IDS/IPS產(chǎn)品將產(chǎn)生大量的誤報(bào)或漏報(bào)。因此,有必須發(fā)展不單純依賴(lài)于協(xié)議端口的智能協(xié)議識(shí)別技術(shù),以減少I(mǎi)DS/IPS產(chǎn)品的誤報(bào)或漏報(bào)。并且,該智能協(xié)議識(shí)別技術(shù)必須滿(mǎn)足以下要求:智能地根據(jù)報(bào)文

4、特征自動(dòng)識(shí)別報(bào)文所屬協(xié)議類(lèi)型,而不單純依賴(lài)于端口映射表;盡可能依據(jù)協(xié)議數(shù)據(jù)流早期報(bào)文特征快速識(shí)別出所屬協(xié)議類(lèi)型,以盡早進(jìn)行協(xié)議解碼分析和入侵檢測(cè)目的;具有非常高的協(xié)議識(shí)別效率,算法實(shí)現(xiàn)盡可能簡(jiǎn)單; 方法通用性強(qiáng),支持幾乎所有協(xié)議,并要求協(xié)議識(shí)別結(jié)果準(zhǔn)確率高。發(fā)明內(nèi)容為了克服現(xiàn)有技術(shù)的不足, 本發(fā)明提供一種自動(dòng)協(xié)議識(shí)別方法及系統(tǒng)。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:一種自動(dòng)協(xié)議識(shí)別方法,包括協(xié)議樣本特征提取和協(xié)議識(shí)別兩個(gè)階段步驟,其中,所述的協(xié)議樣本特征提取階段步驟包括協(xié)議類(lèi)型樣本的協(xié)議指紋提取和相應(yīng)協(xié)議驗(yàn)證規(guī)則建立,協(xié)議識(shí)別階段步驟包括協(xié)議指紋快速匹配和協(xié)議識(shí)別結(jié)果快速驗(yàn)證。協(xié)議識(shí)別方法之

5、協(xié)議樣本特征提取階段,其中所述的協(xié)議指紋提取方法有如下步驟:對(duì)于文本命令類(lèi)型協(xié)議樣本,用命令參數(shù)或狀態(tài)碼參數(shù)格式描述,直接提取協(xié)議樣本中命令和狀態(tài)碼作為協(xié)議指紋;對(duì)于固定報(bào)頭類(lèi)型協(xié)議樣本,將固定報(bào)頭中所含字段類(lèi)型分為靜態(tài)字段和動(dòng)態(tài)字段類(lèi)型,尋找盡可能多的連續(xù)靜態(tài)類(lèi)型字段,并將其取值組合定義為該類(lèi)型協(xié)議指紋。對(duì)于其它無(wú)固定格式類(lèi)型協(xié)議樣本,尋找可以標(biāo)識(shí)該協(xié)議樣本服務(wù)類(lèi)型的單詞作為協(xié)議指紋。協(xié)議樣本特征提取階段,其中所述的協(xié)議驗(yàn)證規(guī)則建立方法具有如下步驟:提取協(xié)議樣本中除協(xié)議指紋之外其它特征作為該類(lèi)型協(xié)議樣本的協(xié)議驗(yàn)證規(guī)則,包括可進(jìn)一步標(biāo)識(shí)協(xié)議樣本類(lèi)型的字段、單詞或者其它要求協(xié)議消息滿(mǎn)足的規(guī)范等。

6、采用控制流圖(CFG)的步驟,描述為某類(lèi)型協(xié)議樣本建立的協(xié)議驗(yàn)證規(guī)則集,在CFG圖中:存在TRUE和FALSE兩個(gè)特殊節(jié)點(diǎn),其中FALSE節(jié)點(diǎn)只有一個(gè),而TRUE節(jié)點(diǎn)可以有多個(gè);除TRUE和FALSE節(jié)點(diǎn)外,CFG中每一個(gè)節(jié)點(diǎn)表示一條協(xié)議驗(yàn)證規(guī)則(布爾邏輯),其執(zhí)行結(jié)果為真或假;CFG中每一條有向邊表明當(dāng)有向邊源節(jié)點(diǎn)執(zhí)行結(jié)果為true或false時(shí)CFG圖的實(shí)際執(zhí)行路徑;該CFG圖從根節(jié)點(diǎn)開(kāi)始執(zhí)行,直到遇到TRUE或FALSE節(jié)點(diǎn)為止。協(xié)議識(shí)別方法之協(xié)議識(shí)別階段,其中所述的協(xié)議指紋快速匹配方法具有如下步驟:將IP報(bào)文應(yīng)用層數(shù)據(jù)作為文本輸入,將所有協(xié)議指紋作為模式集合,采用多模式配算法找到IP報(bào)

7、文所屬的可能協(xié)議集合;在執(zhí)行多模式匹配算法前,先按協(xié)議指紋偏移對(duì)所有協(xié)議指紋進(jìn)行分類(lèi)并分別建立哈希表;對(duì)每一類(lèi)協(xié)議指紋,從IP報(bào)文應(yīng)用載荷相應(yīng)偏移處開(kāi)始,依次對(duì)前i=1,2,3.個(gè)字節(jié)進(jìn)行哈希,同時(shí)檢查哈希表子鏈,在子鏈非空情況下遍歷子鏈,即調(diào)用子鏈中每一項(xiàng)的相關(guān)協(xié)議驗(yàn)證規(guī)則:如果IP報(bào)文通過(guò)了協(xié)議驗(yàn)證規(guī)則驗(yàn)證,則識(shí)別出了IP報(bào)文所屬協(xié)議類(lèi)型。協(xié)議識(shí)別方法之協(xié)議識(shí)別階段,其中所述協(xié)議驗(yàn)證規(guī)則執(zhí)行過(guò)程具有如下步驟:采用虛擬機(jī)模型來(lái)實(shí)現(xiàn)相關(guān)協(xié)議驗(yàn)證規(guī)則的解釋執(zhí)行;將用CFG描述的協(xié)議驗(yàn)證規(guī)則集翻譯成可在虛擬機(jī)上直接執(zhí)行的虛擬機(jī)程序;由一虛擬機(jī)解釋程序解釋執(zhí)行由協(xié)議驗(yàn)證規(guī)則集翻譯而來(lái)的虛擬機(jī)程序,程

8、序執(zhí)行結(jié)果即是本次協(xié)議識(shí)別結(jié)果。一種自動(dòng)協(xié)議識(shí)別系統(tǒng),其特征在于:所述協(xié)議識(shí)別系統(tǒng)包括協(xié)議指紋庫(kù)、協(xié)議驗(yàn)證規(guī)則庫(kù)、協(xié)議指紋匹配引擎和協(xié)議驗(yàn)證引擎,其中,協(xié)議指紋庫(kù)和協(xié)議驗(yàn)證規(guī)則庫(kù)分別存儲(chǔ)了協(xié)議樣本特征提取階段產(chǎn)生的協(xié)議指紋和協(xié)議驗(yàn)證規(guī)則集,協(xié)議指紋匹配引擎實(shí)現(xiàn)所述的協(xié)議指紋快速匹配算法,協(xié)議驗(yàn)證引擎實(shí)現(xiàn)了所述的虛擬機(jī)模型;協(xié)議樣本特征提取階段提取的協(xié)議指紋和相應(yīng)協(xié)議驗(yàn)證規(guī)則集用配置文件描述,系統(tǒng)工作時(shí),將基于該配置文件構(gòu)建協(xié)議指紋哈希表,將相應(yīng)協(xié)議驗(yàn)證規(guī)則集翻譯成虛擬機(jī)程序供協(xié)議驗(yàn)證引擎執(zhí)行。本發(fā)明的有益效果是,本發(fā)明解決了IDS/IPS產(chǎn)品中對(duì)于非標(biāo)準(zhǔn)端口網(wǎng)絡(luò)協(xié)議的自識(shí)別問(wèn)題。本發(fā)明能夠在網(wǎng)

9、絡(luò)協(xié)議通信初期根據(jù)前期報(bào)文特征自動(dòng)識(shí)別所屬協(xié)議類(lèi)型,并采用協(xié)議驗(yàn)證規(guī)則集進(jìn)一步驗(yàn)證協(xié)議識(shí)別結(jié)果正確性。與已有方法相比,本發(fā)明完全基于網(wǎng)絡(luò)協(xié)議通信初期報(bào)文特征智能識(shí)別出所屬協(xié)議類(lèi)別,而不單純依賴(lài)于固定端口,可以對(duì)所有動(dòng)態(tài)端口協(xié)議、隧道協(xié)議進(jìn)行自動(dòng)識(shí)別,具有協(xié)議識(shí)別速度快和準(zhǔn)確率高等優(yōu)點(diǎn),可廣泛應(yīng)用于IDS/IPS等所有需要智能協(xié)議自識(shí)別的網(wǎng)絡(luò)安全產(chǎn)品中。附圖說(shuō)明下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說(shuō)明。 圖1為本發(fā)明涉及的協(xié)議識(shí)別方法兩階段工作流程圖; 圖2為固定報(bào)頭格式協(xié)議指紋提取舉例; 圖3為采用CFG描述相關(guān)協(xié)議驗(yàn)證規(guī)則集舉例; 圖4為基于快速Hash協(xié)議指紋匹配圖例; 圖5為基于快速Has

10、h協(xié)議指紋匹配和協(xié)議驗(yàn)證流程圖。具體實(shí)施方式實(shí)施例1;本發(fā)明所述協(xié)議識(shí)別過(guò)程方法包括兩個(gè)工作階段:前期協(xié)議樣本特征提取階段和在線(xiàn)協(xié)議識(shí)別階段,各階段步驟如下(見(jiàn)圖1):A. 協(xié)議樣本特征提取階段;依據(jù)協(xié)議指紋提取方法從協(xié)議類(lèi)型樣本中提取該類(lèi)協(xié)議的協(xié)議指紋(每一類(lèi)協(xié)議一般有多個(gè)協(xié)議指紋),并建立該類(lèi)協(xié)議相應(yīng)的驗(yàn)證規(guī)則集。將提取的協(xié)議指紋和相應(yīng)協(xié)議驗(yàn)證規(guī)則集分別存儲(chǔ)到協(xié)議指紋庫(kù)和協(xié)議驗(yàn)證規(guī)則庫(kù)中,供協(xié)議識(shí)別階段指紋匹配引擎和協(xié)議驗(yàn)證引擎使用。B. 在線(xiàn)協(xié)議識(shí)別階段;捕獲未知協(xié)議類(lèi)型數(shù)據(jù)流前期IP報(bào)文,從應(yīng)用層載荷中提取所有可能協(xié)議指紋,采用多模式匹配算法與協(xié)議指紋庫(kù)中各指紋進(jìn)行匹配,識(shí)別出可能的協(xié)

11、議集合;對(duì)于上述可能協(xié)議集合中每一協(xié)議,調(diào)用相應(yīng)協(xié)議驗(yàn)證規(guī)則進(jìn)行驗(yàn)證,如果協(xié)議驗(yàn)證規(guī)則驗(yàn)證通過(guò),則識(shí)別出該IP報(bào)文所屬正確協(xié)議類(lèi)型,否則繼續(xù)執(zhí)行下一個(gè)候選協(xié)議相關(guān)驗(yàn)證規(guī)則,直到識(shí)別出正確協(xié)議為止。一旦識(shí)別出IP報(bào)文所屬協(xié)議類(lèi)型,將創(chuàng)建一個(gè)<源IP,目IP,源端口,目端口,協(xié)議ID>五元組,從而使得屬于該協(xié)議數(shù)據(jù)流的后續(xù)報(bào)文無(wú)需執(zhí)行本協(xié)議識(shí)別方法,以減輕系統(tǒng)計(jì)算開(kāi)銷(xiāo)。本協(xié)議識(shí)別方法一般只需要捕獲到應(yīng)用協(xié)議初期交互過(guò)程中第12回合中帶應(yīng)用數(shù)據(jù)載荷的報(bào)文。因此,對(duì)于基于TCP協(xié)議的應(yīng)用層協(xié)議,需要捕獲TCP三次握手結(jié)束后第1-2個(gè)帶應(yīng)用層數(shù)據(jù)的報(bào)文。本協(xié)議識(shí)別方法可以在網(wǎng)絡(luò)通信協(xié)議初期交

12、互的第1-2個(gè)協(xié)議消息數(shù)據(jù)中識(shí)別出所屬協(xié)議類(lèi)別,因此具有很好的協(xié)議識(shí)別速度。本協(xié)議識(shí)別方法為每一類(lèi)型協(xié)議樣本建立一個(gè)協(xié)議指紋集合(SigSet)和相應(yīng)協(xié)議驗(yàn)證規(guī)則集(RuleSet),其中,協(xié)議指紋是一個(gè)有限長(zhǎng)度的連續(xù)字節(jié)串,它標(biāo)識(shí)一種特定類(lèi)型的協(xié)議消息;當(dāng)協(xié)議指紋正確建立后,通過(guò)IP報(bào)文攜帶的協(xié)議指紋特征就可以識(shí)別其所屬協(xié)議類(lèi)型。舉例,”GET”可以標(biāo)識(shí)HTTP協(xié)議中的HTTP Request消息類(lèi)型,可以用它來(lái)作為HTTP協(xié)議指紋;反過(guò)來(lái),如果發(fā)現(xiàn)某一IP報(bào)文攜帶協(xié)議指紋”GET”,則該IP報(bào)文所屬協(xié)議類(lèi)型為HTTP的可能性很大。但是,單純基于協(xié)議指紋特征得到的協(xié)議識(shí)別結(jié)果可能錯(cuò)誤,因此需

13、要額外措施來(lái)進(jìn)一步驗(yàn)證本次協(xié)議識(shí)別結(jié)果正確性。本協(xié)議識(shí)別方法在識(shí)別出IP報(bào)文所屬可能協(xié)議類(lèi)型之后采用協(xié)議驗(yàn)證規(guī)則集來(lái)驗(yàn)證協(xié)議識(shí)別結(jié)果正確性。協(xié)議驗(yàn)證規(guī)則集與具體協(xié)議相關(guān),它為一個(gè)集合,集合中每一條規(guī)則定義了將一個(gè)IP報(bào)文判別為該類(lèi)型協(xié)議時(shí)該IP報(bào)文必須滿(mǎn)足的布爾表達(dá)式。因此,可以將為某一協(xié)議類(lèi)型建立的協(xié)議驗(yàn)證規(guī)則集看作是該類(lèi)型協(xié)議規(guī)范的一個(gè)必要條件集合。為某一類(lèi)型協(xié)議建立的協(xié)議驗(yàn)證規(guī)則集可用布爾表達(dá)式樹(shù)或者控制流圖(Control Flow Graph, CFG)來(lái)描述,本協(xié)議識(shí)別方法選擇控制流圖描述每種類(lèi)型協(xié)議驗(yàn)證規(guī)則集,采用虛擬機(jī)模型來(lái)實(shí)現(xiàn)協(xié)議驗(yàn)證規(guī)則集的解釋執(zhí)行。HTTP協(xié)議指紋和驗(yàn)證規(guī)

14、則建立舉例;首先為HTTP協(xié)議建立協(xié)議指紋集合,并建立相應(yīng)協(xié)議驗(yàn)證規(guī)則集:為HTTP協(xié)議指紋“GET”建立的驗(yàn)證規(guī)則集為:Rule1: 文本中必須含有”HTTP”字串;Rule2: 文本中必須包含“rn”;Rule3:等等。為HTTP協(xié)議指紋”P(pán)OST”建立的驗(yàn)證規(guī)則集為:Rule1:文本中必須含有”rnrn”字串;Rule2:文本中必須包含Content-Length字串;Rule3:等等。為HTTP協(xié)議指紋”HEAD”建立的驗(yàn)證規(guī)則集為:Rule1:文本中必須含有”HTTP”字串;Rule2:文本中必須包含”If-Modified-Since”字串;Rule3: 等等。 然后,在協(xié)議識(shí)別過(guò)

15、程中,如果發(fā)現(xiàn)一IP報(bào)文包含”GET”協(xié)議指紋,通過(guò)協(xié)議指紋匹配算法可以識(shí)別其所屬協(xié)議類(lèi)別可能為HTTP,這時(shí)進(jìn)一步執(zhí)行前面定義的HTTP協(xié)議協(xié)議指紋”GET”所對(duì)應(yīng)的驗(yàn)證規(guī)則集來(lái)驗(yàn)證該IP報(bào)文:如果該IP報(bào)文通過(guò)了集合中所有驗(yàn)證規(guī)則的驗(yàn)證,則HTTP就為該IP報(bào)文所屬的正確協(xié)議類(lèi)型;否則,繼續(xù)從IP報(bào)文中提取其它協(xié)議指紋、進(jìn)行指紋匹配找到可能所屬協(xié)議類(lèi)型、并執(zhí)行相關(guān)協(xié)議驗(yàn)證規(guī)則進(jìn)行驗(yàn)證,直到找到正確結(jié)果為止。實(shí)施例2;自動(dòng)協(xié)議識(shí)別方法協(xié)含有以下步驟;協(xié)議指紋提??;將所有協(xié)議分為三類(lèi):1)文本命令格式協(xié)議;2)固定報(bào)頭格式協(xié)議;3)無(wú)固定格式協(xié)議。下面分別描述這三類(lèi)協(xié)議的指紋提取方法。文本命令

16、格式協(xié)議;文本命令格式協(xié)議中,所有消息都可能用命令參數(shù)方式描述,這里的命令不但包括通常的協(xié)議命令,還包括服務(wù)端響應(yīng)的狀態(tài)碼。文本命令格式協(xié)議的例子很多,包括POP3,SMTP,FTP, HTTP等。對(duì)于這類(lèi)協(xié)議,只需要提取協(xié)議命令和協(xié)議響應(yīng)狀態(tài)碼作為協(xié)議指紋即可。比如,對(duì)于HTTP協(xié)議,提取的HTTP協(xié)議指紋集合為GET, POST, HEAD, HTTP/0.9, HTTP/1.0, HTTP/1.1。這些協(xié)議指紋在HTTP協(xié)議報(bào)文應(yīng)用載荷中偏移為0,在這種情況下,可以省略協(xié)議指紋偏移的標(biāo)示。固定報(bào)頭格式協(xié)議;固定報(bào)頭格式協(xié)議一般都為二進(jìn)制格式協(xié)議,在該類(lèi)協(xié)議中,所有協(xié)議消息都具有一個(gè)固定長(zhǎng)

17、度的報(bào)頭,然后是可變長(zhǎng)度數(shù)據(jù)。固定報(bào)頭格式協(xié)議例子很多,包括DB2、TDS、DNS和MSRPC協(xié)議等。固定報(bào)頭中,一般包含Type、version、Length、Flags和ID等字段。根據(jù)在網(wǎng)絡(luò)協(xié)議交互過(guò)程中取值變化情況的不同,可以將這些字段分為兩類(lèi):a) 靜態(tài)類(lèi)型字段,即字段取值為常數(shù)或者只能取少數(shù)幾個(gè)值,比如Type, Version, Flags等字段;b) 動(dòng)態(tài)類(lèi)型字段,即字段取值情況預(yù)先不可預(yù)測(cè),比如Length、ID等字段。因此,只能從第一種類(lèi)型字段中提取協(xié)議指紋。如果提取的協(xié)議指紋標(biāo)識(shí)某一類(lèi)型協(xié)議的精確度越高,則協(xié)議識(shí)別過(guò)程中第一次通過(guò)協(xié)議指紋匹配算法找到正確協(xié)議類(lèi)型的可能性就

18、越高,因而可能只需少量協(xié)議驗(yàn)證規(guī)則條目就可識(shí)別出IP報(bào)文所屬協(xié)議類(lèi)別,并可明顯減少協(xié)議識(shí)別算法的計(jì)算開(kāi)銷(xiāo)。為達(dá)到這個(gè)目的,通常將盡可能多的連續(xù)靜態(tài)字段組合起來(lái)作為該類(lèi)協(xié)議樣本的指紋。固定報(bào)頭類(lèi)型協(xié)議指紋提取舉例(見(jiàn)圖2):對(duì)于TDS(Tabular Data System)協(xié)議,其固定報(bào)頭中有兩個(gè)連續(xù)靜態(tài)字段(Type和Status),因此如果將Type+Status組合作為T(mén)DS協(xié)議的指紋,可以提高協(xié)議指紋標(biāo)識(shí)該類(lèi)型協(xié)議的準(zhǔn)確度;對(duì)于MSRPC(Microsoft Remote Procedure Call)協(xié)議,其固定報(bào)頭中存在5個(gè)連續(xù)靜態(tài)字段(Major_Ver、Minor_Ver、Pk

19、tType、PktFlags和DataRepresentation),因此如果將上述5字段組合作為MSRPC協(xié)議指紋,可以提高協(xié)議指紋標(biāo)識(shí)該類(lèi)型協(xié)議準(zhǔn)確度。通過(guò)該方法提取的協(xié)議指紋一般都有2-4個(gè)字節(jié)長(zhǎng)度,并且各協(xié)議指紋之間出現(xiàn)碰撞的可能性很小,因此可明顯加快協(xié)議識(shí)別速度。無(wú)固定格式協(xié)議;對(duì)于無(wú)固定格式協(xié)議,無(wú)法采用通用方法提取協(xié)議指紋,而只能針對(duì)特定協(xié)議特定分析提取協(xié)議指紋的可能性。所幸的是,屬于該類(lèi)型的應(yīng)用層協(xié)議很少,目前只看到Auth協(xié)議。因此,對(duì)于這種情形可以單獨(dú)對(duì)待。 協(xié)議驗(yàn)證規(guī)則集(RuleSet)建立;協(xié)議驗(yàn)證規(guī)則集與具體協(xié)議類(lèi)型相關(guān),為各種類(lèi)型協(xié)議建立協(xié)議驗(yàn)證規(guī)則集目的主要有以

20、下3個(gè):1) 通過(guò)協(xié)議驗(yàn)證規(guī)則集可以檢驗(yàn)本次協(xié)議識(shí)別結(jié)果正確性,即在識(shí)別出某一IP報(bào)文可能所屬協(xié)議類(lèi)型后進(jìn)一步驗(yàn)證其是否真正符合該類(lèi)型協(xié)議規(guī)范(雙重檢查);2) 在兩個(gè)協(xié)議之間的協(xié)議指紋出現(xiàn)碰撞時(shí),可以通過(guò)協(xié)議驗(yàn)證規(guī)則排除錯(cuò)誤協(xié)議類(lèi)型,找到正確的協(xié)議識(shí)別結(jié)果(識(shí)別結(jié)果篩選);3)協(xié)議驗(yàn)證規(guī)則可以深入檢查協(xié)議數(shù)據(jù)載荷,發(fā)現(xiàn)那些隧道型協(xié)議,比如MSN-over-HTTP和SMB-over-NetBIOS等。在協(xié)議識(shí)別過(guò)程中,找到一個(gè)IP報(bào)文可能所屬協(xié)議類(lèi)型后,必須執(zhí)行相關(guān)協(xié)議驗(yàn)證規(guī)則集,并只有在該IP報(bào)文通過(guò)相關(guān)協(xié)議規(guī)則集中所有規(guī)則驗(yàn)證后才算找到了所屬的正確協(xié)議類(lèi)型。 為某一類(lèi)型協(xié)議建立的協(xié)議驗(yàn)證

21、規(guī)則集為一個(gè)規(guī)則集合,采用控制流圖(CFG)模型來(lái)描述協(xié)議驗(yàn)證規(guī)則集。如圖3所示,在CFG模型表示方法中,每一條協(xié)議驗(yàn)證規(guī)則用一個(gè)橢圓節(jié)點(diǎn)表示,這里除TRUE和FALSE兩條用于返回協(xié)議驗(yàn)證結(jié)果的特殊規(guī)則外,其余驗(yàn)證規(guī)則都是一個(gè)布爾邏輯,其執(zhí)行結(jié)果只能為真或假。這個(gè)協(xié)議驗(yàn)證規(guī)則集合從根節(jié)點(diǎn)開(kāi)始執(zhí)行,如果當(dāng)前協(xié)議驗(yàn)證規(guī)則執(zhí)行結(jié)果為真,則執(zhí)行其左側(cè)的驗(yàn)證規(guī)則樹(shù),如果為假,則執(zhí)行其右側(cè)的驗(yàn)證規(guī)則樹(shù),直到執(zhí)行到TRUE或FALSE節(jié)點(diǎn)為止。圖3為兩個(gè)協(xié)議驗(yàn)證規(guī)則集例子:左圖定義了與HTTP協(xié)議指紋“GET“相關(guān)的協(xié)議驗(yàn)證規(guī)則集,該協(xié)議驗(yàn)證規(guī)則集的執(zhí)行從根節(jié)點(diǎn)開(kāi)始,某一IP報(bào)文只有全部通過(guò)了條驗(yàn)證規(guī)則的

22、驗(yàn)證,才可能返回HTTP協(xié)議ID,否則返回FALSE。右圖定義了與HTTP協(xié)議指紋”HTTP/1.1”相關(guān)的驗(yàn)證規(guī)則集,它支持HTTP隧道協(xié)議深層解析,該規(guī)則集從根節(jié)點(diǎn)開(kāi)始執(zhí)行:如果某一IP報(bào)文通過(guò)了前兩個(gè)()協(xié)議驗(yàn)證規(guī)則的驗(yàn)證,則識(shí)別它為HTTP協(xié)議類(lèi)型;進(jìn)一步,如果該IP報(bào)文還滿(mǎn)足第條協(xié)議驗(yàn)證規(guī)則,則識(shí)別它為MSN-Over-HTTP協(xié)議;對(duì)于其它情況則識(shí)別失敗。 為某一協(xié)議指紋建立的協(xié)議驗(yàn)證規(guī)則集大小直接影響到本類(lèi)型協(xié)議的識(shí)別結(jié)果準(zhǔn)確性和算法效率:當(dāng)為某一類(lèi)型協(xié)議指紋定義的協(xié)議驗(yàn)證規(guī)則條目越多,則協(xié)議識(shí)別結(jié)果的準(zhǔn)確性就越高,但是協(xié)議識(shí)別效率會(huì)較低;當(dāng)為某一類(lèi)型協(xié)議指紋定義的協(xié)議驗(yàn)證規(guī)則條

23、目越少,則協(xié)議識(shí)別效率會(huì)很高,但可能會(huì)降低協(xié)議識(shí)別結(jié)果準(zhǔn)確性,因此,應(yīng)根據(jù)需要合理定義協(xié)議驗(yàn)證規(guī)則集。建議:如果協(xié)議指紋較長(zhǎng),與其它協(xié)議指紋沖突可能性很小,則定義的協(xié)議驗(yàn)證規(guī)則條目可以很少甚至沒(méi)有;如果協(xié)議指紋較短,則與其它協(xié)議指紋沖突的可能性較大,因此需要考慮定義多一些的協(xié)議驗(yàn)證規(guī)則條目來(lái)篩選通過(guò)協(xié)議指紋匹配引擎得到的協(xié)議識(shí)別結(jié)果集以得到最可能的協(xié)議類(lèi)型。協(xié)議指紋快速匹配;在前期協(xié)議樣本提取階段定義好各種類(lèi)型協(xié)議指紋和相關(guān)協(xié)議驗(yàn)證規(guī)則后,需要設(shè)計(jì)一種高效的協(xié)議指紋匹配算法,用于在協(xié)議識(shí)別階段對(duì)IP報(bào)文應(yīng)用數(shù)據(jù)進(jìn)行協(xié)議指紋發(fā)現(xiàn)和快速匹配,從而找到該IP報(bào)文所屬的可能協(xié)議類(lèi)型集合。可以采用多模式

24、匹配算法來(lái)執(zhí)行這種協(xié)議指紋快速匹配過(guò)程:將IP報(bào)文應(yīng)用層載荷數(shù)據(jù)作為多模式匹配算法的Text,所有定義的協(xié)議指紋集合作為模式集合,使用多模式匹配算法找到所有可能的協(xié)議類(lèi)型集合,然后對(duì)該集合中每一協(xié)議類(lèi)型執(zhí)行相應(yīng)協(xié)議驗(yàn)證規(guī)則,排除錯(cuò)誤的協(xié)議類(lèi)型,直到找到合適的協(xié)議類(lèi)型為止?;趥鹘y(tǒng)多模型匹配算法實(shí)現(xiàn)協(xié)議指紋快速匹配算法具有算法實(shí)現(xiàn)快、通用性好等優(yōu)點(diǎn),但它沒(méi)有充分利用協(xié)議指紋通常位于IP報(bào)文應(yīng)用載荷頭部這個(gè)特點(diǎn),因此,本協(xié)議識(shí)別方法設(shè)計(jì)了一個(gè)高效的協(xié)議指紋快速匹配算法。 觀察到:95%協(xié)議類(lèi)型的協(xié)議指紋偏移為0,對(duì)于偏移不為0的協(xié)議指紋(占5%),偏移位置都出現(xiàn)在IP報(bào)文應(yīng)用層載荷靠前位置并且取值

25、都有規(guī)律,比如在偏移2,4,8,12,16;此外,所有協(xié)議指紋長(zhǎng)度都較短,一般不超過(guò)8字節(jié)。因此,本協(xié)議識(shí)別方法首先按指紋偏移值對(duì)協(xié)議指紋進(jìn)行分類(lèi),然后對(duì)每一類(lèi)協(xié)議指紋采用快速Hash定位算法進(jìn)行協(xié)議指紋匹配。協(xié)議指紋快速Hash定位算法描述;以偏移為0的所有協(xié)議指紋為例描述該快速Hash定位算法,對(duì)于其它偏移不為0的協(xié)議指紋類(lèi)別,同樣可以采用該快速Hash定位算法??焖貶ash算法準(zhǔn)備階段;將偏移為0的所有協(xié)議指紋按照指定Hash算法插入哈希表,將Hash值相同(即協(xié)議指紋沖突)的協(xié)議指紋串連起來(lái),形成圖4所示的協(xié)議指紋Hash表。快速Hash檢索階段;該協(xié)議指紋快速Hash定位和協(xié)議驗(yàn)證算

26、法工作流程圖見(jiàn)圖5。對(duì)于捕獲的IP報(bào)文應(yīng)用層數(shù)據(jù)m,從偏移位置0開(kāi)始,依次對(duì)m前i(i1,2,3,)個(gè)連續(xù)字節(jié)進(jìn)行哈希(Hash)運(yùn)算(分別用H(m1-1),H(m1-2), ,H(m1-maxsig)表示,這里maxsig為最大協(xié)議指紋長(zhǎng)度),并同時(shí)檢查Hash表中相應(yīng)Hash子鏈情況:如果對(duì)應(yīng)Hash子鏈為空,則進(jìn)行下一個(gè)Hash運(yùn)算;否則,依次執(zhí)行子鏈中具體協(xié)議驗(yàn)證規(guī)則集:如果協(xié)議驗(yàn)證規(guī)則驗(yàn)證通過(guò),則識(shí)別出了正確的協(xié)議類(lèi)型。否則,繼續(xù)執(zhí)行子鏈中下一候選協(xié)議的協(xié)議驗(yàn)證規(guī)則集,直到找到合適的協(xié)議類(lèi)型為止。該快速Hash協(xié)議指紋匹配和協(xié)議驗(yàn)證算法偽代碼描述如下:HTabindex = NULL

27、 /偏移為0的協(xié)議指紋哈希表/依次掃描Payload前maxsig字節(jié)For(i=1;i<=maxsig;i+) index=Hash(payload, i); /對(duì)前i個(gè)字節(jié)進(jìn)行Hash if(HTabindex != NULL) /如果Hash子鏈不為空 /遍歷子鏈,并調(diào)用相應(yīng)的協(xié)議驗(yàn)證規(guī)則 prec = HTabindex; do /call protocol verify function pointer. ret=proto_verify(payload,len,prec->rules); /如果協(xié)議驗(yàn)證通過(guò),則返回協(xié)議ID if (ret>0) return re

28、t; prec = prec->next;/否則繼續(xù)驗(yàn)證子鏈下一元素 while(prec != NULL); 協(xié)議驗(yàn)證規(guī)則執(zhí)行;本協(xié)議識(shí)別方法中,在通過(guò)IP報(bào)文攜帶的協(xié)議指紋檢索到所屬的可能協(xié)議類(lèi)型時(shí),需要調(diào)用為該類(lèi)型協(xié)議定義的協(xié)議驗(yàn)證規(guī)則來(lái)進(jìn)一步驗(yàn)證該IP報(bào)文是否滿(mǎn)足該類(lèi)型協(xié)議規(guī)范,即上述偽代碼中的proto_verify函數(shù)的實(shí)現(xiàn)問(wèn)題。本發(fā)明采用CFG模型來(lái)描述協(xié)議驗(yàn)證規(guī)則,并采用虛擬機(jī)來(lái)解釋執(zhí)行由協(xié)議驗(yàn)證規(guī)則生成的CFG圖,因此,在前期協(xié)議樣本特征提取階段需要將為各類(lèi)型協(xié)議定義的協(xié)議驗(yàn)證規(guī)則集(即CFG圖)編譯成可在虛擬機(jī)上直接執(zhí)行的程序代碼;然后,在協(xié)議識(shí)別階段,在協(xié)議指紋匹配

29、引擎識(shí)別出IP報(bào)文所屬的可能協(xié)議類(lèi)型后,由協(xié)議驗(yàn)證引擎加載該類(lèi)型協(xié)議的虛擬機(jī)程序代碼進(jìn)行解釋執(zhí)行,程序返回結(jié)果為識(shí)別出的協(xié)議類(lèi)型ID或者0(0表示未知協(xié)議ID)。 本協(xié)議識(shí)別方法中協(xié)議驗(yàn)證引擎使用的虛擬機(jī)模型類(lèi)似于BPF過(guò)濾器中使用的虛擬機(jī)模型,它基于寄存器操作,專(zhuān)為IP報(bào)文處理設(shè)計(jì),是一個(gè)非常簡(jiǎn)單高效的虛擬機(jī)模型。該虛擬機(jī)模型由一個(gè)存儲(chǔ)器,一個(gè)索引寄存器。一個(gè)可擦除存儲(chǔ)器,一個(gè)隱含程序計(jì)數(shù)器組成。它能執(zhí)行加載與存儲(chǔ)指令,分支與算數(shù)指令等?;谔摂M機(jī)模型設(shè)計(jì)的協(xié)議驗(yàn)證引擎以IP報(bào)文應(yīng)用層載荷為虛擬機(jī)程序輸入數(shù)據(jù),程序執(zhí)行結(jié)果為該IP報(bào)文所屬的協(xié)議類(lèi)型ID或者0(表示識(shí)別失?。?。 通過(guò)采用CFG

30、圖來(lái)描述某種類(lèi)型協(xié)議的協(xié)議驗(yàn)證規(guī)則集,并通過(guò)虛擬機(jī)引擎來(lái)執(zhí)行協(xié)議驗(yàn)證規(guī)則集,使得該發(fā)明所述的協(xié)議識(shí)別方法支持非常復(fù)雜的協(xié)議驗(yàn)證規(guī)則集定義,協(xié)議驗(yàn)證規(guī)則表達(dá)能力可以達(dá)到非常細(xì)的粒度,可滿(mǎn)足所有類(lèi)型協(xié)議的協(xié)議驗(yàn)證規(guī)則表達(dá)需求。 在本發(fā)明所述之協(xié)議識(shí)別方法中,前期協(xié)議樣本特征提取階段定義的協(xié)議指紋和相關(guān)協(xié)議驗(yàn)證規(guī)則集由配置文件給出,管理員可通過(guò)修改配置文件中協(xié)議驗(yàn)證規(guī)則集在協(xié)議識(shí)別結(jié)果準(zhǔn)確性和協(xié)議識(shí)別效率之間作出調(diào)整,無(wú)需修改協(xié)議指紋匹配引擎和協(xié)議驗(yàn)證引擎虛擬機(jī)代碼,因而本協(xié)議識(shí)別方法具有非常好的架構(gòu)靈活性、跨平臺(tái)移植能力。專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)說(shuō) 明 書(shū) 附 圖協(xié)議指紋提取協(xié)議指紋庫(kù)驗(yàn)證規(guī)則建立驗(yàn)證規(guī)則

31、庫(kù)協(xié)議樣本庫(kù)指紋匹配引擎協(xié)議驗(yàn)證引擎特征提取階段協(xié)議識(shí)別階段 未知協(xié)議報(bào)文流協(xié)議ID圖1TypeSizeChannelPktNumwindowData.StatusMajor_VSizeFlag_LenData.左圖:TDS固定報(bào)頭格式右圖:MSRPC固定報(bào)頭格式PKTTypeMinor_VPKTFlagsData RepresentationAuth_Len圖2第1行文本包含HTTP字串文本以rn結(jié)尾文本中包含rn字串True=HTTPFALSEtruetruetruefalsefalsefalse第1行文本包含有效狀態(tài)碼文本中包含X-MSN-Messenger文本中包含rn字串True=M

32、SNFALSEtruetruetruefalsefalsefalseTrue=HTTP左圖:HTTP協(xié)議指紋Get的驗(yàn)證規(guī)則集右圖:HTTP協(xié)議指紋HTTP/1.1驗(yàn)證規(guī)則集圖38偏移為0協(xié)議指紋哈希表SigSigSigSig12345678rules1234567H(1)=1H(2)=6H(3)=7IP報(bào)文應(yīng)用數(shù)據(jù)mSigrulesH(maxsig)圖4開(kāi)始 (I=0)I+對(duì)報(bào)文應(yīng)用載荷前I個(gè)字節(jié)進(jìn)行哈希,得到哈希子鏈位置。I值超過(guò)協(xié)議指紋最大長(zhǎng)度?對(duì)應(yīng)哈希子鏈空?結(jié)束取子鏈中下一協(xié)議項(xiàng),執(zhí)行相應(yīng)協(xié)議驗(yàn)證規(guī)則協(xié)議驗(yàn)證規(guī)則返回結(jié)果為協(xié)議ID?子鏈遍歷結(jié)束?NoNoYesYesNoYesYesN

33、o圖5摘 要 附 圖協(xié)議指紋提取協(xié)議指紋庫(kù)驗(yàn)證規(guī)則建立驗(yàn)證規(guī)則庫(kù)協(xié)議樣本庫(kù)指紋匹配引擎協(xié)議驗(yàn)證引擎特征提取階段協(xié)議識(shí)別階段 未知協(xié)議報(bào)文流協(xié)議ID權(quán) 利 要 求 書(shū)1一種自動(dòng)協(xié)議識(shí)別方法,其特征在于:所述協(xié)議識(shí)別方法包括協(xié)議樣本特征提取和協(xié)議識(shí)別兩個(gè)階段,其中,所述的協(xié)議樣本特征提取階段包括協(xié)議類(lèi)型樣本的協(xié)議指紋提取和相應(yīng)協(xié)議驗(yàn)證規(guī)則建立,協(xié)議識(shí)別階段包括協(xié)議指紋快速匹配和協(xié)議識(shí)別結(jié)果快速驗(yàn)證步驟。2 如權(quán)利要求1所述的一種自動(dòng)協(xié)議識(shí)別方法,其特征在于:協(xié)議識(shí)別方法之協(xié)議樣本特征提取階段,其中所述的協(xié)議指紋提取方法具有如下特征:對(duì)于文本命令類(lèi)型協(xié)議樣本,用命令參數(shù)或狀態(tài)碼參數(shù)格式描述,直接提取

34、協(xié)議樣本中命令和狀態(tài)碼作為協(xié)議指紋;對(duì)于固定報(bào)頭類(lèi)型協(xié)議樣本,將固定報(bào)頭中所含字段類(lèi)型分為靜態(tài)字段和動(dòng)態(tài)字段類(lèi)型,尋找盡可能多的連續(xù)靜態(tài)類(lèi)型字段,并將其取值組合定義為該類(lèi)型協(xié)議指紋;對(duì)于其它無(wú)固定格式類(lèi)型協(xié)議樣本,尋找可以標(biāo)識(shí)該協(xié)議樣本服務(wù)類(lèi)型的單詞作為協(xié)議指紋。3. 如權(quán)利要求1所述的一種自動(dòng)協(xié)議識(shí)別方法,其特征在于:所述協(xié)議識(shí)別方法之協(xié)議樣本特征提取階段,其中所述的協(xié)議驗(yàn)證規(guī)則建立方法具有如下特征:提取協(xié)議樣本中除協(xié)議指紋之外其它特征作為該類(lèi)型協(xié)議樣本的協(xié)議驗(yàn)證規(guī)則,包括可進(jìn)一步標(biāo)識(shí)協(xié)議樣本類(lèi)型的字段、單詞或者其它要求協(xié)議消息滿(mǎn)足的規(guī)范。4. 如權(quán)利要求3所述的一種自動(dòng)協(xié)議識(shí)別方法,其特征在于:其中所

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論