專利名稱::數(shù)據(jù)內(nèi)容過濾方法與裝置、有限狀態(tài)自動(dòng)機(jī)及其構(gòu)造裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)內(nèi)容過濾技術(shù),尤其是一種數(shù)據(jù)內(nèi)容過濾方法與裝置、有限狀態(tài)自動(dòng)機(jī)及其構(gòu)造裝置。
背景技術(shù):
:Aho-Comsick算法是一種高效的多關(guān)鍵詞匹配算法。利用Aho-Corasick算法進(jìn)行關(guān)鍵詞匹配時(shí),先構(gòu)造三個(gè)函數(shù)GOTO、FAILURE與OUTPUT函數(shù),然后利用這三個(gè)函數(shù)構(gòu)造一個(gè)涵蓋所有查詢關(guān)鍵字的有限狀態(tài)自動(dòng)機(jī)(DeterministicFiniteStateAutomaton,以下簡(jiǎn)稱DFA)。被搜索特征碼庫(kù)中的每個(gè)字符逐個(gè)輸入到DFA中,當(dāng)某個(gè)查詢關(guān)鍵字被命中時(shí),DFA就會(huì)輸出搜索結(jié)果報(bào)告。以下以網(wǎng)絡(luò)防毒墻的蠕蟲病毒過濾為例,對(duì)Aho-Corasick算法進(jìn)行介紹。假設(shè)存在4個(gè)蠕蟲病毒,其特征碼分別是HE、SHE、HIS和HERS。利用GOTO、FAILURE與OUTPUT函數(shù)構(gòu)造得到的一個(gè)網(wǎng)絡(luò)防毒墻的DFA如下表1所示。表1DFA<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>如下表2所示,為利用表1所示DFA進(jìn)行搜索的一個(gè)輸出結(jié)果。表2DFA的輸出結(jié)果<table>tableseeoriginaldocumentpage8</column></row><table>表1所示DFA的初始狀態(tài)為狀態(tài)"0"。若輸入字符"H"后,DFA的狀態(tài)變?yōu)?1"。若輸入字符"S"字符,則DFA進(jìn)入狀態(tài)"3"。若輸入其它字符,則DFA保持狀態(tài)"0"。在DFA處于狀態(tài)"1"時(shí),若輸入字符"E,,,則DFA進(jìn)入狀態(tài)"2",且輸出"HE命中"的搜索結(jié)果報(bào)告。根據(jù)表1和表2,假設(shè)某個(gè)網(wǎng)絡(luò)報(bào)文攜帶的數(shù)據(jù)是"SHISHE",這六個(gè)字符將按順序逐個(gè)輸入到網(wǎng)絡(luò)防毒墻的DFA。DFA的初始狀態(tài)是狀態(tài)"0",接收到輸入的字符"S"后,DFA進(jìn)入狀態(tài)"3"。再接收到輸入的字符"H,,后,DFA進(jìn)入狀態(tài)"4"。"I"輸入后,DFA進(jìn)入狀態(tài)"6"。"S"的輸入使DFA進(jìn)入狀態(tài)"7",并輸出"HIS命中",接著"H"和"E,,的輸入,使DFA進(jìn)入狀態(tài)"5",并輸出"SHE,HE命中"。由于被搜索特征碼庫(kù)的每個(gè)字符在DFA中觸發(fā)一次且僅一次狀態(tài)轉(zhuǎn)換,因此,Aho-Corasick算法的復(fù)雜度僅與被搜索特征碼庫(kù)的長(zhǎng)度有關(guān),而與查詢關(guān)鍵字的數(shù)目及長(zhǎng)度都無關(guān)。因此,在網(wǎng)絡(luò)數(shù)據(jù)流內(nèi)容過濾的算法層面上,Aho-Corasick是迄今為止最快的算法,在網(wǎng)絡(luò)防毒墻的應(yīng)用上具有明顯的優(yōu)勢(shì)。但是,現(xiàn)有的Aho-Corasick算法只支持精確匹配,即只能根據(jù)特征碼庫(kù)與構(gòu)造的DFA查詢出與被搜索特征碼庫(kù)中的特征碼精確匹配的病毒,而無法查找與被搜索特征碼庫(kù)中的特征碼近似匹配的疑似病毒,因此,根據(jù)現(xiàn)有的Aho-Comsick算法無法避免疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅。若需要根據(jù)現(xiàn)有的Aho-Corasick算法避免疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅,就需要將疑似病毒的特征碼全部錄入特征碼庫(kù)并據(jù)此構(gòu)造DFA,然后根據(jù)構(gòu)造的DFA進(jìn)行特征碼庫(kù)搜索與病毒匹配,這無疑增加了特征碼庫(kù)的存儲(chǔ)容量,并且增加了搜索特征碼庫(kù)所需要的開銷與時(shí)間。
發(fā)明內(nèi)容本發(fā)明實(shí)施例的目的是提供一種數(shù)據(jù)內(nèi)容過濾方法與裝置、有限狀態(tài)自動(dòng)機(jī)及其構(gòu)造裝置,實(shí)現(xiàn)對(duì)疑似病毒的過濾,在不增加特征碼庫(kù)的所需的存儲(chǔ)容量與搜索特征碼庫(kù)所需的開銷、時(shí)間的情況下,避免疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅。為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供的一種數(shù)據(jù)內(nèi)容過濾方法,包括有限狀態(tài)自動(dòng)機(jī)接收數(shù)據(jù)報(bào)文,所述有限狀態(tài)自動(dòng)機(jī)由特征碼分解得到的子特征碼構(gòu)造生成;所述有限狀態(tài)自動(dòng)機(jī)對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果;根據(jù)所述查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行攔截處理。本發(fā)明實(shí)施例提供的一種有限狀態(tài)自動(dòng)機(jī),由特征碼分解得到的子特征碼構(gòu)造生成,所述有限狀態(tài)自動(dòng)機(jī)包括接收模塊,用于接收數(shù)據(jù)報(bào)文;第一查詢模塊,用于對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。本發(fā)明實(shí)施例提供的一種有限狀態(tài)自動(dòng)機(jī)構(gòu)造裝置,包括分解模塊,用于根據(jù)確定的子特征碼長(zhǎng)度,分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組;分組模塊,用于以子特征碼為單位對(duì)各子特征碼組進(jìn)行比較,將相似度達(dá)到另一預(yù)設(shè)值的特征碼設(shè)置為一個(gè)特征碼組;構(gòu)造模塊,用于分別從各特征碼組中選擇一個(gè)特征碼,由選擇出的所有特征碼的子特征碼集合為基礎(chǔ),構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)。本發(fā)明實(shí)施例提供的一種數(shù)據(jù)內(nèi)容過濾裝置,包括有限狀態(tài)自動(dòng)機(jī)與數(shù)據(jù)報(bào)文處理裝置,所述有限狀態(tài)自動(dòng)機(jī)由特征碼分解得到的子特征碼構(gòu)造生成,用于接收數(shù)據(jù)報(bào)文,對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果;所述數(shù)據(jù)報(bào)文處理裝置用于根據(jù)所述查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行攔截處理。本發(fā)明上述實(shí)施例提供的數(shù)據(jù)內(nèi)容過濾方法與裝置、有限狀態(tài)自動(dòng)機(jī)及其構(gòu)造裝置中,有限狀態(tài)自動(dòng)機(jī)由特征碼分解得到的子特征碼構(gòu)造生成,接收到數(shù)據(jù)報(bào)文后,有限狀態(tài)自動(dòng)機(jī)通過對(duì)該數(shù)據(jù)報(bào)文與構(gòu)造生成該有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢,根據(jù)有限狀態(tài)自動(dòng)機(jī)的查詢結(jié)果,可以在數(shù)據(jù)報(bào)文與構(gòu)造生成有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)該數(shù)據(jù)報(bào)文進(jìn)行攔截處理,從而實(shí)現(xiàn)對(duì)疑似病毒的過濾,避免了疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅。由于每個(gè)特征碼組中特征碼之間的相似度都達(dá)到預(yù)設(shè)值,有限狀態(tài)自動(dòng)機(jī)僅需要從每個(gè)特征碼組中分別選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,因此,有限狀態(tài)自動(dòng)機(jī)存儲(chǔ)的、用于數(shù)據(jù)內(nèi)容過濾的特征碼庫(kù)僅包括每個(gè)特征碼組中一個(gè)特征碼的子特征碼,與現(xiàn)有技術(shù)相比,大大減少了有限狀態(tài)自動(dòng)機(jī)占用的系統(tǒng)存儲(chǔ)資源和系統(tǒng)初始化過程中構(gòu)造有限狀態(tài)自動(dòng)機(jī)的時(shí)間開銷,以及減少了搜索特征碼庫(kù)所需的開銷與時(shí)間。下面通過附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。圖1為本發(fā)明數(shù)據(jù)內(nèi)容過濾方法一個(gè)實(shí)施例的流程圖2為本發(fā)明數(shù)據(jù)內(nèi)容過濾方法另一個(gè)實(shí)施例的流程圖3為本發(fā)明的構(gòu)造生成DFA實(shí)施例的流程圖4為本發(fā)明DFA實(shí)施例的結(jié)構(gòu)示意圖5為本發(fā)明DFA構(gòu)造裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖6為本發(fā)明DFA構(gòu)造裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖7為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖8為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖9為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖IO為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置再一個(gè)實(shí)施例的結(jié)構(gòu)示意圖11為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置還一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。具體實(shí)施例方式本發(fā)明實(shí)施例可以根據(jù)特征碼之間的相似度對(duì)特征碼庫(kù)中的特征碼進(jìn)行分組,將相似度達(dá)到預(yù)設(shè)值的特征碼劃分為一個(gè)特征碼組,并從每一組中選取一個(gè)特征碼,以選擇出的所有特征碼的子特征碼為基礎(chǔ),構(gòu)造生成DFA,通過該DFA對(duì)接收到的數(shù)據(jù)才艮文進(jìn)行匹配查詢,/人而實(shí)現(xiàn)對(duì)疑似病毒的過濾,避免了疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅。本發(fā)明實(shí)施例的一個(gè)特征碼庫(kù)為由所有蠕蟲病毒的特征碼構(gòu)成的特征碼庫(kù)。如圖1所示,為本發(fā)明數(shù)據(jù)內(nèi)容過濾方法一個(gè)實(shí)施例的流程圖,其包括以下步驟步驟101,DFA接收數(shù)據(jù)報(bào)文。其中的DFA由分別從每個(gè)特征碼組中選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,每個(gè)特征碼組中特征碼之間的相似度達(dá)到一個(gè)預(yù)設(shè)值,例如70%,該預(yù)設(shè)值可以才艮據(jù)經(jīng)驗(yàn)數(shù)值設(shè)定。步驟102,DFA對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該DFA的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。步驟103,根據(jù)查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的其中一個(gè)特征碼有另外一個(gè)預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)該數(shù)據(jù)報(bào)文進(jìn)行攔截處理。該步驟103中的預(yù)設(shè)值可以與步驟101中的預(yù)設(shè)值相同或不同。具體地,對(duì)數(shù)據(jù)報(bào)文進(jìn)行攔截處理可以是直接丟棄數(shù)據(jù)報(bào)文;或者,生成并顯示病毒警報(bào),以及根據(jù)用戶針對(duì)該病毒警報(bào)發(fā)送的處理指示信息放行或丟棄數(shù)據(jù)報(bào)文。根據(jù)步驟102的查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文的子特征碼與構(gòu)造生成DFA的任何一個(gè)特征碼的子特征碼中相同子特征碼的數(shù)量都小于所述預(yù)設(shè)值時(shí),放行數(shù)據(jù)報(bào)文。如圖2所示,為本發(fā)明數(shù)據(jù)內(nèi)容過濾方法另一個(gè)實(shí)施例的流程圖,其包括以下步驟'.步驟201,DFA接收數(shù)據(jù)凈艮文。其中的DFA由分別從每個(gè)特征碼組中選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,每個(gè)特征碼組中特征碼之間的相似度達(dá)到一個(gè)預(yù)設(shè)值,例如70%,該預(yù)設(shè)值可以根據(jù)經(jīng)驗(yàn)數(shù)值設(shè)定。步驟202,DFA對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該DFA的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。步驟203,根據(jù)查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的其中一個(gè)特征碼有另外一個(gè)預(yù)設(shè)值以上的子特征碼相同時(shí),生成并顯示病毒警報(bào)與對(duì)該數(shù)據(jù)報(bào)文的處理提示。步驟204,接收用戶根據(jù)該病毒警報(bào)發(fā)送的處理指示信息,并根據(jù)該處理指示信息對(duì)數(shù)據(jù)報(bào)文進(jìn)行相應(yīng)處理,即放行或丟棄該數(shù)據(jù)報(bào)文。根據(jù)圖2所示的實(shí)施例,在步驟204中,接收用戶根據(jù)該病毒警報(bào)發(fā)送的處理指示信息時(shí),還可以接收用戶根據(jù)該病毒警報(bào)發(fā)送的設(shè)置信息,并根據(jù)該設(shè)置信息的內(nèi)容對(duì)將該數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址進(jìn)行相應(yīng)處理。若該設(shè)置信息的內(nèi)容為將該數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址加入信任區(qū),則將該數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址存儲(chǔ)在放行區(qū)。若該設(shè)置信息的內(nèi)容為阻止該數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址發(fā)送的數(shù)據(jù)報(bào)文,則將該數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址存儲(chǔ)在丟棄區(qū)。相應(yīng)的,在步驟201之前,防毒設(shè)備接收到數(shù)據(jù)報(bào)文時(shí),可以先查詢其中攜帶的發(fā)送方地址是否存儲(chǔ)在放行區(qū)或丟棄區(qū),若存儲(chǔ)在放行區(qū)或丟棄區(qū),則對(duì)發(fā)送方地址存儲(chǔ)在放行區(qū)或丟棄區(qū)的新數(shù)據(jù)報(bào)文相應(yīng)進(jìn)行放行或丟棄;若既不存儲(chǔ)在放行區(qū)也不存儲(chǔ)在丟棄區(qū),則將該數(shù)據(jù)報(bào)文發(fā)送給DFA,通過圖2所示的實(shí)施例對(duì)該數(shù)據(jù)報(bào)文進(jìn)行內(nèi)容過濾處理。在本發(fā)明圖1與圖2所述實(shí)施例之前,可以先構(gòu)造生成DFA。如圖3所示,為本發(fā)明的構(gòu)造生成DFA實(shí)施例的流程圖,其包括以下步驟步驟301,確定子特征碼長(zhǎng)度,并根據(jù)該子特征碼長(zhǎng)度分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組。例如確定子特征碼長(zhǎng)度為W,根據(jù)子特征碼長(zhǎng)度W分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由L-W+l個(gè)子特征碼組成的子特征碼組,其中,L為特征碼長(zhǎng)度,L、W為大于l的整數(shù)。步驟302,以子特征碼為單位對(duì)各子特征碼組進(jìn)行比較,將相似度達(dá)到一個(gè)預(yù)"沒值的特征碼設(shè)置為一個(gè)特征碼組。步驟303,分別人'、各特征碼組中選掉-一個(gè)特征碼,由選擇出的所有特征碼的子特征碼集合為基礎(chǔ),構(gòu)造生成DFA。在步驟301中,將特征碼分別分解為子特征碼組后,還可以分析分解成的各子特征碼組之間是否存在相同的子特征碼,在子特征碼組之間存在相同的子特征碼時(shí),增加子特征碼長(zhǎng)度,例如將子特征碼長(zhǎng)度增加1,根據(jù)增加后的子特征碼長(zhǎng)度重新對(duì)特征碼庫(kù)中的各特征碼進(jìn)行分解,并分析重新分解成的各子特征碼組之間是否還存在相同的子特征碼,若仍存在,則再增加子特征碼長(zhǎng)度并重新對(duì)特征碼庫(kù)中的各特征碼進(jìn)行分解,直到各子特征碼組之間不存在相同的子特征碼時(shí),執(zhí)行步驟302。在上述數(shù)據(jù)內(nèi)容過濾方法實(shí)施例中,對(duì)數(shù)據(jù)報(bào)文進(jìn)行攔截處理后,還可以統(tǒng)計(jì)數(shù)據(jù)報(bào)文的攔截處理結(jié)果與病毒數(shù)據(jù)報(bào)文的攔截情況,在將合法數(shù)據(jù)報(bào)文識(shí)別為病毒報(bào)文,使得在攔截的數(shù)據(jù)報(bào)文中非病毒數(shù)據(jù)報(bào)文數(shù)量超過一定比例時(shí),即攔截的假病毒數(shù)據(jù)報(bào)文較多時(shí),為了避免攔截合法數(shù)據(jù)報(bào)文對(duì)正常業(yè)務(wù)造成影響,或者由于過多向用戶發(fā)送病毒警報(bào)而影響用戶的正常工作,可以提高所述一個(gè)預(yù)設(shè)值或增加子特征碼長(zhǎng)度,并通過圖3所示的實(shí)施例,根據(jù)提高后的預(yù)設(shè)值重新對(duì)特征碼庫(kù)中的特征碼進(jìn)行分組,或根據(jù)增加后的子特征碼長(zhǎng)度,重新構(gòu)造生成DFA。在后續(xù)的實(shí)施例中,根據(jù)重新構(gòu)造生成DFA對(duì)接收到的數(shù)據(jù)報(bào)文進(jìn)行匹配查詢。當(dāng)匹配查詢的靈敏度較低,在超過一定數(shù)量的病毒數(shù)據(jù)報(bào)文未被攔截而當(dāng)作合法數(shù)據(jù)報(bào)文放行時(shí),為了保證網(wǎng)絡(luò)的安全性,可以降低所述一個(gè)預(yù)設(shè)值或減小子特征碼長(zhǎng)度,并通過圖3所示的實(shí)施例,根據(jù)降低后的預(yù)設(shè)值重新對(duì)特征碼庫(kù)中的特征碼進(jìn)行分組,或根據(jù)減小后的子特征碼長(zhǎng)度,重新構(gòu)造生成DFA。在后續(xù)的實(shí)施例中,根據(jù)重新構(gòu)造生成DFA對(duì)接收到的數(shù)據(jù)才艮文進(jìn)行匹配查詢。以下以網(wǎng)絡(luò)防毒墻應(yīng)用為例,對(duì)本發(fā)明構(gòu)造生成DFA進(jìn)4亍說明?!┲гO(shè)一個(gè)已知的網(wǎng)絡(luò)蠕蟲病毒的特征碼是AAAABBBBCCCCDDDDE。基于特征碼AAAABBBBCCCCDDDDE,生成L-W+i個(gè)子特征碼,其中L為AAAABBBBCCCCDDDDE的字符長(zhǎng)度,值為17。W為子特征碼的長(zhǎng)度,可根據(jù)實(shí)際情況確定與調(diào)整,本實(shí)施例中W的值定為8。據(jù)此生成的10個(gè)子特征碼。如下表3所示,為將特征碼AAAABBBBCCCCDDDDE分解成的子特征碼組,其包括l-10共IO個(gè)子特征碼。表3特征碼AAAABBBBCCCCDDDDE的子特征碼組<table>tableseeoriginaldocumentpage15</column></row><table>用以上10個(gè)子特征碼替代AAAABBBBCCCCDDDDE,構(gòu)造網(wǎng)絡(luò)防毒墻的DFA,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)流中含有AAAABBBBCCCCDDDDE時(shí),以上10個(gè)子特征碼都會(huì)被命中,即命中率為100%。假設(shè)另一個(gè)尚未被網(wǎng)絡(luò)防毒墻所知的網(wǎng)絡(luò)蠕蟲病毒的特征碼為AFFABBBBCCCCDDDDE,網(wǎng)絡(luò)防毒墻把疑似病毒相似度門檻值設(shè)置為70%及以上。將AFFABBBBCCCCDDDDE輸入DFA后,上表3中第4-10個(gè)子特征碼會(huì)被命中,命中率達(dá)到70°/。,網(wǎng)絡(luò)防毒墻據(jù)此對(duì)該網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行攔截處理,直接丟棄,或者向用戶發(fā)出病毒警報(bào),由用戶決定是否執(zhí)行攔截操作。因此,以子特征碼替代AAAABBBBCCCCDDDDE,可以實(shí)現(xiàn)對(duì)疑似病毒的過濾。本發(fā)明實(shí)施例中,由于DFA由分別從每個(gè)特征碼組中選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,每個(gè)特征碼組中特征碼之間的相似度達(dá)到一個(gè)預(yù)設(shè)值,接收到數(shù)據(jù)報(bào)文后,DFA通過對(duì)該數(shù)據(jù)報(bào)文與構(gòu)造生成該DFA的所有子特征碼進(jìn)行匹配查詢,根據(jù)DFA的查詢結(jié)果,可以在數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的其中一個(gè)特征碼有另外一個(gè)預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)該數(shù)據(jù)才艮文進(jìn)行攔截處理,從而實(shí)現(xiàn)對(duì)疑似病毒的過濾,避免了疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅。另外,由于每個(gè)特征碼組中特征碼之間的相似度都達(dá)到所述一個(gè)預(yù)設(shè)值,DFA僅需要從每個(gè)特征碼組中分別選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,不需要根據(jù)現(xiàn)有的病毒特征碼庫(kù)中的所有特征碼生成,因此,大大減少了系統(tǒng)初始化過程中構(gòu)造DFA的時(shí)間開銷以及DFA占用的系統(tǒng)存儲(chǔ)資源,以及減少了搜索特征碼庫(kù)所需的開銷與時(shí)間。如圖4所示,為本發(fā)明DFA實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例的DFA可用于實(shí)現(xiàn)本發(fā)明上述實(shí)施例中DFA的相應(yīng)功能,其由分別從每個(gè)特征碼組中選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,每個(gè)特征碼組中特征碼之間的相似度達(dá)到一個(gè)預(yù)設(shè)值。該實(shí)施例的DFA包括接收模塊401與第一查詢模塊402。其中,接收模塊401用于接收數(shù)據(jù)報(bào)文。第一查詢模塊402用于對(duì)接收模塊401接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。如圖5所示,為本發(fā)明DFA構(gòu)造裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例的明DFA構(gòu)造裝置可用于構(gòu)造生成本發(fā)明上述實(shí)施例所需的DFA。其包括分解模塊501、分組模塊502與構(gòu)造模塊503。其中,分解模塊501用于根據(jù)預(yù)先確定的子特征碼長(zhǎng)度,分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組。分組模塊502用于以子特征碼為單位,對(duì)分解模塊501分解得到的各子特征碼組進(jìn)行比較,將相似度達(dá)到所述一個(gè)預(yù)設(shè)值的特征碼設(shè)置為一個(gè)特征碼組。構(gòu)造模塊503用于分別從分組模塊502分組的各特征碼組中選擇一個(gè)特征碼,由選擇出的所有特征碼的子特征碼集合為基礎(chǔ),構(gòu)造生成DFA。如圖6所示,為本發(fā)明DFA構(gòu)造裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖5所示的實(shí)施例相比,該實(shí)施例的DFA構(gòu)造裝置還包括分析模塊504,用于分析分解模塊501分解得到的各子特征碼組之間是否存在相同的子特征碼,在子特征碼組之間存在相同的子特征碼時(shí),增加子特征碼長(zhǎng)度,并在各子特征碼組之間不存在相同的子特征碼時(shí),指示分解模塊501根據(jù)增加征碼組成的子特征碼組。如圖7所示,為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。該實(shí)施例的數(shù)據(jù)內(nèi)容過濾裝置可用于實(shí)現(xiàn)本發(fā)明圖l或圖2所示數(shù)據(jù)內(nèi)容過濾方法實(shí)施例的流程。其包括DFA601與數(shù)據(jù)報(bào)文處理裝置602。其中,DFA601由分別從每個(gè)特征碼組中選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,每個(gè)特征碼組中特征碼之間的相似度達(dá)到一個(gè)預(yù)設(shè)值,用于接收數(shù)據(jù)報(bào)文,對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該DFA的所有特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。數(shù)據(jù)報(bào)文處理裝置602用于根據(jù)DFA601輸出的查詢結(jié)果,當(dāng)數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的其中一個(gè)特征碼有另外一個(gè)預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)數(shù)據(jù)報(bào)文進(jìn)行攔截處理,該;另外一個(gè)預(yù)設(shè)值可以與所述一個(gè)預(yù)設(shè)值相同或不同。具體地,對(duì)數(shù)據(jù)報(bào)文進(jìn)行攔截處理可以是直接丟棄數(shù)據(jù)報(bào)文;或者,生成并顯示病毒警報(bào),以及根據(jù)用戶針對(duì)該病毒警報(bào)發(fā)送的處理指示信息放行或丟棄數(shù)據(jù)報(bào)文。另外,當(dāng)所述數(shù)據(jù)報(bào)文的子特征碼與構(gòu)造生成DFA的任何一個(gè)特征碼的子特征碼中相同子特征碼的數(shù)量都小于所述另外一個(gè)預(yù)設(shè)值時(shí),可以放行數(shù)據(jù)報(bào)文。如圖8所示,為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置另一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖7所示的實(shí)施例相比,該實(shí)施例的DFA包括接收模塊401與第一查詢模塊402,數(shù)據(jù)報(bào)文處理裝置包括比較模塊701與處理模塊702。其中,接收模塊401用于接收數(shù)據(jù)報(bào)文。第一查詢模塊402用于對(duì)接收模塊401接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。比較模塊701用于根據(jù)第一查詢模塊402輸出的查詢結(jié)果,比較數(shù)據(jù)報(bào)文的子特征碼中與構(gòu)造生成DFA的各特征碼的子特征碼相同的子特征碼數(shù)量是否大于或等于所述另外一個(gè)預(yù)設(shè)值,并輸出比較結(jié)果。處理模塊702用于根據(jù)比較模塊701輸出的比較結(jié)果,在數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的其中一個(gè)特征碼有另外一個(gè)預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)數(shù)據(jù)報(bào)文進(jìn)行攔截處理;在數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的任何一個(gè)特征碼中相同子特征碼數(shù)量都小于另外一個(gè)預(yù)設(shè)值時(shí),放行數(shù)據(jù)報(bào)文。如圖9所示,為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖8所示的實(shí)施例相比,該實(shí)施例中,處理模塊702包括第一丟棄單元801,用于根據(jù)比較模塊701輸出的比較結(jié)果,在數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的其中一個(gè)特征碼有所述另外一個(gè)預(yù)設(shè)值以上的子特征碼相同時(shí),丟棄數(shù)據(jù)報(bào)文;在數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的任何一個(gè)特征碼中相同子特征碼數(shù)量都小于所述另外一個(gè)預(yù)設(shè)值時(shí),放行數(shù)據(jù)報(bào)文。如圖IO所示,為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置再一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖8所示的實(shí)施例相比,該實(shí)施例中,處理模塊702包括報(bào)警單元802、接收單元803與第二丟棄單元804。其中,報(bào)警單元802用于根據(jù)比較模塊701輸出的比較結(jié)果,在數(shù)據(jù)報(bào)文與構(gòu)造生成DFA的其中一個(gè)特征碼有另外一個(gè)預(yù)設(shè)值以上的子特征碼相同時(shí),生成并顯示病毒警報(bào),以提示用戶該數(shù)據(jù)報(bào)文為病毒。接收單元803用于接收用戶根據(jù)病毒警報(bào)發(fā)送的處理指示信息。第二丟棄單元804用于根據(jù)接收單元803接收到的處理指示信息,放行或丟棄與構(gòu)造生成DFA的其中一個(gè)特征碼有另外一個(gè)預(yù)設(shè)值以上的子特征碼相同的數(shù)據(jù)才艮文,以及在數(shù)據(jù)才艮文與構(gòu)造生成DFA的任何一個(gè)特征碼中相同子特征碼數(shù)量都小于另外一個(gè)預(yù)設(shè)值時(shí),放行數(shù)據(jù)報(bào)文。如圖11為本發(fā)明數(shù)據(jù)內(nèi)容過濾裝置還一個(gè)實(shí)施例的結(jié)構(gòu)示意圖。與圖IO所示的實(shí)施例相比,該實(shí)施例的數(shù)據(jù)報(bào)文處理裝置還包括存儲(chǔ)模塊703與第二查詢模塊704。處理模塊702接收用戶根據(jù)病毒警報(bào)發(fā)送的處理指示信息時(shí),還接收用戶針對(duì)該病毒警報(bào)發(fā)送的設(shè)置信息。相應(yīng)的,存儲(chǔ)模塊703用于根據(jù)用戶發(fā)送的設(shè)置信息,將放行或丟棄的數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址相應(yīng)存儲(chǔ)在放行區(qū)或丟棄區(qū)。第二查詢模塊704用于接收數(shù)據(jù)報(bào)文,并查詢接收到的接收到的數(shù)據(jù)報(bào)文中的發(fā)送方地址是否存儲(chǔ)在放行區(qū)或丟棄區(qū),若存儲(chǔ)在放行區(qū),則指示處理模塊702放行該數(shù)據(jù)報(bào)文;若存儲(chǔ)在丟棄區(qū),則指示處理模塊702丟棄該數(shù)據(jù)報(bào)文;若既不存儲(chǔ)在放行區(qū)也不存儲(chǔ)在丟棄區(qū),則將數(shù)據(jù)報(bào)文發(fā)送給DFA中的接收模塊401。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。本發(fā)明實(shí)施例實(shí)現(xiàn)對(duì)疑似病毒的過濾,避免了疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅;并且,DFA僅需要從每個(gè)特征碼組中分別選取的一個(gè)特征碼分解得到的子特征碼構(gòu)造生成,不需要根據(jù)特征碼庫(kù)中的所有特征碼生成,因此,大大減少了有限狀態(tài)自動(dòng)機(jī)占用的系統(tǒng)存儲(chǔ)資源和系統(tǒng)初始化過程中構(gòu)造有限狀態(tài)自動(dòng)機(jī)的時(shí)間開銷,以及減少了搜索特征碼庫(kù)所需的開銷與時(shí)間。最后所應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)本發(fā)明作限制性理解。盡管參照上述較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而這種修改或者等同替換并不脫離本發(fā)明技術(shù)方案的精神和范圍。權(quán)利要求1、一種數(shù)據(jù)內(nèi)容過濾方法,其特征在于,包括有限狀態(tài)自動(dòng)機(jī)接收數(shù)據(jù)報(bào)文,所述有限狀態(tài)自動(dòng)機(jī)由特征碼分解得到的子特征碼構(gòu)造生成;所述有限狀態(tài)自動(dòng)機(jī)對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果;根據(jù)所述查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行攔截處理。2、根據(jù)權(quán)利要求1所述的數(shù)據(jù)內(nèi)容過濾方法,其特征在于,對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行攔截處理包括直接丟棄所述數(shù)據(jù)報(bào)文;或者,生成并顯示病毒警報(bào),以及根據(jù)接收到的處理指示信息放行或丟棄所述數(shù)據(jù)報(bào)文。3、根據(jù)權(quán)利要求2所述的數(shù)據(jù)內(nèi)容過濾方法,其特征在于,根據(jù)接收到的處理指示信息放行或丟棄所述數(shù)據(jù)報(bào)文時(shí),還根據(jù)用戶發(fā)送的設(shè)置信息,將所述數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址存儲(chǔ)在放行區(qū)或丟棄區(qū);所述有限狀態(tài)自動(dòng)機(jī)接收數(shù)據(jù)報(bào)文之前,還包括查詢接收到的數(shù)據(jù)報(bào)文中的發(fā)送方地址是否存儲(chǔ)在放行區(qū)或丟棄區(qū),若存儲(chǔ)在放行區(qū)或丟棄區(qū),則對(duì)發(fā)送方地址存儲(chǔ)在放行區(qū)或丟棄區(qū)的新數(shù)據(jù)報(bào)文相應(yīng)進(jìn)行放行或丟棄;若既不存儲(chǔ)在放行區(qū)也不存儲(chǔ)在丟棄區(qū),則將所述數(shù)據(jù)報(bào)文發(fā)送給所述有限狀態(tài)自動(dòng)機(jī)。4、根據(jù)權(quán)利要求1所述的數(shù)據(jù)內(nèi)容過濾方法,其特征在于,根據(jù)所述查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的任何一個(gè)特征碼中相同子特征碼的數(shù)量都小于預(yù)設(shè)值時(shí),放行所述數(shù)據(jù)報(bào)文。5、根據(jù)權(quán)利要求1至4任意一項(xiàng)所述的數(shù)據(jù)內(nèi)容過濾方法,其特征在于,還包括確定子特征碼長(zhǎng)度,并根據(jù)子特征碼長(zhǎng)度分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組;以子特征碼為單位對(duì)各子特征碼組進(jìn)行比較,將相似度達(dá)到另一預(yù)設(shè)值的特征碼設(shè)置為一個(gè)特征碼組;分別從各特征碼組中選擇一個(gè)特征碼,由選擇出的所有特征碼的子特征碼集合為基礎(chǔ),構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)。6、根據(jù)權(quán)利要求5所述的數(shù)據(jù)內(nèi)容過濾方法,其特征在于,所述確定子特征碼長(zhǎng)度,并根據(jù)子特征碼長(zhǎng)度分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組具體為確定子特征碼長(zhǎng)度W,并根據(jù)子特征碼長(zhǎng)度W分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由L-W+l個(gè)子特征碼組成的子特征碼組,其中,L為特征碼長(zhǎng)度,L、W為大于l的整數(shù)。7、根據(jù)權(quán)利要求5所述的數(shù)據(jù)內(nèi)容過濾方法,其特征在于,所述根據(jù)子特征碼長(zhǎng)度分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組后,還包括分析各子特征碼組之間是否存在相同的子特征碼,在子特征碼組之間存在相同的子特征碼時(shí),增加子特征碼長(zhǎng)度,并根據(jù)增加后的子特征碼長(zhǎng)度分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組,直到各子特征碼組之間不存在相同的子特征碼時(shí),執(zhí)行所述以子特征碼為單位對(duì)各子特征碼組進(jìn)行比較的操作。8、根據(jù)權(quán)利要求5所述的數(shù)據(jù)內(nèi)容過濾方法,其特征在于,還包括統(tǒng)計(jì)數(shù)據(jù)報(bào)文的攔截處理結(jié)果與病毒數(shù)據(jù)報(bào)文的攔截情況,在攔截的數(shù)據(jù)報(bào)文中非病毒數(shù)據(jù)報(bào)文數(shù)量超過一定比例時(shí),提高所述另一預(yù)設(shè)值或增加子特征碼長(zhǎng)度,并根據(jù)提高后得到的又一預(yù)設(shè)值或增加后的子特征碼長(zhǎng)度重新構(gòu)造生成有限狀態(tài)自動(dòng)機(jī);在超過一定數(shù)量的病毒數(shù)據(jù)報(bào)文未被攔截時(shí),降低所述另一預(yù)設(shè)值或減小子特征碼長(zhǎng)度,并根據(jù)降低后的再一預(yù)設(shè)值或減小后的子特征碼長(zhǎng)度重新構(gòu)造生成有限狀態(tài)自動(dòng)機(jī)。9、一種有限狀態(tài)自動(dòng)機(jī),其特征在于,所述有限狀態(tài)自動(dòng)機(jī)由特征碼分解得到的子特征碼構(gòu)造生成,所述有限狀態(tài)自動(dòng)機(jī)包括接收模塊,用于接收數(shù)據(jù)報(bào)文;第一查詢模塊,用于對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。10、一種有限狀態(tài)自動(dòng)機(jī)構(gòu)造裝置,其特征在于,包括分解模塊,用于根據(jù)確定的子特征碼長(zhǎng)度,分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組;分組模塊,用于以子特征碼為單位對(duì)各子特征碼組進(jìn)行比較,將相似度達(dá)到另一預(yù)設(shè)值的特征碼設(shè)置為一個(gè)特征碼組;構(gòu)造模塊,用于分別從各特征碼組中選擇一個(gè)特征碼,由選擇出的所有特征碼的子特征碼集合為基礎(chǔ),構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)。11、根據(jù)權(quán)利要求IO所述的有限狀態(tài)自動(dòng)機(jī)構(gòu)造裝置,其特征在于,還包括分析模塊,用于分析所述分解模塊分解得到的各子特征碼組之間是否存在相同的子特征碼,在子特征碼組之間存在相同的子特征碼時(shí),增加子特征碼長(zhǎng)度,并在各子特征碼組之間不存在相同的子特征碼時(shí),指示所述分解模塊根據(jù)增加后的子特征碼長(zhǎng)度分別將特征碼庫(kù)中的各特征碼分解為一個(gè)由多個(gè)子特征碼組成的子特征碼組。12、一種數(shù)據(jù)內(nèi)容過濾裝置,包括有限狀態(tài)自動(dòng)機(jī)與數(shù)據(jù)報(bào)文處理裝置,其特征在于,所述有限狀態(tài)自動(dòng)機(jī)由特征碼分解得到的子特征碼構(gòu)造生成,用于接收數(shù)據(jù)報(bào)文,對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果;所述數(shù)據(jù)報(bào)文處理裝置用于根據(jù)所述查詢結(jié)果,當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行攔截處理。13、根據(jù)權(quán)利要求12所述的數(shù)據(jù)內(nèi)容過濾裝置,其特征在于,所述有限狀態(tài)自動(dòng)機(jī)包括接收模塊,用于接收數(shù)據(jù)報(bào)文;第一查詢模塊,用于對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果。14、根據(jù)權(quán)利要求13所述的數(shù)據(jù)內(nèi)容過濾裝置,其特征在于,所述數(shù)據(jù)報(bào)文處理裝置包括比較模塊,用于根據(jù)所述查詢結(jié)果,比較所述數(shù)據(jù)報(bào)文的子特征碼中數(shù)量是否大于或等于所述預(yù)設(shè)值,并輸出比較結(jié)果;處理模塊,用于根據(jù)所述比較結(jié)果,在所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)所述數(shù)據(jù)報(bào)文進(jìn)行攔截處理;在所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的任何一個(gè)特征碼中相同子特征碼的數(shù)量都小于預(yù)設(shè)值時(shí),放行所述數(shù)據(jù)報(bào)文。15、根據(jù)權(quán)利要求14所述的數(shù)據(jù)內(nèi)容過濾裝置,其特征在于,所述處理模塊包括第一丟棄單元,用于根據(jù)所述比較結(jié)果,在所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),丟棄所述數(shù)據(jù)報(bào)文;當(dāng)所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的任何一個(gè)特征碼中相同子特征碼的數(shù)量都小于預(yù)設(shè)值時(shí),放行所述數(shù)據(jù)報(bào)文;或者,所述處理模塊包括報(bào)警單元,用于根據(jù)所述比較結(jié)杲,在所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),生成并顯示病毒警報(bào);接收單元,用于接收根據(jù)所述病毒警報(bào)發(fā)送的處理指示信息;第二丟棄單元,用于根據(jù)所述處理指示信息放行或丟棄與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同的數(shù)據(jù)報(bào)文,以及在所述數(shù)據(jù)報(bào)文與構(gòu)造生成所述有限狀態(tài)自動(dòng)機(jī)的任何一個(gè)特征碼中相同子特征碼的數(shù)量都小于預(yù)設(shè)值時(shí),放行所述數(shù)據(jù)報(bào)文。16、根據(jù)權(quán)利要求15所述的數(shù)據(jù)內(nèi)容過濾裝置,其特征在于,所述數(shù)據(jù)報(bào)文處理裝置還包括存儲(chǔ)模塊,用于根據(jù)用戶發(fā)送的設(shè)置信息,將放行或丟棄的數(shù)據(jù)報(bào)文中攜帶的發(fā)送方地址相應(yīng)存儲(chǔ)在放行區(qū)或丟棄區(qū);第二查詢模塊,用于接收數(shù)據(jù)報(bào)文,并查詢接收到的接收到的數(shù)據(jù)報(bào)文中的發(fā)送方地址是否存儲(chǔ)在放行區(qū)或丟棄區(qū),若存儲(chǔ)在放行區(qū),則指示所述處理模塊放行該數(shù)據(jù)報(bào)文;若存儲(chǔ)在丟棄區(qū),則指示所述處理模塊丟棄該數(shù)據(jù)報(bào)文;若既不存儲(chǔ)在放行區(qū)也不存儲(chǔ)在丟棄區(qū),則將所述數(shù)據(jù)報(bào)文發(fā)送給所述接收模塊。全文摘要本發(fā)明公開了一種數(shù)據(jù)內(nèi)容過濾方法與裝置、有限狀態(tài)自動(dòng)機(jī)及其構(gòu)造裝置,其中,方法包括有限狀態(tài)自動(dòng)機(jī)接收數(shù)據(jù)報(bào)文,所述有限狀態(tài)自動(dòng)機(jī)由特征碼分解得到的子特征碼構(gòu)造生成;有限狀態(tài)自動(dòng)機(jī)對(duì)接收到的數(shù)據(jù)報(bào)文與構(gòu)造生成該有限狀態(tài)自動(dòng)機(jī)的所有子特征碼進(jìn)行匹配查詢并輸出查詢結(jié)果;根據(jù)查詢結(jié)果,當(dāng)數(shù)據(jù)報(bào)文與構(gòu)造生成有限狀態(tài)自動(dòng)機(jī)的其中一個(gè)特征碼有預(yù)設(shè)值以上的子特征碼相同時(shí),對(duì)數(shù)據(jù)報(bào)文進(jìn)行攔截處理。本發(fā)明實(shí)施例可以實(shí)現(xiàn)對(duì)疑似病毒的過濾,在不增加特征碼庫(kù)的存儲(chǔ)容量與搜索特征碼庫(kù)所需要的開銷、時(shí)間的情況下,避免疑似病毒對(duì)網(wǎng)絡(luò)的安全威脅。文檔編號(hào)H04L29/06GK101414914SQ200810227320公開日2009年4月22日申請(qǐng)日期2008年11月26日優(yōu)先權(quán)日2008年11月26日發(fā)明者黃凱明申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司