專利名稱:一種智能協(xié)議解析方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一種智能協(xié)議解析方法及裝置涉及以交換為功能的網(wǎng)絡(luò),是一種以協(xié)議為特征的,防止未經(jīng)允許從數(shù)據(jù)傳輸信道取數(shù)據(jù)的通信控制/處理的方法和裝置。是一種入侵檢測/防御(Intrusion Detection/Protection System,IDS/IPS)及審計產(chǎn)品中的智能協(xié)議解析方法及裝置。
背景技術(shù):
入侵檢測/防御系統(tǒng)(IDS/IPS)作為網(wǎng)絡(luò)安全防護(hù)的重要手段,通常部署在關(guān)鍵網(wǎng)絡(luò)內(nèi)部/網(wǎng)絡(luò)邊界入口處,實時捕獲網(wǎng)絡(luò)內(nèi)或進(jìn)出網(wǎng)絡(luò)的報文數(shù)據(jù)流并進(jìn)行智能綜合分析,發(fā)現(xiàn)可能的入侵行為并進(jìn)行實時阻斷。應(yīng)用層協(xié)議深層解析技術(shù)在當(dāng)前主流IDS/IPS產(chǎn)品中被廣泛采用,可用來實現(xiàn)基于協(xié)議攻擊特征和協(xié)議異常的入侵檢測。目前多數(shù)IDS/IPS產(chǎn)品都基于端口映射表或靜態(tài)的報文特征來判別網(wǎng)絡(luò)報文所屬協(xié)議類型,比如,如發(fā)現(xiàn)捕獲的網(wǎng)絡(luò)報文中源/目端口為80,則認(rèn)為它為HTTP(Hypertext Transfer Protocol)協(xié)議報文,將該報文交給HTTP協(xié)議分析引擎進(jìn)行協(xié)議解碼和入侵檢測;又如在數(shù)據(jù)包中發(fā)現(xiàn)“%13BitTorrent%20Protocol”則認(rèn)定為BitTorrent(常用P2P軟件)協(xié)議數(shù)據(jù)包。通常這種端口映射表及特征字段匹配模式在IDS/IPS產(chǎn)品出廠時已確定,但允許管理員修改以適應(yīng)實際環(huán)境的需要。但是近年來,隨著網(wǎng)絡(luò)協(xié)議的發(fā)展出現(xiàn)了一批新型的網(wǎng)絡(luò)應(yīng)用協(xié)議,包括SIP(Session InitiationProtocol)和P2P(Peer to peer protocol)協(xié)議等,它們并不采用固定協(xié)議端口,而是在協(xié)議運行過程中動態(tài)協(xié)商端口;此外,目前各種木馬、P2P軟件為躲避IDS/IPS產(chǎn)品的入侵檢測或?qū)徲嫸疾捎昧艘恍┨厥獾奶幚矸绞?,主要表現(xiàn)為1)不使用固定通信端口進(jìn)行通信;2)復(fù)用公開端口進(jìn)行私有協(xié)議通信(比如某些P2P軟件使用已知公開協(xié)議端口);3)采用已知公開協(xié)議的傳輸工具;4)不同版本的應(yīng)用軟件采用不同的數(shù)據(jù)封裝格式。在這種情況下,IDS/IPS產(chǎn)品無法根據(jù)端口映射表或特定的字段模式匹配來正確識別報文所屬協(xié)議類型或具體的軟件使用情況,給某些特定的需求帶來了很大的麻煩,這就需要根據(jù)網(wǎng)絡(luò)協(xié)議運行行為特征智能識別報文所屬協(xié)議類別,否則對于協(xié)議的深入分析將造成很多的錯誤。此外,對于某些私有的軟件使用的協(xié)議在不同的驅(qū)動版本當(dāng)中會出現(xiàn)不同的封裝格式和命令(字段長度調(diào)整或偏移量的改變),這就給協(xié)議的準(zhǔn)確解析帶來了額外的難度,必須針對不同版本進(jìn)行不同的解析實現(xiàn)。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的是提供一種智能協(xié)議修正分析方法及裝置。所述方法和裝置使用不單純依賴于協(xié)議端口和靜態(tài)協(xié)議特征字段匹配的智能協(xié)議分析技術(shù),并在軟件的不同版本使用時能夠自動調(diào)整解析格式給出準(zhǔn)確的協(xié)議分析結(jié)果,提高了協(xié)議分析的準(zhǔn)確性。該智能協(xié)議分析技術(shù)可以滿足以下要求結(jié)合傳統(tǒng)的協(xié)議識別方法,智能地根據(jù)實際協(xié)議運行行為特征判斷報文所使用的協(xié)議類型及版本號等相關(guān)信息;對于某些具體協(xié)議版本變動帶來的格式變化采用自動調(diào)整解析方式給出不同版本的協(xié)議解析方法,以盡可能提高入侵檢測及審計的準(zhǔn)確性;具有非常高的協(xié)議識別效率,算法實現(xiàn)盡可能簡單;方法通用性強(qiáng),并要求協(xié)議解析結(jié)果準(zhǔn)確率高。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是一種智能協(xié)議分析方法,其特征在于所述的步驟
建立協(xié)議特征模型步驟;協(xié)議識別步驟;協(xié)議智能分析修正步驟。
所述的建立協(xié)議特征模型步驟的子步驟協(xié)議靜態(tài)字段匹配子步驟;相應(yīng)協(xié)議運行時行為特征模型的建立子步驟。
所述的相應(yīng)協(xié)議運行時行為特征模型的建立子步驟中分別運行的分步驟對于能夠準(zhǔn)確提取靜態(tài)匹配模式的協(xié)議,直接提取協(xié)議樣本當(dāng)中的命令或靜態(tài)標(biāo)識字段作為匹配規(guī)則的分步驟;所述的協(xié)議靜態(tài)特征提取方法是針對單獨的數(shù)據(jù)包,提取其中可以單獨標(biāo)識協(xié)議使用的特征作為匹配規(guī)則,如命令、狀態(tài)碼、固定報頭中連續(xù)字段中獨有的協(xié)議格式及描述;對于無法準(zhǔn)確提取匹配特征的協(xié)議,建立協(xié)議運行期間行為狀態(tài)模型作為識別標(biāo)準(zhǔn),以此建立特定的行為特征序列作為行為特征序列模型的分步驟;所述的協(xié)議行為特征序列模型提取規(guī)則建立方法是依賴于一系列信息交互過程使用數(shù)據(jù)挖掘關(guān)聯(lián)技術(shù)提取相關(guān)聯(lián)的協(xié)議運行行為特征,并依靠自學(xué)習(xí)方法提取相對應(yīng)的一個或多個特征序列;其行為特征包括協(xié)議交互邏輯順序、相關(guān)命令、特定協(xié)議動作的操作過程及其它可以唯一標(biāo)識該協(xié)議行為的特征規(guī)則。
所述的協(xié)議識別步驟的子步驟協(xié)議靜態(tài)字段快速匹配子步驟;協(xié)議行為特征序列模型的匹配子步驟。
所述的協(xié)議識別步驟的協(xié)議靜態(tài)字段快速匹配子步驟中的分步驟將IP報文應(yīng)用層數(shù)據(jù)作為文本輸入的分步驟;將所有協(xié)議靜態(tài)特征作為模式集合,采用多模式配算法找到IP報文所屬的可能協(xié)議集合的分步驟。
所述的協(xié)議識別步驟的協(xié)議行為特征序列模型的匹配子步驟中的分步驟將協(xié)議靜態(tài)特征匹配結(jié)果集作為輸入分步驟(當(dāng)靜態(tài)特征匹配無法唯一的識別協(xié)議);
將所有協(xié)議運行行為特征序列作為模式集合,采用多模式配算法找到IP報文所屬的可能協(xié)議集合分步驟。
所述的協(xié)議識別步驟的相應(yīng)協(xié)議運行時行為特征模型的建立子步驟中所述的協(xié)議靜態(tài)特征匹配規(guī)則及行為特征匹配規(guī)則建立方法采用控制流圖的步驟,控制流圖有一個假節(jié)點,有多個真節(jié)點;除真和假節(jié)點外,控制流圖中每一個節(jié)點表示一條協(xié)議靜態(tài)特征匹配規(guī)則布爾邏輯,其執(zhí)行結(jié)果為真或假;從根節(jié)點開始執(zhí)行,直到遇到真或假節(jié)點為止。
所述的協(xié)議智能分析修正步驟,對于無法準(zhǔn)確解析協(xié)議數(shù)據(jù)包進(jìn)行自動化解析格式調(diào)整嘗試準(zhǔn)確解析的子步驟分析字段大小的變更子步驟;分析字段偏移量的改變子步驟;分析字段順序的變化子步驟。
一種智能協(xié)議分析裝置,其特征在于包括協(xié)議靜態(tài)規(guī)則庫、協(xié)議行為特征模型庫、協(xié)議靜態(tài)規(guī)則匹配引擎、協(xié)議行為特征匹配引擎、協(xié)議解析引擎和智能分析修正嘗試模塊;所述的協(xié)議靜態(tài)規(guī)則庫與協(xié)議靜態(tài)匹配引擎連接;所述的協(xié)議行為特征模型庫與協(xié)議行為特征匹配引擎連接;協(xié)議行為特征匹配引擎與協(xié)議解析引擎連接;協(xié)議解析引擎與智能分析修正嘗試模塊連接。
本發(fā)明的有益效果是,本發(fā)明解決了傳統(tǒng)IDS/IPS產(chǎn)品中對于非標(biāo)準(zhǔn)端口或不具備靜態(tài)數(shù)據(jù)包特征字段的網(wǎng)絡(luò)協(xié)議的識別問題,同時對于某些應(yīng)用軟件或協(xié)議不同的版本等原因產(chǎn)生的解析結(jié)果錯誤可以提供自動化的修正工作。本發(fā)明能夠在網(wǎng)絡(luò)協(xié)議通信過程中根據(jù)報文當(dāng)中攜帶的協(xié)議行為特征準(zhǔn)確識別所屬協(xié)議類型及版本,并對于未知版本和命令采用智能分析修正嘗試方法對協(xié)議進(jìn)行深入解析。與已有方法相比,本發(fā)明可以基于網(wǎng)絡(luò)協(xié)議通信過程中的協(xié)議行為特征識別出所屬協(xié)議類別及版本,而不單純依賴于固定端口和靜態(tài)的字段特征匹配,可以對所有無固定端口及靜態(tài)字段特征的協(xié)議進(jìn)行識別,同時對于某些未知的版本等原因帶來的協(xié)議解析錯誤進(jìn)行智能分析修正得到更準(zhǔn)確的解析結(jié)果,并且具有協(xié)議分析速度快和準(zhǔn)確率高等優(yōu)點,可廣泛應(yīng)用于IDS/IPS、審計等所有需要協(xié)議分析的網(wǎng)絡(luò)安全產(chǎn)品中。
下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步敘述。
圖1為本發(fā)明的協(xié)議分析方法裝置工作流程圖;圖2為智能分析修正嘗試模塊工作流程圖。
圖3為BITTORRENT協(xié)議行為特征匹配規(guī)則提取舉例;圖4為智能協(xié)議分析裝置的原理示意圖。
具體實施例方式
本發(fā)明所述協(xié)議分析過程主要包括三個工作階段,也就是三個重要步驟建立協(xié)議特征模型步驟;協(xié)議識別步驟;協(xié)議智能分析修正步驟。
協(xié)議特征模型建立階段、協(xié)議識別階段和智能協(xié)議分析階段,各階段步驟如下(見圖1)A.建立協(xié)議特征模型步驟本步驟是協(xié)議樣本特征提取階段。依據(jù)協(xié)議靜態(tài)特征提取方法從協(xié)議類型樣本中提取該類協(xié)議的協(xié)議靜態(tài)特征。依據(jù)協(xié)議實際運行過程從中提取協(xié)議行為特征并建立該類協(xié)議相應(yīng)的行為特征序列規(guī)則集。
將提取的協(xié)議靜態(tài)特征和相應(yīng)協(xié)議運行行為特征序列規(guī)則集分別存儲到協(xié)議靜態(tài)特征庫和協(xié)議行為特征序列規(guī)則庫中,供協(xié)議識別階段靜態(tài)特征匹配引擎和協(xié)議行為特征序列匹配引擎使用。
對于能夠準(zhǔn)確提取靜態(tài)匹配模式的協(xié)議,直接提取協(xié)議樣本當(dāng)中的命令或靜態(tài)標(biāo)識字段作為匹配規(guī)則的分步驟;所述的協(xié)議靜態(tài)特征提取方法是針對單獨的數(shù)據(jù)包,提取其中可以單獨標(biāo)識協(xié)議使用的特征作為匹配規(guī)則,如命令、狀態(tài)碼、固定報頭中連續(xù)字段中獨有的協(xié)議格式及描述;對于無法準(zhǔn)確提取匹配特征的協(xié)議,建立協(xié)議運行期間行為狀態(tài)模型作為識別標(biāo)準(zhǔn),以此建立特定的行為特征序列作為行為特征序列模型的分步驟;所述的協(xié)議行為特征序列模型提取規(guī)則建立方法是依賴于一系列信息交互過程使用數(shù)據(jù)挖掘關(guān)聯(lián)技術(shù)提取相關(guān)聯(lián)的協(xié)議運行行為特征,并依靠自學(xué)習(xí)方法提取相對應(yīng)的一個或多個特征序列;其行為特征包括協(xié)議交互邏輯順序、相關(guān)命令、特定協(xié)議動作的操作過程及其它可以唯一標(biāo)識該協(xié)議行為的特征規(guī)則。
B.協(xié)議識別階段將IP報文應(yīng)用層數(shù)據(jù)作為文本輸入,首先將所有靜態(tài)匹配特征作為模式集合,采用多模式配算法找到IP報文所屬的可能協(xié)議集合。
對于可能的協(xié)議集合,如果結(jié)果不唯一,采用協(xié)議行為特征匹配,依靠建立的行為特征序列對于協(xié)議運行的數(shù)據(jù)包序列進(jìn)行匹配。因為協(xié)議行為特征的獨立性可唯一確定所使用的協(xié)議及其它相關(guān)信息(如版本號)。
捕獲未知協(xié)議類型數(shù)據(jù)流IP報文,從應(yīng)用層載荷中提取所有可能協(xié)議靜態(tài)特征,采用多模式匹配算法與協(xié)議靜態(tài)特征庫中各特征進(jìn)行匹配,識別出可能的協(xié)議集合。
對于上述可能協(xié)議集合中每一協(xié)議,調(diào)用相應(yīng)的協(xié)議行為特征序列規(guī)則進(jìn)行進(jìn)一步的匹配,如果協(xié)議行為特征序列匹配通過,則識別出該IP報文所屬正確協(xié)議類型,否則繼續(xù)執(zhí)行下一個候選協(xié)議相關(guān)驗證規(guī)則,直到識別出正確協(xié)議為止。
當(dāng)識別出IP報文所屬協(xié)議類型并且經(jīng)過智能分析修正得到正確解析格式之后,創(chuàng)建一個<源IP,目IP,源端口,目端口,協(xié)議ID>五元組,從而使得屬于該協(xié)議數(shù)據(jù)流的后續(xù)報文直接以正確解析方法進(jìn)行解析,以減輕裝置計算開銷。
本方法當(dāng)中除了傳統(tǒng)的協(xié)議靜態(tài)特征匹配之外添加了行為特征識別階段和智能解析修正階段,一般需要捕獲到應(yīng)用協(xié)議初期交互過程中3-5回合(以提取的行為特征序列長度為準(zhǔn))中帶應(yīng)用數(shù)據(jù)載荷的報文,而對于確定解析格式及方法之后的報文無需進(jìn)行重復(fù)的行為特征識別和修正,因此具有很好的協(xié)議解析速度。
本協(xié)議分析方法為每一類型協(xié)議建立一個協(xié)議靜態(tài)特征集合和唯一的行為特征集合。其中的靜態(tài)特征一般是一個有限長度的連續(xù)字節(jié)串;而行為特征一般是一個有限長度的特征字串序列。在協(xié)議運行過程中,首先使用靜態(tài)特征匹配規(guī)則判斷報文所屬協(xié)議類型,限定可能使用的協(xié)議和軟件的集合。在此基礎(chǔ)上對于可能的協(xié)議類型進(jìn)行行為特征檢測就可以唯一的確定其所屬協(xié)議類型。
實施例1(BitTorrent協(xié)議靜態(tài)特征)%13BitTorrent%20Protocol可以標(biāo)識BitTorrent協(xié)議或使用BitTorrent協(xié)議工作的軟件通信過程中的BitTorrent消息類型,可以用它來作為BitTorrent協(xié)議靜態(tài)識別規(guī)則;建立BITTORRENT協(xié)議靜態(tài)識別規(guī)則集文本中必須含有”Bittorrent”字串;等等,如實際數(shù)據(jù)包樣本為GET/announce?info_hash=%OD%40_%F3%0A%269%81%94%B9/%B80%5EC%8A%8A%9A%9C%E5&peer_id=Plus---tL3l5oWGtwZ9o&port=9096&uploaded=0&downloaded=0&left=28742712&event=started HTTP/1.0..Hostbtfans.3322.org8000..Accept-encodinggzip..User-agentBitTorrent/Plus!II 1.02 RC1....
但是某些情況下對于具體的軟件或版本進(jìn)行判斷比較困難,例如發(fā)現(xiàn)某一IP報文攜帶協(xié)議靜態(tài)特征“HTTP”,則該IP報文所屬協(xié)議類型為HTTP的可能性很大,但是無法唯一的確定是何種軟件在使用。此時單純基于協(xié)議靜態(tài)匹配特征得到的協(xié)議分析或?qū)徲嫿Y(jié)果可能錯誤,因此需要進(jìn)一步的使用行為特征匹配規(guī)則來確定協(xié)議識別結(jié)果正確性。本協(xié)議分析方法在使用靜態(tài)特征匹配的同時使用了協(xié)議行為特征識別方法。因為對于任何一種應(yīng)用軟件來說,無論使用何種協(xié)議必然有其特定的行為特征。依賴于具體的行為特征進(jìn)行協(xié)議識別將大大提高識別的準(zhǔn)確性。協(xié)議行為特征集與具體協(xié)議應(yīng)用相關(guān),集合中每一條規(guī)則包含一系列的行為特征,而這個行為特征序列唯一的標(biāo)識了將一個IP報文判別為該類型協(xié)議時該IP報文必須滿足的準(zhǔn)則。因此,可以將為某一協(xié)議類型建立的協(xié)議行為特征集看作是該類型協(xié)議規(guī)范的一個必要條件集合。
實施例2(BitTorrent協(xié)議行為特征)首先使用與tracker服務(wù)器交互的track HTTP協(xié)議1)client向tracker發(fā)一個HTTP的GET請求該步驟特征為GET/announce.....HTTP/1.0發(fā)送給Tracker的GET請求,包含關(guān)鍵字Bittorent2)tracker將同一個文件的下載者的信息返回給對方,該步驟特征為用bencoded編碼的字典列表Peers地址和端口。
3)BitTorrent客戶端按照得到的peer列表以此發(fā)送連接請求。該步驟特征為對于每個peer的連接請求都包括“BitTorrent”關(guān)鍵字。
協(xié)議特征提取;主要將特征提取分為兩個步驟,首先是協(xié)議數(shù)據(jù)包靜態(tài)特征提取。這部分主要依賴于單個數(shù)據(jù)包即可對協(xié)議進(jìn)行初步判斷,包括文本命令格式協(xié)議;固定報頭格式協(xié)議和無固定格式協(xié)議。在此步驟中,盡可能多的提取協(xié)議數(shù)據(jù)包當(dāng)中攜帶的特征字段以縮小行為特征匹配的范圍。接下來是協(xié)議運行行為特征的提取,這部分針對單個數(shù)據(jù)包無法有效標(biāo)識協(xié)議類型或版本等信息,需要對實際的運行過程進(jìn)行監(jiān)控加以提取以進(jìn)一步準(zhǔn)確的判斷使用的協(xié)議類型及版本號等具體特征。行為特征的匹配針對的是一階段內(nèi)協(xié)議運行的詳細(xì)行為和動作,因此準(zhǔn)確性更高。
協(xié)議行為特征規(guī)則集與具體協(xié)議類型及版本等信息相關(guān),為各種類型協(xié)議建立協(xié)議行為特征規(guī)則集目的主要有以下3個1)通過協(xié)議行為特征規(guī)則集可以檢驗靜態(tài)協(xié)議規(guī)則匹配結(jié)果正確性,即在靜態(tài)協(xié)議規(guī)則匹配之后產(chǎn)生的可能協(xié)議類型或軟件使用集中唯一的標(biāo)識出具體的識別結(jié)果。
2)在靜態(tài)協(xié)議規(guī)則匹配之后判斷的協(xié)議類型基礎(chǔ)上能夠識別具體的協(xié)議運行版本等細(xì)節(jié),保證接下來的協(xié)議解析結(jié)果的正確性。
3)對于協(xié)議行為特征的匹配可以深入檢查或?qū)徲嬏囟▍f(xié)議或軟件運行事件和動作,只有在通過靜態(tài)規(guī)則匹配和行為特征匹配之后的報文才能準(zhǔn)確的定位該通信使用的協(xié)議或軟件的具體信息。
為某一類型協(xié)議建立的協(xié)議行為特征規(guī)則集為一個規(guī)則集合,采用控制流圖(CFG)模型來描述協(xié)議行為特征規(guī)則集。如圖3所示,在CFG模型表示方法中,每一步協(xié)議運行行為特征用一個橢圓節(jié)點表示,這里除TRUE和FALSE兩條用于返回協(xié)議匹配結(jié)果的特殊規(guī)則外,其余驗證規(guī)則都是一個布爾邏輯,其執(zhí)行結(jié)果只能為真或假。這個協(xié)議驗證規(guī)則集合從根節(jié)點開始執(zhí)行,如果當(dāng)前協(xié)議驗證規(guī)則執(zhí)行結(jié)果為真,則執(zhí)行其左側(cè)的驗證規(guī)則樹,如果為假,則執(zhí)行其右側(cè)的驗證規(guī)則樹,直到執(zhí)行到TRUE或FALSE節(jié)點為止。圖3為BitTorrent協(xié)議行為特征規(guī)則集例子定義了BitTorrent協(xié)議運行行為特征規(guī)則集,該協(xié)議行為匹配規(guī)則集的執(zhí)行從根節(jié)點開始,某一IP報文只有全部通過了行為特征序列的匹配,才可能返回BitTorrent協(xié)議ID,否則返回FALSE。為某一協(xié)議特征模型建立的行為特征序列的大小直接影響到協(xié)議識別結(jié)果準(zhǔn)確性和效率當(dāng)為某一類型協(xié)議靜態(tài)特征和行為特征序列建立的條目越多,則協(xié)議識別結(jié)果的準(zhǔn)確性就越高,但是協(xié)議識別效率會較低;當(dāng)為某一類型協(xié)議靜態(tài)特征和行為特征序列建立的條目越少,則協(xié)議識別效率會很高,但可能會降低協(xié)議識別結(jié)果準(zhǔn)確性,因此,應(yīng)根據(jù)需要合理定義協(xié)議驗證規(guī)則集。
C協(xié)議智能分析修正階段,見圖2對于已確定的協(xié)議類型采用相應(yīng)的解析方法進(jìn)行解析,如果出現(xiàn)解析格式結(jié)果錯誤,使用智能分析修正方法進(jìn)行解析嘗試,直至得到更加準(zhǔn)確的解析結(jié)果。在實際的網(wǎng)絡(luò)通信環(huán)境中,尤其是在某些私有協(xié)議的使用當(dāng)中,軟件版本的升級或改變通常會帶來解析格式和方式上的變化。在這種情況下希望建立統(tǒng)一適用的解析格式和方法是不現(xiàn)實的。在前面的模塊當(dāng)中即使確定了協(xié)議的使用類型和相關(guān)的版本的信息,實際上也是針對目前已有的軟件使用版本而言的。而對于很多軟件,版本升級工作進(jìn)行的是非常頻繁的。因此對于已有版本的解析速度往往跟不上軟件的更新速度。這種情況下對于每一個新的或未知版本都需要進(jìn)行全面解析的話,工作量非常之大并且重復(fù)的工作很多。實際上對于這種變更所使用協(xié)議的結(jié)構(gòu)變化是非常小的,本裝置當(dāng)中使用了智能分析修正的方法來不必要的重復(fù)工作。
在實際的解析過程中,對于協(xié)議變動的主要包括一下幾個方面1.字段大小的變更2.字段偏移量的改變3.字段順序的變化協(xié)議智能分析修正嘗試模塊實現(xiàn)的目的主要是針對目前某些私有軟件使用的協(xié)議在版本變更或某些特定行為當(dāng)中對于數(shù)據(jù)包格式部分所做出的改變進(jìn)行自動化的解析實現(xiàn),這樣在遇到這類問題所引起的解析錯誤情況下大大降低了重新解析的工作量,使得對于協(xié)議相關(guān)性的把握,對于協(xié)議類型確定情況下的具體解析提供了更大的準(zhǔn)確性和靈活性。
為某一確定協(xié)議無法進(jìn)行準(zhǔn)確解析的時候采用的智能分析修正嘗試時嘗試范圍的選取將影響到協(xié)議解析的準(zhǔn)確性和效率當(dāng)嘗試的范圍選取越多,覆蓋的可正確解析的軟件或協(xié)議的類型和版本越多,同時效率也會降低。當(dāng)嘗試的范圍選取較少時,對于某一特定類型或版本深入解析的結(jié)果的準(zhǔn)確性會比較差,但此時效率較高。建議使用者根據(jù)對特定解析協(xié)議的了解程度,可能出現(xiàn)的變化情況制定合適的修正范圍。
本裝置采用算法1.協(xié)議靜態(tài)特征規(guī)則快速匹配;在協(xié)議樣本提取階段定義好各種類型協(xié)議靜態(tài)特征規(guī)則后,采用了多模匹配算法進(jìn)行靜態(tài)特征規(guī)則的匹配,用于在協(xié)議識別階段對IP報文應(yīng)用數(shù)據(jù)進(jìn)行協(xié)議靜態(tài)特征的發(fā)現(xiàn)和快速匹配,從而找到該IP報文所屬的可能協(xié)議類型集合??梢圆捎枚嗄J狡ヅ渌惴▉韴?zhí)行這種協(xié)議靜態(tài)特征快速匹配過程將IP報文應(yīng)用層載荷數(shù)據(jù)作為多模式匹配算法的Text,所有提取的協(xié)議靜態(tài)特征集合作為模式集合,使用多模式匹配算法找到所有可能的協(xié)議類型集合,然后調(diào)用協(xié)議行為特征匹配模塊排除錯誤的協(xié)議類型,直到找到合適的協(xié)議類型為止。
2.協(xié)議行為特征規(guī)則的建立與匹配;在進(jìn)行協(xié)議行為特征規(guī)則提取的過程當(dāng)中,對于采集的大量協(xié)議樣本進(jìn)行數(shù)據(jù)挖掘,利用關(guān)聯(lián)規(guī)則和自學(xué)習(xí)方法逐步提取并修正行為特征序列。出于效率的考慮,不同的協(xié)議運行過程產(chǎn)生的協(xié)議行為特征序列的大小不同,可以根據(jù)具體的準(zhǔn)確性需要制定行為特征序列的長度,必要時可針對特定協(xié)議的不同行為實現(xiàn)多行為特征序列匹配。在收到由協(xié)議靜態(tài)特征匹配輸出的協(xié)議集合當(dāng)中,使用多模式匹配算法匹配所有的協(xié)議行為特征序列集合,直至確定具體的協(xié)議類型及版本等詳細(xì)信息。
3.智能協(xié)議解析修正算法;通過協(xié)議靜態(tài)特征匹配和行為特征匹配確定協(xié)議類型之后,如果遇到不能正確解析的數(shù)據(jù)包情況,將調(diào)用智能協(xié)議解析修正模塊進(jìn)行修正。這里主要采用循環(huán)遍歷驗證的方式,按照字段大小變更、字段偏移量變更和字段編碼順序的改變順序逐一驗證可能的情況直至得出更加詳細(xì)的協(xié)議解析結(jié)果。由于采用循環(huán)遍歷驗證的方式工作,這部分模塊對于效率的影響比較明顯,需要適當(dāng)?shù)脑O(shè)定修正范圍。
一種智能協(xié)議分析裝置,如圖4所示包括協(xié)議靜態(tài)規(guī)則庫、協(xié)議行為特征模型庫、協(xié)議靜態(tài)規(guī)則匹配引擎、協(xié)議行為特征匹配引擎和自動化調(diào)整解析嘗試模塊;所述的協(xié)議靜態(tài)規(guī)則庫與協(xié)議靜態(tài)匹配引擎連接;所述的協(xié)議行為特征模型庫與協(xié)議行為特征匹配引擎連接;協(xié)議行為特征匹配引擎與協(xié)議解析引擎連接;協(xié)議解析引擎與智能分析修正嘗試模塊連接。
其中,協(xié)議靜態(tài)規(guī)則庫和協(xié)議行為特征模型庫分別存儲了協(xié)議特征模型階段建立的靜態(tài)匹配規(guī)則和根據(jù)協(xié)議或軟件實際運行過程提取的行為特征序列。協(xié)議靜態(tài)規(guī)則匹配引擎實現(xiàn)所有能夠在單獨數(shù)據(jù)包中匹配的數(shù)據(jù)字段特征的快速匹配算法,協(xié)議行為特征匹配引擎需要記錄協(xié)議運行期間的一系列動作和狀態(tài),以此匹配已建立的行為特征序列。
權(quán)利要求
1.一種智能協(xié)議分析方法,其特征在于所述的步驟建立協(xié)議特征模型步驟;協(xié)議識別步驟;協(xié)議智能分析修正步驟。
2.根據(jù)權(quán)利要求1所述的一種智能協(xié)議分析方法,其特征在于所述的建立協(xié)議特征模型步驟的子步驟協(xié)議靜態(tài)字段匹配子步驟;相應(yīng)協(xié)議運行時行為特征模型的建立子步驟。
3.根據(jù)權(quán)利要求2所述的一種智能協(xié)議分析方法,其特征在于所述的相應(yīng)協(xié)議運行時行為特征模型的建立子步驟中分別運行的分步驟對于能夠準(zhǔn)確提取靜態(tài)匹配模式的協(xié)議,直接提取協(xié)議樣本當(dāng)中的命令或靜態(tài)標(biāo)識字段作為匹配規(guī)則的分步驟;所述的協(xié)議靜態(tài)特征提取方法是針對單獨的數(shù)據(jù)包,提取其中可以單獨標(biāo)識協(xié)議使用的特征作為匹配規(guī)則,如命令、狀態(tài)碼、固定報頭中連續(xù)字段中獨有的協(xié)議格式及描述;對于無法準(zhǔn)確提取匹配特征的協(xié)議,建立協(xié)議運行期間行為狀態(tài)模型作為識別標(biāo)準(zhǔn),以此建立特定的行為特征序列作為行為特征序列模型的分步驟;所述的協(xié)議行為特征序列模型提取規(guī)則建立方法是依賴于一系列信息交互過程使用數(shù)據(jù)挖掘關(guān)聯(lián)技術(shù)提取相關(guān)聯(lián)的協(xié)議運行行為特征,并依靠自學(xué)習(xí)方法提取相對應(yīng)的一個或多個特征序列;其行為特征包括協(xié)議交互邏輯順序、相關(guān)命令、特定協(xié)議動作的操作過程及其它可以唯一標(biāo)識該協(xié)議行為的特征規(guī)則。
4.根據(jù)權(quán)利要求1所述的一種智能協(xié)議分析方法,其特征在于所述的協(xié)議識別步驟的子步驟協(xié)議靜態(tài)字段快速匹配子步驟;協(xié)議行為特征序列模型的匹配子步驟。
5.根據(jù)權(quán)利要求4所述的一種智能協(xié)議分析方法,其特征在于所述的協(xié)議識別步驟的協(xié)議靜態(tài)字段快速匹配子步驟中的分步驟將IP報文應(yīng)用層數(shù)據(jù)作為文本輸入的分步驟;將所有協(xié)議靜態(tài)特征作為模式集合,采用多模式配算法找到IP報文所屬的可能協(xié)議集合的分步驟。
6.根據(jù)權(quán)利要求4所述的一種智能協(xié)議分析方法,其特征在于所述的協(xié)議識別步驟的協(xié)議行為特征序列模型的匹配子步驟中的分步驟將協(xié)議靜態(tài)特征匹配結(jié)果作為輸入分步驟;將所有協(xié)議運行行為特征序列作為模式集合,采用多模式配算法找到IP報文所屬的可能協(xié)議集合分步驟。
7.根據(jù)權(quán)利要求5或6所述的一種智能協(xié)議分析方法,其特征在于所述的協(xié)議識別步驟的相應(yīng)協(xié)議運行時行為特征模型的建立子步驟中所述的協(xié)議靜態(tài)特征匹配規(guī)則及行為特征匹配規(guī)則建立方法采用控制流圖的步驟,控制流圖有一個假節(jié)點,有多個真節(jié)點;除真和假節(jié)點外,控制流圖中每一個節(jié)點表示一條協(xié)議靜態(tài)特征匹配規(guī)則布爾邏輯,其執(zhí)行結(jié)果為真或假;從根節(jié)點開始執(zhí)行,直到遇到真或假節(jié)點為止。
8.根據(jù)權(quán)利要求1所述的一種智能協(xié)議分析方法,其特征在于所述的協(xié)議智能分析修正步驟,對于無法準(zhǔn)確解析協(xié)議數(shù)據(jù)包進(jìn)行協(xié)議智能分析修正嘗試準(zhǔn)確解析的子步驟分析字段大小的變更子步驟;分析字段偏移量的改變子步驟;分析字段順序的變化子步驟。
9.一種智能協(xié)議分析裝置,其特征在于包括協(xié)議靜態(tài)規(guī)則庫、協(xié)議行為特征模型庫、協(xié)議靜態(tài)規(guī)則匹配引擎、協(xié)議行為特征匹配引擎、協(xié)議解析引擎和自動化調(diào)整解析嘗試模塊;所述的協(xié)議靜態(tài)規(guī)則庫與協(xié)議靜態(tài)匹配引擎連接;所述的協(xié)議行為特征模型庫與協(xié)議行為特征匹配引擎連接;協(xié)議靜態(tài)匹配引擎與協(xié)議靜態(tài)規(guī)則庫連接;協(xié)議解析引擎與智能分析修正嘗試模塊連接。
全文摘要
本發(fā)明一種智能協(xié)議解析方法及裝置涉及可用于入侵檢測防御(IDS/IPS)及審計產(chǎn)品中的一種智能協(xié)議分析方法及裝置。本發(fā)明的目的是提供一種使用不單純依賴于協(xié)議端口和靜態(tài)協(xié)議特征字段匹配的智能協(xié)議分析技術(shù),并在軟件的不同版本使用時能夠自動調(diào)整解析格式給出準(zhǔn)確的協(xié)議分析結(jié)果,提高了協(xié)議分析的準(zhǔn)確性。本發(fā)明包括三個主要步驟建立協(xié)議特征模型;協(xié)議識別;協(xié)議智能分析修正。本發(fā)明解決了傳統(tǒng)IDS/IPS產(chǎn)品中對于非標(biāo)準(zhǔn)端口或不具備靜態(tài)數(shù)據(jù)包特征字段的網(wǎng)絡(luò)協(xié)議的識別問題,同時對于某些應(yīng)用軟件或協(xié)議不同的版本等原因產(chǎn)生的解析結(jié)果錯誤可以提供自動化的修正工作。
文檔編號H04L29/06GK101035111SQ20071006544
公開日2007年9月12日 申請日期2007年4月13日 優(yōu)先權(quán)日2007年4月13日
發(fā)明者孫海波, 駱擁政, 龔晟, 葉潤國 申請人:北京啟明星辰信息技術(shù)有限公司