專利名稱:一種網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)流鑒別,具體涉及一種可廣泛應(yīng)用于應(yīng)用防
火墻、入侵檢測(cè)(IPS/IDS)、 UTM、流控、流量?jī)?yōu)化等需要進(jìn)行網(wǎng)絡(luò)應(yīng) 用數(shù)據(jù)流識(shí)別的設(shè)備中網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法。
背景技術(shù):
網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別,就是對(duì)網(wǎng)絡(luò)數(shù)據(jù)流所含信息量的充分利用,達(dá) 到將其按所屬應(yīng)用協(xié)議進(jìn)行分類標(biāo)識(shí),實(shí)現(xiàn)審計(jì)/控制/管理的目的。
數(shù)據(jù)流本身所含信息包括:源/目標(biāo)地址,端口,協(xié)議號(hào),這些基本 的3層協(xié)議5元組特征,以及7層的數(shù)據(jù)內(nèi)容,會(huì)話時(shí)長(zhǎng),會(huì)話流量, 會(huì)話包間時(shí)延等等;在此基礎(chǔ)上,本文提出了會(huì)話內(nèi)前后數(shù)據(jù)包之間 相關(guān)性和會(huì)話間相關(guān)性兩個(gè)概念,并據(jù)此對(duì)傳統(tǒng)的應(yīng)用識(shí)別方法進(jìn)行 擴(kuò)展。
目前防火墻,IPS/IDS,流量控制/流量?jī)?yōu)化等設(shè)備對(duì)于網(wǎng)絡(luò)數(shù)據(jù)流 的識(shí)別僅限于3層協(xié)議特征和7層數(shù)據(jù)的數(shù)字簽證, 一般的數(shù)字簽證 就是搜集應(yīng)用數(shù)據(jù)流的特征碼,在設(shè)備上對(duì)所有網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行特征 匹配,匹配狀態(tài)只能由一個(gè)集合轉(zhuǎn)換到其子集,而無(wú)法在多個(gè)集合之 間進(jìn)行有狀態(tài)記憶地自由切換,其行為類似于殺毒軟件的掃描過(guò)程, 以數(shù)據(jù)內(nèi)容特征為例,具體如圖1所示,集合=>子集網(wǎng)絡(luò)數(shù)據(jù)流實(shí) 際上就是一連串的數(shù)據(jù)包,這串?dāng)?shù)據(jù)包又可分為收發(fā)兩個(gè)方向,即 數(shù)據(jù)包是被會(huì)話"串起來(lái)"進(jìn)行傳輸,所以數(shù)據(jù)包必須在會(huì)話的邏輯內(nèi)維持一定的順序,正向A后面是B, C, D…。逆向A, , B, , C,…。; 會(huì)話內(nèi)數(shù)據(jù)包之間的相關(guān)性可以體現(xiàn)在如果A包含特征S1 , A, 或是后續(xù)B/B,…包含特征S2,則可以說(shuō)會(huì)話具有S1特征,并且 后續(xù)包具有S2特征,則該會(huì)話為應(yīng)用X,這樣就可將分散在各個(gè)凄t據(jù) 包中的特征值聚合起來(lái)。 一方面可提供更加豐富的特征選擇,其次還 可以實(shí)現(xiàn)同一會(huì)話,不同識(shí)別結(jié)果的狀態(tài)轉(zhuǎn)換,從而達(dá)到細(xì)化應(yīng)用識(shí) 別結(jié)果的目的,比如迅雷是一款基于HTTP協(xié)議的下載工具,但其 對(duì)HTTP協(xié)議做了"私有化"的擴(kuò)展,根據(jù)簽證S1能確定當(dāng)前數(shù)據(jù)流 是HTTP協(xié)議,而通過(guò)后面的數(shù)據(jù)特征S2, S3…方可進(jìn)一步可將其 識(shí)別為迅雷所發(fā)起的"私有"HTTP協(xié)議。這就是已知的集合到其子集 的轉(zhuǎn)換。然而不同于存儲(chǔ)在本地磁盤(pán)的文件,網(wǎng)絡(luò)數(shù)據(jù)流因其傳輸過(guò) 程中的編碼,封裝,甚至是加密處理,使其具有更多的不確定性。如 應(yīng)用軟件都有其私有協(xié)議,對(duì)私有協(xié)議的分析和跟蹤屬"黑盒"纟喿作, 當(dāng)應(yīng)用軟件發(fā)生版本更新,原有的特征值就可能失效,需要更新識(shí)別 特征值,且某些私有協(xié)議為了躲避識(shí)別和受控制,進(jìn)行了特殊的偽裝 或加密處理,這樣就進(jìn)一步加大了僅僅通過(guò)特征值來(lái)識(shí)別的難度,也 提升了錯(cuò)誤識(shí)別的風(fēng)險(xiǎn)。所以單純依賴數(shù)字簽證的傳統(tǒng)方法存在規(guī)則 維護(hù)代價(jià)高,運(yùn)算效率低,識(shí)別率低,識(shí)別精確度/細(xì)粒度不夠等問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明需要解決的技術(shù)問(wèn)題是,如何提供一種網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方 法,能較傳統(tǒng)方法提高識(shí)別效率和精確度。
本發(fā)明技術(shù)問(wèn)題這樣解決,構(gòu)建一種網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,包括 以下步驟
51.1) 識(shí)別建立會(huì)話所屬節(jié)點(diǎn)的識(shí)別狀態(tài);
1.2) 在所述識(shí)別狀態(tài)基礎(chǔ)上,分優(yōu)先級(jí)識(shí)別所述節(jié)點(diǎn)的后續(xù)會(huì)話 并更新所述識(shí)別狀態(tài)。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述識(shí)別包括但不限制 于行為特征識(shí)別和凄t據(jù)內(nèi)容特征識(shí)別。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述識(shí)別狀態(tài)在建立或 更新后i殳定時(shí)間內(nèi)有效,否則失效。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述分優(yōu)先級(jí)識(shí)別包括 首先匹配與所述識(shí)別狀態(tài)相關(guān)的規(guī)則集。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述分優(yōu)先級(jí)識(shí)別包括 優(yōu)先匹配在任何狀態(tài)下都起作用的強(qiáng)限定條件的規(guī)則集,強(qiáng)限定條件 即傳統(tǒng)規(guī)則,這樣通過(guò)預(yù)測(cè)提高識(shí)別準(zhǔn)確度。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述分優(yōu)先級(jí)識(shí)別包括 最先匹配與所述識(shí)別狀態(tài)相關(guān)、強(qiáng)限定條件的規(guī)則集;其次匹配與所 述識(shí)別狀態(tài)不相關(guān)、強(qiáng)限定條件的規(guī)則集;最后匹配與所述識(shí)別狀態(tài) 相關(guān)、僅在特定狀態(tài)下都起作用的弱限定條件的規(guī)則集;其中若在 先匹配成功,則不進(jìn)行后續(xù)匹配。弱限定條件即本發(fā)明設(shè)定的弱規(guī)則, 這樣通過(guò)預(yù)測(cè)提高識(shí)別精度。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,該方法還包括在與所 述識(shí)別狀態(tài)相關(guān)、僅在特定狀態(tài)下都起作用的弱限定條件的規(guī)則集匹 配成功后,判斷識(shí)別結(jié)果的可靠性。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述弱限定條件包括特 定狀態(tài)識(shí)別信息。按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述特定狀態(tài)識(shí)別信息
包括與已知會(huì)話具有相同源或目的IP地址,例如所述特定狀態(tài)識(shí)別 信息包括與已知服務(wù)器的會(huì)話具有相同目的IP地址和端口號(hào)。
按照本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,所述節(jié)點(diǎn)是用戶或服務(wù)器。
本發(fā)明提供的網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,通過(guò)對(duì)識(shí)別狀態(tài)的記錄和更 新,綜合當(dāng)前用戶所產(chǎn)生數(shù)據(jù)流的組成結(jié)構(gòu),依據(jù)會(huì)話內(nèi)和會(huì)話間的 相關(guān)性,進(jìn)行會(huì)話預(yù)測(cè)或弱規(guī)則匹配,達(dá)到提高應(yīng)用識(shí)別效率和未知 會(huì)話識(shí)別率目的。
下面結(jié)合附圖和具體實(shí)施例進(jìn)一步對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
圖1是傳統(tǒng)網(wǎng)絡(luò)it據(jù)流識(shí)別示例流程示意圖; 圖2是本發(fā)明網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法流程示意圖; 圖3是本發(fā)明方法中規(guī)則間關(guān)聯(lián)性示意圖; 圖4是本發(fā)明方法應(yīng)用一流程示意圖; 圖5是本發(fā)明方法應(yīng)用二流程示意圖; 圖6是本發(fā)明方法應(yīng)用三流程示意圖。
具體實(shí)施例方式
首先,說(shuō)明本發(fā)明方法如圖2所示,在本發(fā)明網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法中,節(jié)點(diǎn)(包括用戶和 服務(wù)器)除采用傳統(tǒng)普通規(guī)則集進(jìn)行匹配外,還采用已知應(yīng)用相關(guān)規(guī)則 集進(jìn)行優(yōu)先匹配和采用相關(guān)弱規(guī)則進(jìn)行補(bǔ)充匹配。
如圖3所示,在本發(fā)明網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法中,依賴于應(yīng)用A識(shí) 別狀態(tài)識(shí)別規(guī)則的特殊規(guī)則可以完成同 一會(huì)話識(shí)別狀態(tài)間的遷移,識(shí) 別A應(yīng)用識(shí)別狀態(tài)的普通規(guī)則及其特殊規(guī)則統(tǒng)稱A應(yīng)用的相關(guān)規(guī)則集 A{...},而依賴應(yīng)用A識(shí)別狀態(tài)全部規(guī)則集的"弱規(guī)則集8{...}",就是 才艮據(jù)節(jié)點(diǎn)已知存在應(yīng)用A,來(lái)猜測(cè)此節(jié)點(diǎn)相關(guān)的未知會(huì)話是否為A應(yīng) 用的匹配條件集。它們之間相互依附,例如對(duì)該會(huì)話使用弱規(guī)則集 3{...}匹配的前提是1.該會(huì)話前幾包數(shù)據(jù)進(jìn)行A應(yīng)用的相關(guān)規(guī)則集 A(…)匹配后無(wú)法識(shí)別。2.肯定該會(huì)話所屬節(jié)點(diǎn),在這段時(shí)間內(nèi)已存 在應(yīng)用A的會(huì)話。其中"弱"規(guī)則就是一些更為簡(jiǎn)單的限定條件,但 使用它們的前提是,確定節(jié)點(diǎn)當(dāng)前一段時(shí)間內(nèi)的數(shù)據(jù)流含有他們所依 賴的已知應(yīng)用。如已知節(jié)點(diǎn)N1是服務(wù)S1的服務(wù)器,那么和S1相 關(guān)的"弱"規(guī)則就可定義為"與已知S1的會(huì)話具有相同目的 IP&PORT",這樣一來(lái),到N1無(wú)法精確定義的會(huì)話,都可根據(jù)這條弱 規(guī)則來(lái)定義成S1的會(huì)話。
第二步,以數(shù)據(jù)內(nèi)容特征識(shí)別為例,說(shuō)明本發(fā)明應(yīng)用
(-)有狀態(tài)的集合<=>集合
某些協(xié)議會(huì)出現(xiàn)復(fù)雜的狀態(tài)轉(zhuǎn)換,基于傳統(tǒng)的數(shù)字簽證利用上面 所描述的集合到子集單向轉(zhuǎn)換就很難實(shí)現(xiàn)對(duì)其識(shí)別/控制。在基于會(huì)話 內(nèi)數(shù)據(jù)包相關(guān)性的考慮之后,就可以完成識(shí)別結(jié)果的狀態(tài)轉(zhuǎn)換,從而 對(duì)其不同狀態(tài)使用不同的控制策略。例如MSN傳文件時(shí)偶爾存在的 一種轉(zhuǎn)換過(guò)程,如圖4所示,在"MSN消息"的識(shí)別狀態(tài)基礎(chǔ)上識(shí)別 "MSN傳文件,,狀態(tài),當(dāng)傳文件過(guò)程結(jié)束后又可回到MSN發(fā)消息狀態(tài)。本更新自動(dòng)適應(yīng)
同種應(yīng)用一般存在多種類型的會(huì)話,某些是容易識(shí)別,另一些可 能較難識(shí)別,僅有為數(shù)不多的幾個(gè)特征,這些特征如果直接使用,存 在較高的誤判風(fēng)險(xiǎn),不使用就無(wú)法識(shí)別該會(huì)話, 一定程度造成特征資 源未被充分利用。
首先會(huì)話預(yù)測(cè)與弱規(guī)則匹配,可以用來(lái)預(yù)測(cè)某用戶這段時(shí)間內(nèi) 可能產(chǎn)生的會(huì)話類型,大多數(shù)應(yīng)用會(huì)產(chǎn)生很多會(huì)話,如果能根據(jù)已知 某一個(gè)會(huì)話斷定此用戶在使用該應(yīng)用,那么來(lái)自于此用戶的其它會(huì)話 可以優(yōu)先匹配和該應(yīng)用相關(guān)的識(shí)別規(guī)則,以提高效率和減少誤判;如圖 5所示,這一特性也可用來(lái)提高單個(gè)應(yīng)用含多種復(fù)雜會(huì)話時(shí)的應(yīng)用識(shí)別 率,假如通過(guò)前面的數(shù)字簽證+會(huì)話內(nèi)部相關(guān)性已確定某個(gè)用戶U1 在某個(gè)時(shí)間段T1內(nèi),存在應(yīng)用A的會(huì)話s1,而已知A存在其它會(huì)話 s2, s3…,且s2的特征較"弱",不便于直接識(shí)別。而在已知s1存在 的前提下,s2的"弱"特征就可僅用于對(duì)用戶U1的其它未知會(huì)話(包 含s2, s3…)進(jìn)行識(shí)別了,從而極大地提高了應(yīng)用識(shí)別率。
曰應(yīng)用服務(wù)器的識(shí)別
如圖6所示,通過(guò)前面的數(shù)字簽證+內(nèi)部相關(guān)性能確定出應(yīng)用A多 個(gè)版本中,某一版本的會(huì)話s1,記錄下其服務(wù)器地址ip1,端口號(hào)p1 , p2…,如果應(yīng)用A的s1屬于Client/Server或P2SP中的P2S類型會(huì) 話;那么內(nèi)網(wǎng)中其它用戶使用A應(yīng)用的其它版本,會(huì)話到該ip1, ip2… 的未知會(huì)話就可以進(jìn)行應(yīng)用A其它版本的"弱"特征會(huì)話s2, s3,… 匹配。甚至相同地址和端口號(hào)這一特征即可直接確定該會(huì)話所屬應(yīng)用 類型。
比如QQ具有2006, 07, 08…等多個(gè)版本,但是只需要識(shí)別 出任意一個(gè)版本,即可取得一份QQ的服務(wù)器地址&端口列表,其它
9到該服務(wù)器&端口的會(huì)話可優(yōu)先匹配QQ相關(guān)規(guī)則,而未知的會(huì)話,
也可通過(guò)這份服務(wù)器地址列表與弱規(guī)則匹配來(lái)做進(jìn)一步確認(rèn)。
最后,說(shuō)明本發(fā)明的具體實(shí)現(xiàn) 第一步實(shí)現(xiàn)一個(gè)數(shù)值簽證鑒別功能模塊,對(duì)數(shù)據(jù)流按照規(guī)則進(jìn) 行模式匹配,如匹配數(shù)據(jù)包內(nèi)偏移多少字節(jié)后,取當(dāng)前值等于xxx, 或是數(shù)據(jù)包內(nèi)某個(gè)范圍內(nèi)搜索能夠得到xxxxxx...,或是數(shù)據(jù)包倒數(shù)多 少字節(jié)等于xxxx;最簡(jiǎn)單的實(shí)現(xiàn)就是使用多模式匹配的方式直接進(jìn)行 數(shù)據(jù)流搜索。
第二步實(shí)現(xiàn)一個(gè)或是利用現(xiàn)有的會(huì)話跟蹤系統(tǒng),記錄下每個(gè)會(huì) 話的識(shí)別狀態(tài),每個(gè)數(shù)據(jù)包通過(guò)之后,根據(jù)匹配的結(jié)果,更新會(huì)話識(shí) 別狀態(tài)。
第三步實(shí)現(xiàn)一個(gè)基于用戶的可快速檢索庫(kù)(基于ip的hash表), 將能被再次利用的識(shí)別結(jié)果保存起來(lái);
比如已知用戶U1存在應(yīng)用A1,則將U1存起來(lái),后續(xù)對(duì)于 U1的新建連接優(yōu)先匹配在U1處已存在并可預(yù)測(cè)的規(guī)則集合;對(duì)于因 特征不明顯,而未能識(shí)別的會(huì)話可使用與A1相關(guān)的"弱"規(guī)則繼續(xù) 匹配;以上對(duì)于U1應(yīng)用A1所存的信息具有時(shí)間T1的有效性限制, 當(dāng)超過(guò)T1而無(wú)A1的數(shù)據(jù)活動(dòng)后,該存儲(chǔ)節(jié)點(diǎn)將被清除。
再如有QQ服務(wù)器Server1被記錄下來(lái)后,其它到該服務(wù)器 的未知會(huì)話都可以優(yōu)先使用QQ的"弱"規(guī)則繼續(xù)匹配了 , 一般而言 服務(wù)器識(shí)別結(jié)果的超時(shí)時(shí)間T2都比較長(zhǎng)。
最后一步,就是需要人工參與的規(guī)則制定了,規(guī)則包括數(shù)字簽證 的匹配條件,包含傳統(tǒng)規(guī)則和本發(fā)明弱規(guī)則,傳統(tǒng)規(guī)則中多條規(guī)則配 合實(shí)現(xiàn)會(huì)話內(nèi)的相關(guān)性利用,會(huì)話內(nèi)的識(shí)別狀態(tài)轉(zhuǎn)換,以及規(guī)則的識(shí)別結(jié)果可指定源地址是否做會(huì)話間相關(guān)性的源地址記錄,或目標(biāo)服
務(wù)器記錄。并同時(shí)制定另一些依賴這些識(shí)別結(jié)果的"弱,,規(guī)則。
以上所述僅為本發(fā)明的較佳實(shí)施例,凡依本發(fā)明權(quán)利要求范圍所 做的均等變化與修飾,皆應(yīng)屬本發(fā)明權(quán)利要求的涵蓋范圍。
權(quán)利要求
1、一種網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,包括以下步驟1.1)識(shí)別建立會(huì)話所屬節(jié)點(diǎn)的識(shí)別狀態(tài);1.2)在所述識(shí)別狀態(tài)基礎(chǔ)上,分優(yōu)先級(jí)識(shí)別所述節(jié)點(diǎn)的后續(xù)會(huì)話并更新所述識(shí)別狀態(tài)。
2、 根據(jù)權(quán)利要求1所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,所述 識(shí)別是數(shù)據(jù)內(nèi)容特征識(shí)別或行為特征識(shí)別。
3、 根據(jù)權(quán)利要求1所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,所述 識(shí)別狀態(tài)在建立或更新后設(shè)定時(shí)間內(nèi)有效,否則失效。
4、 根據(jù)權(quán)利要求1所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,所述 分優(yōu)先級(jí)識(shí)別包括首先匹配與所述識(shí)別狀態(tài)相關(guān)的規(guī)則集。
5、 根據(jù)權(quán)利要求1所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,所述 則集。
6、 根據(jù)權(quán)利要求4或5所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于, 所述分優(yōu)先級(jí)識(shí)別包括最先匹配與所述識(shí)別狀態(tài)相關(guān)、強(qiáng)限定條件 的規(guī)則集;其次再匹配與所述識(shí)別狀態(tài)不相關(guān)、強(qiáng)限定條件的規(guī)則集; 最后匹配與所述識(shí)別狀態(tài)相關(guān)、僅在特定狀態(tài)下都起作用的弱限定條 件的狀態(tài);其中若在先匹配成功,則不進(jìn)^f亍后續(xù)匹配。
7、 根據(jù)權(quán)利要求6所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,該方 法還包括在與所述識(shí)別狀態(tài)相關(guān)、僅在特定狀態(tài)下都起作用的弱限 定條件的規(guī)則集匹配成功后,判斷識(shí)別結(jié)果的可靠性。
8、 根據(jù)權(quán)利要求7所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,所述弱限定條件包括特定狀態(tài)識(shí)別信息。
9、 根據(jù)權(quán)利要求7所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,所述 特定狀態(tài)識(shí)別信息包括與已知會(huì)話具有相同源或目的IP地址。
10、 根據(jù)權(quán)利要求1所述網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,其特征在于,所 述節(jié)點(diǎn)是用戶或服務(wù)器。
全文摘要
本發(fā)明涉及一種網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,包括識(shí)別建立會(huì)話所屬節(jié)點(diǎn)的識(shí)別狀態(tài);在所述識(shí)別狀態(tài)基礎(chǔ)上,分優(yōu)先級(jí)特征識(shí)別所述節(jié)點(diǎn)的后續(xù)會(huì)話并更新所述識(shí)別狀態(tài)。這種網(wǎng)絡(luò)數(shù)據(jù)流識(shí)別方法,綜合當(dāng)前用戶所產(chǎn)生數(shù)據(jù)流的組成結(jié)構(gòu),依據(jù)會(huì)話內(nèi)和會(huì)話間的相關(guān)性,進(jìn)行會(huì)話預(yù)測(cè)和弱規(guī)則匹配,提高了識(shí)別效率和未知會(huì)話識(shí)別率。
文檔編號(hào)H04L12/56GK101605132SQ20091010867
公開(kāi)日2009年12月16日 申請(qǐng)日期2009年7月13日 優(yōu)先權(quán)日2009年7月13日
發(fā)明者毅 陳 申請(qǐng)人:深圳市深信服電子科技有限公司