亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

會話檢測方法及會話檢測系統(tǒng)的制作方法

文檔序號:7653452閱讀:311來源:國知局
專利名稱:會話檢測方法及會話檢測系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其是一種會話檢測方法及一種會話檢測系統(tǒng)背景技術(shù)目前,網(wǎng)絡(luò)技術(shù)正由單純的數(shù)據(jù)傳輸網(wǎng)絡(luò)向可管理應(yīng)用網(wǎng)絡(luò)發(fā)展,因此,網(wǎng)絡(luò)對會話的檢測需求日益增長,用于實現(xiàn)帶寬管理、服務(wù)質(zhì)量(Quality ofService,簡稱QoS)檢測、入侵防御/檢測、反病毒、內(nèi)容過濾、負(fù)載均衡等目的。為了實現(xiàn)上述目的,主要進行以下兩個方面的檢測1、檢測識別會話所屬的應(yīng)用協(xié)議,這需要預(yù)先分析特定協(xié)議的各種數(shù)據(jù)字段,以便對基于相應(yīng)協(xié)議的會話進行分類和識別;比如為了實現(xiàn)帶寬管理的目的,就需要識別每個會話所屬的應(yīng)用協(xié)議,之后才能夠根據(jù)用戶對應(yīng)用的帶寬配置,對會話上的數(shù)據(jù)進行流量限制和帶寬調(diào)度;2、檢測識別會話中數(shù)據(jù)包的特征,以便捕獲這些數(shù)據(jù)包之后采取相應(yīng)的處理措施,一般表現(xiàn)為網(wǎng)絡(luò)設(shè)備的深度檢測功能;比如典型的入侵防御系統(tǒng)/入侵檢測系統(tǒng)(Intrusion Prevention System/Intrusion Detection System,簡稱IPS/IDS),為了實現(xiàn)入侵檢測/防御的目的,通過正則表達式構(gòu)成的特征庫識別網(wǎng)絡(luò)上傳輸數(shù)據(jù)包是否具有攻擊特征,并進一步阻斷具有攻擊特征的數(shù)據(jù)包以及向用戶報警。
上述兩個方面的檢測在事實上是相互關(guān)聯(lián)的一方面,借助已識別的特征,可以提高協(xié)議識別的準(zhǔn)確度和靈活性,舉例來說,根據(jù)協(xié)議的握手特征而不是以現(xiàn)有技術(shù)中根據(jù)固定端口來識別協(xié)議,可以使協(xié)議的識別不受端口配置范圍的限制,因此識別結(jié)果更加可靠和準(zhǔn)確;另一方面,借助已識別的協(xié)議以及協(xié)議層次,可以提高特征檢測的準(zhǔn)確度和靈活性,舉例來說,攻擊特征往往是以特定協(xié)議上傳輸?shù)臄?shù)據(jù)特征,因此可以只在相應(yīng)協(xié)議的會話中查找這些特征,就可以有效減少誤報,由于無需在全部會話中進行攻擊特征檢測,能夠提高檢測性能。
進一步的,在實際使用中往往需要對特定應(yīng)用會話數(shù)據(jù)流進行重組和截取,以便更準(zhǔn)確的檢測會話特征或進行相應(yīng)的內(nèi)容分析、審核和管理,比如將郵件附件的數(shù)據(jù)重組起來得到一個完整的附件進行病毒掃描。由于需要截取和重組的數(shù)據(jù)流通常是通過特定協(xié)議承載且由特定特征標(biāo)識的,比如郵件附件,是通過郵件傳輸協(xié)議承載且由附件特征標(biāo)識的會話組成的,因此,數(shù)據(jù)截取和重組可以基于協(xié)議和特征檢測結(jié)果進行。
但在實際應(yīng)用中,大部分的4-7層(傳輸層/會話層/表示層/應(yīng)用層)設(shè)備都是相對割裂的實現(xiàn)上述功能,導(dǎo)致協(xié)議識別和特征檢測都不夠靈活和準(zhǔn)確;總體來說,目前缺少一種能夠?qū)f(xié)議檢測、特征檢測有機融合在一起的技術(shù)方案,同時也沒有提供根據(jù)協(xié)議識別和攻擊特征檢測結(jié)果進行數(shù)據(jù)截取和重組的技術(shù)方案。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種會話檢測方法及會話檢測系統(tǒng),解決現(xiàn)有技術(shù)中特征檢測和協(xié)議檢測相對分離的問題。
為實現(xiàn)上述目的,本發(fā)明的實施例提供了一種會話檢測方法,對接收到的需要進行檢測的報文執(zhí)行深度檢測,當(dāng)檢測出任一未處理特征時,執(zhí)行以下步驟步驟1、識別所述未處理特征是否能夠存在于報文所在會話的已識別協(xié)議層次上,是則執(zhí)行下一步驟,否則丟棄該未處理特征;步驟2、識別所述未處理特征;當(dāng)所述未處理特征匹配一預(yù)識協(xié)議時,為所述會話生成相應(yīng)的已識別協(xié)議信息;當(dāng)所述未處理特征匹配一預(yù)識特征且對所述會話后續(xù)報文生效時,在所述預(yù)識特征中為所述會話生成相應(yīng)的已識別特征插件掛接點;
步驟3、將生成的已識別協(xié)議信息和已識別特征插件掛接點輸出到所述會話的識別結(jié)果記錄中。
本發(fā)明的實施例還提供了一種會話檢測系統(tǒng),包括會話識別結(jié)果記錄模塊,用于保存已識別協(xié)議信息和已識別特征插件掛接點;深度檢測模塊,用于接收報文并執(zhí)行深度檢測;特征過濾模塊,用于對所述深度檢測模塊返回的匹配特征進行過濾,過濾掉不可能在已識別協(xié)議層次的特征;特征推導(dǎo)模塊,用于接收經(jīng)過特征過濾后的匹配特征,生成相應(yīng)的已識別協(xié)議信息和相應(yīng)的已識別特征插件掛接點,并輸出到所述會話識別結(jié)果記錄模塊;還用于通過特征匹配指令或掛接點觸發(fā)預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件,對所述報文進行處理。
由上述技術(shù)方案可知,本發(fā)明的實施例利用特征識別協(xié)議,并將已識別協(xié)議作為特征檢測環(huán)境和過濾條件,具有以下有益效果1、提高了會話檢測的準(zhǔn)確度和靈活性;2、提高了會話檢測的系統(tǒng)性能。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。


圖1為本發(fā)明所提供會話檢測方法實施例1的流程圖;圖2為本發(fā)明所提供會話檢測方法一較佳實施例的流程圖;圖3為本發(fā)明所提供會話檢測系統(tǒng)實施例1的框圖;圖4為本發(fā)明所提供會話檢測系統(tǒng)實施例2的框圖;圖5為本發(fā)明所提供會話檢測系統(tǒng)實施例3的框圖。
具體實施例方式
為了有效地將協(xié)議識別和特征識別結(jié)合起來,本發(fā)明的實施例提供了一種會話檢測方法和一種會話檢測系統(tǒng),利用特征識別發(fā)現(xiàn)協(xié)議,同時利用協(xié)議識別結(jié)果作為更準(zhǔn)確的特征識別環(huán)境,下面分別加以描述。
參見圖1,為本發(fā)明所提供的會話檢測方法實施例1的流程圖,包括以下步驟步驟101、對接收到的需要進行檢測的報文執(zhí)行深度檢測;作為本發(fā)明的一個特點,本發(fā)明為了將特征識別和協(xié)議識別結(jié)合起來,將特征格式定義為由網(wǎng)際協(xié)議(Internet Protocol,簡稱IP)/傳輸控制協(xié)議(Transfer Control Protocol,簡稱TCP)/用戶數(shù)據(jù)報文協(xié)議(User DatagramProtocol,簡稱UDP)/因特網(wǎng)控制報文協(xié)議(Internet Control Message Protocol,簡稱ICMP)等協(xié)議選項及正則表達式組成,并與廣泛部署的開放源碼網(wǎng)絡(luò)入侵檢測系統(tǒng)(snort)的檢測規(guī)則定義格式兼容。其中,所謂特征(signature)是指網(wǎng)絡(luò)上數(shù)據(jù)包的數(shù)據(jù)模式,比如網(wǎng)絡(luò)上特定攻擊的數(shù)據(jù)包與解碼信息的數(shù)據(jù)包具有不同的數(shù)據(jù)模式;本發(fā)明對特征的定義在snort規(guī)則定義格式的基礎(chǔ)上實現(xiàn)了對特征的信息擴充,即特征攜帶本身所在的協(xié)議層次,當(dāng)通過深度檢測被檢測出來后,能夠根據(jù)本身攜帶的協(xié)議層次和正則表達式指示的特征本身信息,滿足后續(xù)的融合協(xié)議和特征發(fā)現(xiàn)的需要。
步驟102、對檢測出的一未處理特征,識別該未處理特征是否能夠存在于報文所在會話的已識別協(xié)議層次上,是則執(zhí)行步驟104,否則執(zhí)行步驟103;所謂的已識別協(xié)議層次,是指通過對所在會話在先報文的檢測,所識別出的特征所在的協(xié)議層次,這個層次可能為多層次,比如在TCP協(xié)議層次上,還已識別了HTTP協(xié)議層次,則識別該未處理特征是否能夠存在于報文所在會話的已識別協(xié)議層次上包括識別是否能夠存在于TCP協(xié)議或者HTTP協(xié)議皆可。
本步驟借助協(xié)議識別結(jié)果作為特征檢測的環(huán)境,能夠避免一些無意義的繼續(xù)識別。比如,當(dāng)報文所在協(xié)議層次為安全套接層(Secure Socket Layer,簡稱SSL)協(xié)議時,由于SSL協(xié)議對數(shù)據(jù)加密,所以基本上無法在SSL協(xié)議所屬的會話中識別攻擊特征,因此無需進一步的特征檢測。
步驟103、丟棄該未處理特征,并執(zhí)行步驟108;可以看出,通過協(xié)議實現(xiàn)未處理特征的過濾和丟棄,避免進一步識別檢測,能夠提高檢測系統(tǒng)的性能;而對于需要進一步識別處理的特征,則繼續(xù)執(zhí)行步驟104至108的未處理特征識別步驟。
為了實現(xiàn)對未處理特征的識別,會話檢測系統(tǒng)必須能夠認(rèn)知上述特征所對應(yīng)的全部預(yù)識特征和預(yù)識協(xié)議,并通過匹配實現(xiàn)識別,這在現(xiàn)有技術(shù)中已經(jīng)能夠?qū)崿F(xiàn)。其中,預(yù)識協(xié)議中還可以包括處理函數(shù),預(yù)識特征中還可以包括掛接代碼,以利于識別后的進一步處理。
但在本發(fā)明中,為了有效的將協(xié)議和特征融合起來,特征被分為兩種類型一類是用于協(xié)議發(fā)現(xiàn)的特征,當(dāng)這類特征發(fā)現(xiàn)后,可以擴展會話的已識別層次。具體來說,將IP/TCP/UDP/ICMP作為根協(xié)議,每一協(xié)議上都可以定義很多用于協(xié)議發(fā)現(xiàn)的特征,這些特征用于發(fā)現(xiàn)新的協(xié)議;比如,定義在已識別協(xié)議層次TCP上的特征,可以標(biāo)識文件傳送協(xié)議(File Transfer Protocol,簡稱FTP)、簡單郵件傳輸協(xié)議(Simple Mail Transfer Protocol,簡稱SMTP)等,則深度檢測之后通過進一步識別發(fā)現(xiàn)該類特征,就意味著在TCP層次上新的FTP、SMTP協(xié)議被發(fā)現(xiàn)。被發(fā)現(xiàn)的新的協(xié)議上,同時也定義著新的協(xié)議發(fā)現(xiàn)特征,因此通過協(xié)議發(fā)現(xiàn)的逐層定義,能夠逐層限定特征檢測的環(huán)境和條件。
另一類是觸發(fā)類上報特征,這些特征定義在特定的協(xié)議層次上,比如攻擊特征或者進行數(shù)據(jù)重組、截取的特征,都會觸發(fā)相應(yīng)的函數(shù)進行報文處理。
進一步的,可以基于預(yù)設(shè)的協(xié)議和特征庫,使會話檢測系統(tǒng)認(rèn)知上述特征所對應(yīng)的全部預(yù)識特征和預(yù)識協(xié)議,進而匹配識別該未處理特征的類型。該預(yù)設(shè)的協(xié)議和特征庫能夠記錄大量的預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件,以備識別檢測以及相應(yīng)的觸發(fā)處理。其中,預(yù)識協(xié)議處理函數(shù)由協(xié)議匹配指令觸發(fā),預(yù)識特征插件為掛接代碼的集合,由特征匹配指令或者掛接點觸發(fā),能夠為觸發(fā)該插件的報文特征提供處理函數(shù)。在本實施例中,對特征類型的定義同樣可以保存在協(xié)議和特征庫中,作為協(xié)議和特征屬性的一部分存在。
具體的識別檢測步驟包括步驟104、識別所述未處理特征是否匹配一預(yù)識協(xié)議,是則為所述會話生成相應(yīng)的已識別協(xié)議信息,并執(zhí)行步驟105;否則執(zhí)行步驟106;步驟105、將所述已識別協(xié)議信息輸出到所述會話的識別結(jié)果記錄中;一般來說,該已識別協(xié)議信息可以為協(xié)議庫中的協(xié)議ID,而協(xié)議處理所需的實際執(zhí)行函數(shù)則靜態(tài)的記錄在協(xié)議和特征庫里的協(xié)議結(jié)構(gòu)中,對該協(xié)議ID對應(yīng)的任何報文和會話生效。
可以看出,進一步通過已識別協(xié)議信息的記錄和已識別協(xié)議函數(shù)的調(diào)用,不再受限于現(xiàn)有技術(shù)中根據(jù)端口號識別協(xié)議的模式,而是根據(jù)具體的特征逐層識別協(xié)議,實現(xiàn)了協(xié)議的準(zhǔn)確、靈活識別。
步驟106、識別所述未處理特征是否匹配一預(yù)識特征,是則執(zhí)行步驟107,否則執(zhí)行步驟109;當(dāng)識別所述未處理特征匹配一預(yù)識特征時,還可以包括生成已識別特征信息,該已識別特征信息可以與步驟104中生成的已識別協(xié)議信息一起,作為當(dāng)前報文的處理數(shù)據(jù),發(fā)送給控制中心,用于監(jiān)控報文檢測的運行情況。
步驟107、識別所述匹配的預(yù)識特征是否對所述會話后續(xù)報文生效,是則在所述預(yù)識特征中為所述會話生成相應(yīng)的已識別特征插件掛接點,并執(zhí)行步驟108;否則執(zhí)行步驟109;步驟108、將所述已識別特征插件掛接點輸出到所述會話的識別結(jié)果記錄中;需要指出,并不是所有匹配預(yù)識特征的情況都會在該預(yù)識特征上生成特征插件掛接點。由于某一特征可能同時應(yīng)用于多個會話,因此,對于那些執(zhí)行后,返回碼表示需要對會話后續(xù)報文進行流量攔截或者處理的情況,就需要提供一個處理接口,以保證對某一會話處理的生效;此時,在協(xié)議和特征庫相應(yīng)的預(yù)識特征上為該會話生成特征插件掛接點。相對的,對于返回碼表示僅對當(dāng)前報文生效的預(yù)識特征時,直接在協(xié)議和特征庫中調(diào)用相應(yīng)特征插件執(zhí)行即可,不需要生成掛接點來處理后續(xù)報文。
進一步的,通過將掛接點輸出到識別結(jié)果記錄中,比如,在識別結(jié)果記錄中建立到掛接點的指針,后續(xù)報文無需再次檢測即可觸發(fā)協(xié)議和特征庫中的掛接代碼,且與所在會話對應(yīng),實現(xiàn)報文連續(xù)處理。
在步驟104到步驟108中,采取了先檢測是否匹配預(yù)識協(xié)議再檢測是否匹配預(yù)識特征的次序來加以說明,但本領(lǐng)域技術(shù)人員可以了解,只要能夠檢測出未處理特征的類型即可實現(xiàn)本發(fā)明的技術(shù)方案,與檢測的順序無關(guān),換句話說,任何能夠?qū)崿F(xiàn)對未處理特征類型檢測并采取相應(yīng)掛接操作的步驟都可以同等替代步驟104至步驟108。
步驟109、查詢是否檢測出下一未識別特征,是則對所述未識別特征執(zhí)行步驟102,否則對所述會話報文的檢測結(jié)束,可以進行下一會話報文的檢測。
通過本發(fā)明會話檢測方法的實施例1可以看出,利用特征檢測來準(zhǔn)確識別協(xié)議,能夠解決協(xié)議識別的靈活性、準(zhǔn)確性問題,利用協(xié)議識別結(jié)果作為特征檢測的環(huán)境,同樣提高特征識別的準(zhǔn)確度,并進一步提高了檢測系統(tǒng)的性能。
本發(fā)明還提供了會話檢測方法實施例2,在實施例1實現(xiàn)檢測的基礎(chǔ)上,當(dāng)所述未處理特征匹配了一預(yù)識協(xié)議時,還包括觸發(fā)相應(yīng)的預(yù)識協(xié)議處理函數(shù)對所述報文進行處理的步驟;以及,當(dāng)所述未處理特征匹配一預(yù)識特征時,還包括觸發(fā)相應(yīng)的預(yù)識特征插件對所述報文進行處理的步驟,實現(xiàn)一個完整的檢測-處理流程。
即便如此,上述步驟所體現(xiàn)的仍是對報文執(zhí)行深度檢測后再逐一進行處理,如果對于保存在識別結(jié)果記錄中的掛接點在深度檢測之前加以調(diào)用,避免對已處理特征的深度檢測和處理,將進一步提高系統(tǒng)性能,因此本實施例2在執(zhí)行深度檢測之前還包括調(diào)用所在會話的識別結(jié)果記錄,通過識別結(jié)果記錄觸發(fā)相應(yīng)的預(yù)識協(xié)議處理函數(shù)和相應(yīng)的預(yù)識特征插件,對所述報文進行處理。
為了節(jié)約系統(tǒng)資源,本發(fā)明還提供了會話檢測方法實施例3,在接收到報文之后還進一步包括識別報文所在會話是否需要繼續(xù)執(zhí)行檢測的步驟,比如當(dāng)某些會話已經(jīng)超過最大檢測長度,或者發(fā)現(xiàn)的協(xié)議為加密時,根本就不需要繼續(xù)檢測該會話。
其中,為了實現(xiàn)對繼續(xù)檢測的判斷,可以定義在發(fā)現(xiàn)某些協(xié)議或者特征時,就無需繼續(xù)檢測;或者,可以定義需要檢測的會話的數(shù)據(jù)長度,即當(dāng)報文執(zhí)行深度檢測完成后,還包括計算報文所在會話檢測流長的步驟,當(dāng)所述檢測流長超過了預(yù)設(shè)的檢測長度時,指令終止對會話的檢測;所述預(yù)設(shè)的檢測長度為識別結(jié)果記錄中相應(yīng)預(yù)識協(xié)議所定義的全部或者部分特征的檢測長度之和。
舉例來說,可以將協(xié)議或者特征的檢測判斷融入計算會話檢測流長的方案中,比如對于加密協(xié)議,由于該協(xié)議是加密的,因此它上面應(yīng)該沒有定義任何特征,也就是該協(xié)議上所有特征的最大檢測長度為0;則一旦發(fā)現(xiàn)該協(xié)議,相應(yīng)會話就無需繼續(xù)檢測。
或者,定義會話中已識別最上層協(xié)議上所有特征的最大長度為會話檢測流長,如果已檢測長度大于所需檢測長度,相應(yīng)會話也無需繼續(xù)檢測。作為特例,如果已識別最上層協(xié)議上沒有特征,那么其需要檢測的會話長度就為0,無需繼續(xù)檢測,可以通過指令終止對會話的檢測。
本實施例3利用會話檢測流長與需要檢測的會話長度的比較,動態(tài)決定會話是否繼續(xù)檢測,能夠顯著提高檢測性能。
相對現(xiàn)有技術(shù)中只能以固定的字節(jié)數(shù)(如2k、4k等)為依據(jù),在進行報文保序的同時進行重組,然后再進行深度檢測,因此其重組過程僵化,重組結(jié)果不能反映附件的真實情況的缺陷,本發(fā)明基于利用協(xié)議和特征識別結(jié)果能夠有效的進行數(shù)據(jù)流的截取和重組的情況,提供了能夠有效將協(xié)議識別、特征識別和數(shù)據(jù)流截取重組三方面融合的會話檢測方法實施例4。在該實施例中,觸發(fā)已識別協(xié)議處理函數(shù)和/或已識別特征插件對報文進行處理包括查詢是否需要對所述報文進行重組保留,是則將所述報文與所在會話的在先報文進行重組及緩存,并對所在會話的下一報文執(zhí)行會話檢測步驟。
可以看出,本實施例4中重組可以在觸發(fā)已識別協(xié)議處理函數(shù)和已識別特征插件時發(fā)生,也可以在為會話生成相應(yīng)的協(xié)議信息和插件掛接點之后即時發(fā)生,不再局限于必須與保序同時進行,這是本實施例的關(guān)鍵點之一。
同時,保序功能在本發(fā)明實施例中仍可采用現(xiàn)有技術(shù)的方案,在接收到報文之后發(fā)生。一般來說,保序和重組之后,特征檢測才能準(zhǔn)確和無遺漏;但保序和重組代價較大,所以當(dāng)某些會話已經(jīng)超過最大檢測長度時,根本就不需要繼續(xù)檢測該會話,因此可以關(guān)閉保序功能。進而,可以將保序功能是否關(guān)閉作為指標(biāo),首先進行識別報文所在會話保序功能是否關(guān)閉,如果關(guān)閉,則不再進行所述報文的保序和深度檢測;如果識別該保序功能開啟,則對所述報文進行保序,并調(diào)用所在會話的識別結(jié)果記錄,對所述報文繼續(xù)執(zhí)行檢測。至于何時進行重組,則視乎具體的協(xié)議處理情況和掛接點執(zhí)行情況而定。
通過本實施例4,能夠?qū)CP保序和應(yīng)用層重組邏輯分開,提高了重組的靈活性;同時,基于協(xié)議和特征進行重組,將特征檢測、協(xié)議識別和應(yīng)用重組結(jié)合在一起,提高了重組的命中率和準(zhǔn)確性。
參見圖2,為本發(fā)明所提供的一較佳實施例的流程圖,包括以下步驟步驟201、接收到報文;步驟202、檢查該報文所在會話的保序功能是否關(guān)閉,是則說明該報文無需繼續(xù)檢測,當(dāng)前會話報文檢測結(jié)束;否則執(zhí)行步驟203;步驟203、對該報文進行保序并調(diào)用報文所在會話的識別結(jié)果記錄;步驟204、通過該識別結(jié)果記錄中觸發(fā)已識別協(xié)議處理函數(shù)和已識別特征插件,對所述報文進行處理,可以包括2041、檢查該識別結(jié)果記錄中是否存在已識別協(xié)議信息,是則執(zhí)行步驟2042,否則執(zhí)行步驟2044;2042、觸發(fā)調(diào)用已識別協(xié)議信息相應(yīng)的預(yù)識協(xié)議處理函數(shù)對該報文進行處理;
2043、查看處理結(jié)果是否為重組保留該報文,是則對將所述報文與所在會話的在先報文進行重組及緩存,本報文檢測結(jié)束,可以執(zhí)行對下一報文的檢測;否則執(zhí)行步驟2044;2044、檢查該識別結(jié)果記錄中是否存在已識別特征插件掛接點,是則執(zhí)行步驟2045,否則執(zhí)行步驟205;2045、觸發(fā)調(diào)用所述已識別特征插件掛接點所對應(yīng)的預(yù)識特征插件掛接代碼對該報文進行處理;2046、查看處理結(jié)果是否為重組保留該報文,是則對將所述報文與所在會話的在先報文進行重組及緩存,本報文檢測結(jié)束,可以執(zhí)行對下一報文的檢測;否則執(zhí)行步驟205;步驟205、對該處理后的報文執(zhí)行深度檢測;步驟206、識別是否檢測出的未處理特征,是則執(zhí)行步驟207,否則執(zhí)行步驟212;步驟207、對檢測出的一未處理特征,識別其是否能夠存在于報文所在會話的已識別協(xié)議層次上,是則執(zhí)行步驟208,否則丟棄/跳過該未處理特征,執(zhí)行步驟211;步驟208、識別該未處理特征的類型,匹配協(xié)議和特征庫中一預(yù)識協(xié)議時,執(zhí)行步驟2091,匹配協(xié)議和特征庫中一預(yù)識特征時,執(zhí)行步驟2101;步驟2091、為所述會話生成相應(yīng)的已識別協(xié)議信息,比如該協(xié)議在庫中的ID,通過該ID對庫中協(xié)議函數(shù)的調(diào)用,實現(xiàn)了在報文當(dāng)前協(xié)議層次上擴展了新的協(xié)議;步驟2092、將已識別協(xié)議信息輸出到所述會話的識別結(jié)果記錄中;步驟2093、根據(jù)匹配指令觸發(fā)調(diào)用所述預(yù)識協(xié)議處理函數(shù)對該報文進行處理;本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本實施例僅為說明方便,而非對執(zhí)行順序的限定,本步驟2093可以發(fā)生在步驟2091之前,對本發(fā)明的技術(shù)效果不會產(chǎn)生影響。
步驟2094、查看處理結(jié)果是否為重組保留該報文,是則對將所述報文與所在會話的在先報文進行重組及緩存,本報文檢測結(jié)束,可以執(zhí)行對下一報文的檢測;否則執(zhí)行步驟211;步驟2101、為所述會話生成相應(yīng)的已識別特征信息,比如該特征在庫中的ID,以備系統(tǒng)控制會話檢測狀況時使用;步驟2102、根據(jù)匹配指令觸發(fā)調(diào)用所述預(yù)識特征插件的掛接代碼,對該報文進行處理;本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,步驟2101~2105的順序并不限于圖2所示,例如還可以采用如下順序步驟2102、2106、2101、2103、2104、2105。
步驟2103、檢查該特征是否對對會話后續(xù)報文生效,是則執(zhí)行步驟2104,否則執(zhí)行步驟2106;步驟2104、在庫中所述特征上為所述會話生成相應(yīng)的已識別特征插件掛接點,即在為該會話對該預(yù)識特征的連續(xù)調(diào)用提供了接口;步驟2105、將已識別特征插件掛接點輸出到所述會話的識別結(jié)果記錄中;步驟2106、查看處理結(jié)果是否為重組保留該報文,是則對將所述報文與所在會話的在先報文進行重組及緩存,本報文檢測結(jié)束,可以執(zhí)行對下一報文的檢測;否則執(zhí)行步驟211;步驟211、查詢是否檢測出下一未識別特征,是則對所述未識別特征執(zhí)行步驟207,否則執(zhí)行步驟212;步驟212、計算報文所在會話的檢測流長;步驟213、檢查該檢測流長是否超過了所有特征的檢測長度,是則執(zhí)行步驟214,否則本報文檢測結(jié)束,可以執(zhí)行對下一報文的檢測;步驟214、關(guān)閉該會話的保序功能,本報文檢測結(jié)束。
步驟212~214中,通過計算會話的檢測流長,并將檢測流長與所有特征的檢測長度比較,如果超過了所有特征的檢測長度則關(guān)閉會話保序功能,而保序功能的開關(guān)在本發(fā)明實施例的流程中決定了是否繼續(xù)進行報文檢測;因此,本領(lǐng)域普通技術(shù)人員可以理解,對于上述的步驟212~214中的操作,并不限于只能存在步驟211之后,可以存在與會話檢測流程中的任何位置或與其他操作并行執(zhí)行。
本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括如下步驟對接收到的需要進行檢測的報文執(zhí)行深度檢測,當(dāng)檢測出任一未處理特征時,識別所述未處理特征是否能夠存在于報文所在會話的已識別協(xié)議層次上,是則執(zhí)行下一步驟,否則丟棄該未處理特征;識別所述未處理特征;當(dāng)所述未處理特征匹配一預(yù)識協(xié)議時,為所述會話生成相應(yīng)的已識別協(xié)議信息;當(dāng)所述未處理特征匹配一預(yù)識特征且對所述會話后續(xù)報文生效時,在所述預(yù)識特征中為所述會話生成相應(yīng)的已識別特征插件掛接點;將生成的已識別協(xié)議信息和已識別特征插件掛接點輸出到所述會話的識別結(jié)果記錄中。
本發(fā)明的實施例還提供了一種會話檢測系統(tǒng),如圖3所示,為會話檢測系統(tǒng)的實施例1,包括會話識別結(jié)果記錄模塊1,用于保存已識別協(xié)議信息和已識別特征插件掛接點;深度檢測模塊2,用于接收報文并執(zhí)行深度檢測,即實現(xiàn)數(shù)據(jù)多模式(一般有正則表達式表示)匹配功能,可以參考snort開源軟件算法加以實現(xiàn);特征過濾模塊3,用于對所述深度檢測模塊2返回的匹配特征進行過濾,過濾掉不可能在已識別協(xié)議層次的特征;特征推導(dǎo)模塊4,用于接收經(jīng)過特征過濾模塊3過濾后的匹配特征,根據(jù)本發(fā)明對特征的定義,擴展會話的已識別協(xié)議層次和上報新的已識別特征,生成相應(yīng)的已識別協(xié)議信息和相應(yīng)的已識別特征插件掛接點,并輸出到所述會話識別結(jié)果記錄模塊1;還用于通過特征匹配指令或掛接點觸發(fā)預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件,對所述報文進行處理。
通過本發(fā)明會話檢測系統(tǒng)的實施例1可以看出,特征過濾模塊3利用協(xié)議識別結(jié)果作為特征檢測的環(huán)境,提高了特征識別的準(zhǔn)確度,并提高了檢測系統(tǒng)的性能;特征推導(dǎo)模塊4利用特征檢測來準(zhǔn)確識別和擴展協(xié)議,能夠解決協(xié)議識別的靈活性、準(zhǔn)確性問題。
為了便于對會話檢測情況進行控制,特征推導(dǎo)模塊4還可以用于生成已識別特征信息,并提取已識別協(xié)議信息,一起上報給控制中心(圖中未示)。
較佳的,本實施例1中可單獨設(shè)置協(xié)議和特征庫5,用于保存并為所述特征推導(dǎo)模塊提供預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件。
舉例來說,協(xié)議和特征庫5記錄的可以是協(xié)議和特征節(jié)點,這些節(jié)點表示了協(xié)議的層次關(guān)系、協(xié)議通過哪個特征發(fā)現(xiàn)、特征的屬性以及特征所屬的協(xié)議層次,另外,協(xié)議和特征上記錄了處理函數(shù)和插件。
為了保持完整性,本實施例所提供的系統(tǒng)中還可以包括會話管理模塊x,此模塊進行會話的狀態(tài)維護和管理工作,與大多數(shù)4-7層設(shè)備的會話管理功能沒有差別,屬于現(xiàn)有技術(shù);其實現(xiàn)可以參考開源Linux內(nèi)核防火墻netfilter的會話管理模塊。
參見圖4,為本發(fā)明所提供的會話檢測系統(tǒng)實施例2的框圖。在系統(tǒng)實施例1的基礎(chǔ)上,進一步包括已識別插件處理模塊6,與所述深度檢測模塊2連接,用于在對報文進行深度檢測之前,根據(jù)所述會話識別結(jié)果記錄模塊1中的記錄,觸發(fā)相應(yīng)預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件掛接代碼對報文進行處理。
可以看出,已識別插件處理模塊6的加入,在深度檢測之前就調(diào)用存于識別結(jié)果記錄中的掛接點,避免對已處理特征的深度檢測和處理,進一步提高系統(tǒng)性能。
在系統(tǒng)實施例2中的處理,可以為觸發(fā)對攻擊特征的阻止以及對數(shù)據(jù)的重組和截取等,下面的系統(tǒng)實施例3就顯示了對數(shù)據(jù)重組和截取的情況。
參見圖5,為本發(fā)明所提供的會話檢測系統(tǒng)實施例3的框圖。在實施例2的基礎(chǔ)上,進一步包括保序模塊7,用于接收特征推導(dǎo)模塊4的保序控制指令,在保序功能開啟時對報文執(zhí)行保序,完成TCP包的保序功能,并將保序后的報文送入所述已識別插件處理模塊6;數(shù)據(jù)重組模塊8,分別與所述特征推導(dǎo)模塊4和已識別插件處理模塊6連接,用于根據(jù)對所述報文進行重組保留的指令進行所述報文的重組和緩存,實現(xiàn)數(shù)據(jù)分片的組合和緩存功能。
在本實施例3中,保序模塊7只做保序而不做重組,這體現(xiàn)了本發(fā)明將保序和重組分開的思想,重組功能由后續(xù)數(shù)據(jù)重組模塊8根據(jù)插件掛接代碼的執(zhí)行結(jié)果來完成。
本領(lǐng)域技術(shù)人員可以看出,保序模塊7和數(shù)據(jù)重組模塊8亦可在系統(tǒng)實施例1的基礎(chǔ)上添加,則保序模塊7將保序后的報文送入所述深度檢測模塊2,數(shù)據(jù)重組模塊8僅與特征推導(dǎo)模塊4連接。
可以看出,通過引入保序模塊7和數(shù)據(jù)重組模塊8,將保序和應(yīng)用層重組邏輯分開,提高了重組的靈活性;同時,基于協(xié)議和特征進行重組,將特征檢測、協(xié)議識別和應(yīng)用重組結(jié)合在一起,提高了重組的命中率和準(zhǔn)確性。
由于本發(fā)明的實施例提供了一種可融合協(xié)議識別、特征檢測、基于應(yīng)用的數(shù)據(jù)截取和重組的會話檢測系統(tǒng),因此可將其作為IPS/IDS、統(tǒng)一威脅管理(Unified Threat Management,簡稱UTM)、基于應(yīng)用的帶寬管理和QoS等系統(tǒng)的重要組成部分。因此本發(fā)明還提供了應(yīng)用于網(wǎng)絡(luò)4~7層的交換設(shè)備,所述交換設(shè)備中設(shè)置有上述的會話檢測系統(tǒng)。
本發(fā)明的實施例最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其進行限制,盡管參照較佳實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而這些修改或者等同替換亦不能使修改后的技術(shù)方案脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種會話檢測方法,其特征在于對接收到的需要進行檢測的報文執(zhí)行深度檢測,當(dāng)檢測出任一未處理特征時,執(zhí)行以下步驟步驟1、識別所述未處理特征是否能夠存在于報文所在會話的已識別協(xié)議層次上,是則執(zhí)行下一步驟,否則丟棄該未處理特征;步驟2、識別所述未處理特征;當(dāng)所述未處理特征匹配一預(yù)識協(xié)議時,為所述會話生成相應(yīng)的已識別協(xié)議信息;當(dāng)所述未處理特征匹配一預(yù)識特征且對所述會話后續(xù)報文生效時,在所述預(yù)識特征中為所述會話生成相應(yīng)的已識別特征插件掛接點;步驟3、將生成的已識別協(xié)議信息和已識別特征插件掛接點輸出到所述會話的識別結(jié)果記錄中。
2.根據(jù)權(quán)利要求1所述的會話檢測方法,其特征在于還包括預(yù)設(shè)協(xié)議和特征庫的步驟在所述庫中設(shè)置預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件,用于進行特征匹配;且所述預(yù)識協(xié)議處理函數(shù)由協(xié)議匹配指令觸發(fā),所述預(yù)識特征插件由特征匹配指令或者掛接點觸發(fā),用于對報文進行處理。
3.根據(jù)權(quán)利要求1所述的會話檢測方法,其特征在于所述接收到報文中特征的格式由協(xié)議選項和正則表達式組成,與廣泛部署的開放源碼網(wǎng)絡(luò)入侵檢測系統(tǒng)的檢測規(guī)則定義格式兼容。
4.根據(jù)權(quán)利要求2所述的會話檢測方法,其特征在于當(dāng)所述未處理特征匹配了一預(yù)識協(xié)議時,還包括觸發(fā)相應(yīng)的預(yù)識協(xié)議處理函數(shù)對所述報文進行處理;以及,當(dāng)所述未處理特征匹配一預(yù)識特征時,還包括觸發(fā)相應(yīng)的預(yù)識特征插件對所述報文進行處理。
5.根據(jù)權(quán)利要求1所述的會話檢測方法,其特征在于執(zhí)行深度檢測之前還包括當(dāng)存在對所述需要檢測的報文對應(yīng)的會話識別結(jié)果記錄時,調(diào)用所在會話的識別結(jié)果記錄,通過識別結(jié)果記錄觸發(fā)所述相應(yīng)的預(yù)識協(xié)議處理函數(shù)和相應(yīng)的預(yù)識特征插件,對所述報文進行處理。
6.根據(jù)權(quán)利要求4或5所述的會話檢測方法,其特征在于觸發(fā)預(yù)識協(xié)議處理函數(shù)和/或預(yù)識特征插件對報文進行處理包括查詢是否需要對所述報文進行重組保留,是則將所述報文與所在會話的在先報文進行重組及緩存。
7.根據(jù)權(quán)利要求1所述的會話檢測方法,其特征在于接收到報文之后還包括識別所在會話的保序功能是否關(guān)閉,是則不再進行所述報文的檢測,否則對所述報文進行保序,判斷是否已存在識別結(jié)果記錄,是則調(diào)用所在會話的識別結(jié)果記錄,對所述報文繼續(xù)執(zhí)行檢測,否則,執(zhí)行深度檢測。
8.根據(jù)權(quán)利要求1所述的會話檢測方法,其特征在于對報文執(zhí)行深度檢測完成后,還包括計算報文所在會話檢測流長的步驟,當(dāng)所述檢測流長超過了預(yù)設(shè)的檢測長度時,指令終止對所述會話的檢測和\或關(guān)閉會話保序功能;所述預(yù)設(shè)的檢測長度為識別結(jié)果記錄中相應(yīng)預(yù)識協(xié)議所定義的全部或者部分特征的檢測長度之和。
9.根據(jù)權(quán)利要求1所述的會話檢測方法,其特征在于接收到報文之后還包括對所述報文中的特征或協(xié)議進行識別,當(dāng)發(fā)現(xiàn)報文中存在預(yù)先設(shè)定的特征或協(xié)議時,終止對會話的檢測。
10.一種會話檢測系統(tǒng),其特征在于包括會話識別結(jié)果記錄模塊,用于保存已識別協(xié)議信息和已識別特征插件掛接點;深度檢測模塊,用于接收報文并執(zhí)行深度檢測;特征過濾模塊,用于對所述深度檢測模塊返回的匹配特征進行過濾,過濾掉不可能在已識別協(xié)議層次的特征;特征推導(dǎo)模塊,用于接收經(jīng)過特征過濾后的匹配特征,生成相應(yīng)的已識別協(xié)議信息和相應(yīng)的已識別特征插件掛接點,并輸出到所述會話識別結(jié)果記錄模塊;還用于通過特征匹配指令或掛接點觸發(fā)預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件,對所述報文進行處理。
11.根據(jù)權(quán)利要求10所述的會話檢測系統(tǒng),其特征在于還包括協(xié)議和特征庫,用于保存并為所述特征推導(dǎo)模塊提供預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件。
12.根據(jù)權(quán)利要求10或11所述的會話檢測系統(tǒng),其特征在于還包括保序模塊,用于接收特征推導(dǎo)模塊的保序控制指令,對報文執(zhí)行保序,并將保序后的報文送入所述深度檢測模塊;數(shù)據(jù)重組模塊,與所述特征推導(dǎo)模塊連接,用于根據(jù)對所述報文進行重組保留的指令進行所述報文的重組和緩存。
13.根據(jù)權(quán)利要求10或11所述的會話檢測系統(tǒng),其特征在于還包括已識別插件處理模塊,與所述深度檢測模塊連接,用于在對報文進行深度檢測之前,根據(jù)所述會話識別結(jié)果記錄模塊中的記錄,觸發(fā)相應(yīng)預(yù)識協(xié)議處理函數(shù)和預(yù)識特征插件對報文進行處理。
14.根據(jù)權(quán)利要求13所述的會話檢測系統(tǒng),其特征在于還包括保序模塊,用于接收特征推導(dǎo)模塊的保序控制指令,對報文執(zhí)行保序,并將保序后的報文送入所述已識別插件處理模塊;數(shù)據(jù)重組模塊,分別與所述特征推導(dǎo)模塊和已識別插件處理模塊連接,用于根據(jù)對所述報文進行重組保留的指令進行所述報文的重組和緩存。
15.一種應(yīng)用于網(wǎng)絡(luò)4~7層的交換設(shè)備,其特征在于所述交換設(shè)備中設(shè)置有權(quán)利要求11-15任一所述的會話檢測系統(tǒng)。
全文摘要
本發(fā)明公開了一種會話檢測方法,對接收到的需要進行檢測的報文執(zhí)行深度檢測,當(dāng)檢測出任一未處理特征時,識別其是否能夠存在于報文所在會話的已識別協(xié)議層次上,是則識別所述未處理特征,當(dāng)未處理特征匹配一預(yù)識協(xié)議時,為會話生成相應(yīng)的已識別協(xié)議信息;當(dāng)所述未處理特征匹配一預(yù)識特征且對所述會話后續(xù)報文生效時,在所述預(yù)識特征中為所述會話生成相應(yīng)的已識別特征插件掛接點,并將生成的已識別協(xié)議信息和已識別特征插件掛接點輸出到會話的識別結(jié)果記錄中;否則丟棄該未處理特征。本發(fā)明還公開了一種會話檢測系統(tǒng)。通過本發(fā)明公開的方法和系統(tǒng),提高了會話檢測的準(zhǔn)確度和靈活性以及會話檢測的系統(tǒng)性能。
文檔編號H04L12/26GK101060492SQ20071010601
公開日2007年10月24日 申請日期2007年5月29日 優(yōu)先權(quán)日2007年5月29日
發(fā)明者胡華強 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1