專利名稱:入侵檢測和防護的方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,尤其涉及一種入侵檢測和防護的方法及設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的不斷普及,網(wǎng)絡(luò)安全問題日益凸顯,各種網(wǎng)絡(luò)安全設(shè)備也應(yīng)運而生。防火墻是一種出現(xiàn)得比較早的網(wǎng)絡(luò)安全設(shè)備,架設(shè)在網(wǎng)絡(luò)出口,用于防止來自于網(wǎng)絡(luò)外部的攻擊,但不能防止網(wǎng)絡(luò)內(nèi)部人員的攻擊。為了彌補防火墻應(yīng)用協(xié)議檢查的不足,人們開發(fā)出入侵檢測系統(tǒng)(Intrusion Detection Systems, IDS)和入侵防御系統(tǒng)(IntrusionPrevention System, IPS),為網(wǎng)絡(luò)提供實時的監(jiān)控,在發(fā)現(xiàn)入侵的初期采取相應(yīng)的防護手段?,F(xiàn)有的IPS/IDS中,對網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù),在傳輸層對所有數(shù)據(jù)包進(jìn)行會話流重 組,再對會話流信息與攻擊特征庫進(jìn)行規(guī)則匹配,以發(fā)現(xiàn)和防御一些攻擊行為和攻擊企圖。然而,這種方法需要處理大量的數(shù)據(jù),從而降低了入侵檢測的有效性和準(zhǔn)確性。
發(fā)明內(nèi)容
本發(fā)明提供一種入侵檢測和防護的方法及設(shè)備,以提高安全檢測的有效性和準(zhǔn)確性。為實現(xiàn)本發(fā)明的目的,一方面,本發(fā)明提供了一種入侵檢測和防護的方法,包括在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù)據(jù);在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù);在所述應(yīng)用層對所述第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù);在所述應(yīng)用層對所述第四數(shù)據(jù)進(jìn)行檢測。另一方面,本發(fā)明還提供了一種入侵檢測和防護的設(shè)備,包括傳輸層處理模塊,用于在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù)據(jù);應(yīng)用層解碼模塊,用于在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù);會話重組模塊,用于在所述應(yīng)用層對所述第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù);檢測模塊,用于在所述應(yīng)用層對所述第四數(shù)據(jù)進(jìn)行檢測。本發(fā)明提供一種入侵檢測和防護的方法及設(shè)備,通過在傳輸層對數(shù)據(jù)包進(jìn)行解碼和過濾,在應(yīng)用層對數(shù)據(jù)包進(jìn)行會話流重組,減少了處理的數(shù)據(jù)量,從而提高了入侵檢測的有效性和準(zhǔn)確性。
圖I為本發(fā)明的入侵檢測和防護的方法的實施例的流程圖;圖2為本發(fā)明的入侵檢測和防護的方法的又一實施例的流程圖3為本發(fā)明的入侵檢測和防護的方法的又一實施例的流程圖;圖4為本發(fā)明的入侵檢測和防護的設(shè)備的實施例的結(jié)構(gòu)圖;圖5為本發(fā)明的入侵檢測和防護的設(shè)備的又一實施例的結(jié)構(gòu)圖。
具體實施例方式下面結(jié)合附圖與實施例對本發(fā)明做進(jìn)一步的描述。圖I為本發(fā)明的入侵檢測和防護的方法的實施例的流程圖,如圖I所示,本實施例具體可適用于對網(wǎng)絡(luò)傳輸數(shù)據(jù)的入侵檢測,可以由實施入侵檢測的一個或多個網(wǎng)元來執(zhí)行,或由獨立的網(wǎng)元執(zhí)行,這些網(wǎng)元可以通過軟件和/或硬件的形式來實現(xiàn)入侵檢測,例如可以由基于IPS/IDS架構(gòu)的檢測系統(tǒng)來執(zhí)行,本實施例的入侵檢測和防護的方法具體包括 Sll :在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù)據(jù);數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,需要經(jīng)過編碼,并且依據(jù)一定的網(wǎng)絡(luò)協(xié)議進(jìn)行傳輸。編碼過程通常是將數(shù)據(jù)從高層向低層逐層添加數(shù)據(jù)頭,解碼過程是從開放系統(tǒng)互連模型(OpenSystem Interconnection, 0SI)的低層至高層逐層解碼去掉數(shù)據(jù)頭來解析出數(shù)據(jù)。本實施例中,第一數(shù)據(jù)依次經(jīng)過傳輸層的以太層、網(wǎng)絡(luò)之間互連的協(xié)議(InternetProtocol, IP)層和傳輸控制協(xié)議(Transmission Control Protocol, TCP)層,依次經(jīng)過以太層解碼和以太層過濾、IP層解碼和IP層過濾以及TCP層解碼和TCP層過濾,得到第二數(shù)據(jù),然后第二數(shù)據(jù)傳輸至應(yīng)用層。上述的解碼操作可以是指根據(jù)請求評議(Request ForComments, RFC)規(guī)范、網(wǎng)絡(luò)協(xié)議分析技術(shù)(如,沒有RFC文檔規(guī)范的協(xié)議)結(jié)合實際需求,對協(xié)議數(shù)據(jù)進(jìn)行各字段的解析。上述過濾操作可以是指濾除數(shù)據(jù)流中畸形、重疊、空洞和亂序等數(shù)據(jù)包。例如接收的數(shù)據(jù)包中,包含了兩個相同序列號的TCP數(shù)據(jù)包,則可以丟棄其中一個。S12 :在應(yīng)用層對第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù);S13 :在應(yīng)用層對第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù)。應(yīng)用層設(shè)備接收到第二數(shù)據(jù),對該數(shù)據(jù)進(jìn)行應(yīng)用層解碼,得到第三數(shù)據(jù)。在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)均以數(shù)據(jù)包的形式進(jìn)行傳輸,只有將一次會話的多個數(shù)據(jù)包重組后形成一個完整的數(shù)據(jù),還原為一次完整的會話。數(shù)據(jù)傳輸至應(yīng)用層時,仍然可以獲取到數(shù)據(jù)包在傳輸層的相關(guān)信息,例如TCP數(shù)據(jù)的會話重組,按照TCP數(shù)據(jù)包序列號進(jìn)行重組;對于用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)數(shù)據(jù)包,由于UDP不提供數(shù)據(jù)包分組、組裝,不能對數(shù)據(jù)包進(jìn)行排序,因此可直接按照收到UDP數(shù)據(jù)包的先后順序進(jìn)行會話重組。本實施中,在應(yīng)用層對第三數(shù)據(jù)進(jìn)行重組,形成完整的會話流,得到第四數(shù)據(jù)。S14 :在應(yīng)用層對第四數(shù)據(jù)進(jìn)行檢測。第四數(shù)據(jù)為完整的會話流,在應(yīng)用層上通過對該完整的會話流與攻擊特征庫進(jìn)行匹配,以發(fā)現(xiàn)該會話流中是否存在攻擊行為或者攻擊企圖,對存在攻擊行為或者攻擊企圖會話流采取數(shù)據(jù)隔離或者刪除等措施,保障網(wǎng)絡(luò)安全。其中,攻擊特征庫可以為各個公司、組織或者機構(gòu),根據(jù)自身業(yè)務(wù)及網(wǎng)絡(luò)的特點,設(shè)置的各自的規(guī)則特征庫,用于檢測與其自身相關(guān)的網(wǎng)絡(luò)行為,包括攻擊行為和常規(guī)的網(wǎng)絡(luò)通訊行為等。會話流與攻擊特征庫的匹配可以通過會話流代碼與攻擊特征庫中的代碼進(jìn)行對比來完成。
本實施例的技術(shù)方案,在傳輸層對數(shù)據(jù)進(jìn)行解碼以及濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包后發(fā)送至應(yīng)用層,以及在經(jīng)過應(yīng)用層解碼后進(jìn)行會話流重組,形成完整的會話流,再通過對該完整的會話流與攻擊特征庫進(jìn)行匹配,以發(fā)現(xiàn)該會話流中是否存在攻擊行為或者攻擊企圖,對存在攻擊行為或者攻擊企圖會話流采取數(shù)據(jù)隔離或者刪除等措施,保障網(wǎng)絡(luò)安全。由于應(yīng)用層為最高層,傳輸至該層的數(shù)據(jù)較其他各層的數(shù)據(jù)量小,例如,在以太網(wǎng)中,最大傳輸單兀(Maximum Transmission Unit,MTU)為1500個字節(jié)。在一個IP包中,去除IP包頭的20個字節(jié),可以傳輸?shù)淖畲髷?shù)據(jù)長度為1480字節(jié);在TCP包中,去除20個字節(jié)的TCP包頭,可以傳輸?shù)淖畲髷?shù)據(jù)長度為1460個字節(jié),而這1460個字節(jié)的數(shù)據(jù)中除有效地數(shù)據(jù)外還包括應(yīng)用層協(xié)議信息。此外,還對數(shù)據(jù)進(jìn)行過濾,濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包,因此,減少了進(jìn)行安全檢測匹配的數(shù)據(jù)量,從而提高了入侵檢測的有效性和準(zhǔn)確性。圖2為本發(fā)明的入侵檢測和防護的方法的又一實施例的流程圖,如圖2所示,本實施例的入侵檢測和防護的方法具體包括S21 :在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù)據(jù)。 數(shù)據(jù)在網(wǎng)絡(luò)中傳輸,需要經(jīng)過編碼,并且依據(jù)一定的網(wǎng)絡(luò)協(xié)議進(jìn)行傳輸。編碼過程通常是將數(shù)據(jù)從高層向低層逐層添加數(shù)據(jù)頭,解碼過程是從OSI的低層至高層逐層解碼去掉數(shù)據(jù)頭來解析出數(shù)據(jù)。本實施例中,第一數(shù)據(jù)依次經(jīng)過傳輸層的以太層、IP層和TCP層,依次經(jīng)過以太層解碼和以太層過濾、IP層解碼和IP層過濾以及TCP層解碼和TCP層過濾,得到第二數(shù)據(jù)(請參照圖3)。上述的解碼操作可以是指根據(jù)RFC規(guī)范、網(wǎng)絡(luò)協(xié)議分析技術(shù)(如,沒有RFC文檔規(guī)范的協(xié)議)結(jié)合實際需求,對協(xié)議數(shù)據(jù)進(jìn)行各字段的解析。上述過濾操作可以是指濾除數(shù)據(jù)流中畸形、重疊、空洞和亂序等數(shù)據(jù)包。例如接收的數(shù)據(jù)包中,包含了兩個相同序列號的TCP數(shù)據(jù)包,則可以丟棄其中一個。S22 :在傳輸層對第一數(shù)據(jù)或第二數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,該協(xié)議識別結(jié)果包括第一數(shù)據(jù)或第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議。在傳輸層通過對第一數(shù)據(jù)或者第二數(shù)據(jù)進(jìn)行協(xié)議識別。如圖3所示,在TCP層對第一數(shù)據(jù)進(jìn)行協(xié)議識別??梢岳斫獾氖?,協(xié)議識別步驟還可以在TCP過濾之后對第二數(shù)據(jù)進(jìn)行,也可以在應(yīng)用層對第二數(shù)據(jù)或第三數(shù)據(jù)進(jìn)行協(xié)議識別。一種可實施的方式是,監(jiān)視第一數(shù)據(jù)或者第二數(shù)據(jù)的每一個數(shù)據(jù)包,通過個數(shù)據(jù)包的傳輸端口信息確認(rèn)數(shù)據(jù)包所采用的應(yīng)用層協(xié)議。例如,HTTP協(xié)議數(shù)據(jù)包使用80號端口,F(xiàn)TP協(xié)議數(shù)據(jù)包使用20和21號端口,SMTP協(xié)議數(shù)據(jù)包使用25號端口,pop3協(xié)議數(shù)據(jù)包使用110號端口。此外,還可以通過檢測特征數(shù)據(jù)來識別第一數(shù)據(jù)或第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議,例如,只有HTTP協(xié)議數(shù)據(jù)包括Hosts字段。協(xié)議識別得到第一數(shù)據(jù)或者第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議,以對采用不同應(yīng)用層協(xié)議的數(shù)據(jù)有選擇性的進(jìn)行安全檢測匹配。例如,通過協(xié)議識別,得到第一數(shù)據(jù)或者第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議包括HTTP (Hypertext Transport Protocol,超文本傳送協(xié)議)協(xié)議、FTP (File Transfer Protocol,文件傳輸協(xié)議)協(xié)議、SMTP (Simple Mail TransferProtocol,簡單郵件傳輸協(xié)議)協(xié)議以及自定義協(xié)議。S23 :在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù)。將第二數(shù)據(jù)發(fā)送至應(yīng)用層,并在應(yīng)用層對第二數(shù)據(jù)進(jìn)行應(yīng)用層解碼,即根據(jù)RFC規(guī)范、應(yīng)用層網(wǎng)絡(luò)協(xié)議分析技術(shù)(如,沒有RFC文檔規(guī)范的協(xié)議)結(jié)合實際需求,對數(shù)據(jù)進(jìn)行各字段的解析,得到第三數(shù)據(jù)。需要說明的是,S22的協(xié)議識別步驟為可選步驟,作為另一種可行的實施方式,還可以在S23之后,在應(yīng)用層對第二數(shù)據(jù)或第三數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,該協(xié)議識別結(jié)果包括第二數(shù)據(jù)或第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議,以對采用不同應(yīng)用層協(xié)議的數(shù)據(jù)有選擇性的進(jìn)行安全檢測匹配。S24:在傳輸層或應(yīng)用層,根據(jù)協(xié)議識別結(jié)果生成會話重組協(xié)議列表,會話重組協(xié)議列表中包括進(jìn)行會話流重組的協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議。在將第二數(shù)據(jù)發(fā)送至應(yīng)用層之前,在傳輸層通過對第一數(shù)據(jù)或者第二數(shù)據(jù)進(jìn)行協(xié)議識別,得到第一數(shù)據(jù)或者第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議,或者,在將第二數(shù)據(jù)發(fā)送至應(yīng)用層之后,在應(yīng)用層通過對第二數(shù)據(jù)或者第三數(shù)據(jù)進(jìn)行協(xié)議識別,得到第二數(shù)據(jù)或者第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議。相應(yīng)的在傳輸層或者應(yīng)用層,根據(jù)協(xié)議識別結(jié)果生成會話重組協(xié)議列表,以在應(yīng)用層對第三數(shù)據(jù)中與會話重組協(xié)議列表中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù)。例如,協(xié)議識別的結(jié)果包括=HTTP協(xié)議、FTP協(xié)議 和SMTP協(xié)議,根據(jù)該結(jié)果生成的會話重組協(xié)議列表只包括了 FTP協(xié)議,以根據(jù)該會話重組協(xié)議列表只對采用FTP協(xié)議的數(shù)據(jù)進(jìn)行會話流重組。S25:在應(yīng)用層對第三數(shù)據(jù)中與會話重組協(xié)議列表中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù)。在應(yīng)用層根據(jù)會話重組協(xié)議列表,對采用該列表中應(yīng)用層協(xié)議的第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù),以有針對性有選擇性的對數(shù)據(jù)進(jìn)行安全檢測匹配。例如,第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議包括=HTTP協(xié)議、FTP協(xié)議、SMTP協(xié)議以及自定義協(xié)議,而會話重組協(xié)議列表中僅包含HTTP協(xié)議一種,則只對采用HTTP協(xié)議的數(shù)據(jù)進(jìn)行會話流重組,而不對采用FTP協(xié)議、SMTP協(xié)議和自定義協(xié)議的數(shù)據(jù)進(jìn)行任何操作,則減少了安全檢測匹配的處理數(shù)據(jù)量。會話流重組是將一個數(shù)據(jù)的多個數(shù)據(jù)包重組后形成一個完整的數(shù)據(jù),還原為一次完整的會話。數(shù)據(jù)傳輸至應(yīng)用層時,仍然可以獲取到數(shù)據(jù)報在傳輸層的相關(guān)信息,例如TCP數(shù)據(jù)的會話重組,按照TCP數(shù)據(jù)包序列號進(jìn)行重組;對于UDP數(shù)據(jù)包,由于UDP不提供數(shù)據(jù)包分組、組裝,不能對數(shù)據(jù)包進(jìn)行排序,因此可直接按照收到UDP數(shù)據(jù)包的先后順序進(jìn)行會話重組。S26 :在所述應(yīng)用層對所述第四數(shù)據(jù)進(jìn)行檢測。第四數(shù)據(jù)為完整的會話流,在應(yīng)用層上通過對該完整的會話流與攻擊特征庫進(jìn)行匹配,以發(fā)現(xiàn)該會話流中是否存在攻擊行為或者攻擊企圖,對存在攻擊行為或者攻擊企圖會話流采取數(shù)據(jù)隔離或者刪除等措施,保障網(wǎng)絡(luò)安全。其中,攻擊特征庫可以為各個公司、組織或者機構(gòu),根據(jù)自身業(yè)務(wù)及網(wǎng)絡(luò)的特點,設(shè)置的各自的規(guī)則特征庫,用于檢測與其自身相關(guān)的網(wǎng)絡(luò)行為,包括攻擊行為和常規(guī)的網(wǎng)絡(luò)通訊行為等。會話流與攻擊特征庫的匹配可以通過會話流代碼與攻擊特征庫中的代碼進(jìn)行對比來完成。較佳的,本實施例中的協(xié)議識別結(jié)果可以以協(xié)議列表表不,協(xié)議列表中包括至少
一種應(yīng)用層協(xié)議。本實施例的技術(shù)方案,在傳輸層對數(shù)據(jù)進(jìn)行解碼以及濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包后發(fā)送至應(yīng)用層,以及在經(jīng)過應(yīng)用層解碼后有針對性選擇性的對數(shù)據(jù)進(jìn)行會話流重組,形成完整的會話流,再通過對該完整的會話流與攻擊特征庫進(jìn)行匹配,以發(fā)現(xiàn)該會話流中是否存在攻擊行為或者攻擊企圖,對存在攻擊行為或者攻擊企圖會話流采取數(shù)據(jù)隔離或者刪除等措施,保障網(wǎng)絡(luò)安全。由于應(yīng)用層為最高層,傳輸至該層的數(shù)據(jù)較其他各層的數(shù)據(jù)量小,此外還對數(shù)據(jù)進(jìn)行過濾濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包,以及根據(jù)會話流重組協(xié)議列表有針對性選擇性的進(jìn)行會話流重組,因此,減少了進(jìn)行安全檢測匹配的數(shù)據(jù)量,從而提聞了入侵檢測的有效性和準(zhǔn)確性。圖4為本發(fā)明的入侵檢測和防護的設(shè)備的實施例的結(jié)構(gòu)圖,如圖4所示,本實施例的入侵檢測和防護的設(shè)備,包括傳輸層處理模塊1,應(yīng)用層解碼模塊2,會話重組模塊3和檢測模塊4。傳輸層處理模塊1,用于在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù) 據(jù);應(yīng)用層解碼模塊2,用于在應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù);會話重組模塊3,用于在應(yīng)用層對第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù);檢測模塊4,用于在應(yīng)用層對第四數(shù)據(jù)進(jìn)行檢測。本實施例的技術(shù)方案,傳輸層處理模塊I在傳輸層對第一數(shù)據(jù)進(jìn)行解碼以及濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包后得到第二數(shù)據(jù),第二數(shù)據(jù)傳輸至應(yīng)用層,應(yīng)用層解碼模塊2對第二數(shù)據(jù)進(jìn)行應(yīng)用層解碼得到第三數(shù)據(jù),會話重組模塊3對第三數(shù)據(jù)進(jìn)行會話流重組,形成完整的會話流,即第四數(shù)據(jù),再通過檢測模塊4對該完整的會話流與攻擊特征庫進(jìn)行匹配,以發(fā)現(xiàn)該會話流中是否存在攻擊行為或者攻擊企圖,對存在攻擊行為或者攻擊企圖會話流采取數(shù)據(jù)隔離或者刪除等措施,保障網(wǎng)絡(luò)安全。由于應(yīng)用層為最高層,傳輸至該層的數(shù)據(jù)較其他各層的數(shù)據(jù)量小,例如,在以太網(wǎng)中,最大傳輸單元(Maximum TransmissionUnit,MTU)為1500個字節(jié)。在一個IP包中,去除IP包頭的20個字節(jié),可以傳輸?shù)淖畲髷?shù)據(jù)長度為1480字節(jié);在TCP包中,去除20個字節(jié)的TCP包頭,可以傳輸?shù)淖畲髷?shù)據(jù)長度為1460個字節(jié),而這1460個字節(jié)的數(shù)據(jù)中除有效地數(shù)據(jù)外還包括應(yīng)用層協(xié)議信息。此外還對數(shù)據(jù)進(jìn)行過濾濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包,因此,減少了進(jìn)行安全檢測匹配的數(shù)據(jù)量,從而提高了入侵檢測的有效性和準(zhǔn)確性。圖5為本發(fā)明的入侵檢測和防護的設(shè)備的又一實施例的結(jié)構(gòu)圖,如圖5所示,在上述實施例的基礎(chǔ)上,本實施例的入侵檢測和防護的設(shè)備還包括協(xié)議識別模塊5,用于在應(yīng)用層對第二數(shù)據(jù)進(jìn)行解碼之前,在傳輸層對第一數(shù)據(jù)或第二數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,該協(xié)議識別結(jié)果包括第一數(shù)據(jù)或第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議;或者,用于在應(yīng)用層對第二數(shù)據(jù)進(jìn)行解碼之后,在應(yīng)用層對第二數(shù)據(jù)或第三數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,該協(xié)議識別結(jié)果包括第二數(shù)據(jù)或第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議。在應(yīng)用層對第二數(shù)據(jù)進(jìn)行解碼之前,協(xié)議識別模塊5在應(yīng)用層通過對第一數(shù)據(jù)或者第二數(shù)據(jù)進(jìn)行協(xié)議識別,得到第一數(shù)據(jù)或者第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議,或者在應(yīng)用層對第二數(shù)據(jù)進(jìn)行解碼之后,協(xié)議識別模塊5在應(yīng)用層通過對第二數(shù)據(jù)或者第三數(shù)據(jù)進(jìn)行協(xié)議識別,得到第二數(shù)據(jù)或者第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議,以對采用不同應(yīng)用層協(xié)議的數(shù)據(jù)有選擇性的進(jìn)行安全檢測匹配。可選的,該協(xié)議識別結(jié)果以協(xié)議列表表示,該協(xié)議列表中包括至少一種應(yīng)用層協(xié)議。優(yōu)選的,會話重組模塊3具體用于在應(yīng)用層對第三數(shù)據(jù)中與該協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組。根據(jù)協(xié)議識別模塊5的識別結(jié)果,在應(yīng)用層對第三數(shù)據(jù)進(jìn)行協(xié)議選擇,選擇其中至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)由會話重組模塊3進(jìn)行會話流重組,得到第四數(shù)據(jù)。例如,從協(xié)議識別后得到第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議=HTTP協(xié)議、FTP協(xié)議和SMTP協(xié)議中,只選擇采用HTTP協(xié)議的數(shù)據(jù)進(jìn)行會話流重組,而不對采用FTP和SMTP協(xié)議的數(shù)據(jù)進(jìn)行任何操作,則減少了安全檢測匹配的處理數(shù)據(jù)量。會話流重組是將一個數(shù)據(jù)的多個數(shù)據(jù)包重組后形成一個完整的數(shù)據(jù),還原為一次完整的會話。數(shù)據(jù)傳輸至應(yīng)用層時,仍然可以獲取到數(shù)據(jù)報在傳輸層的相關(guān)信息,例如TCP數(shù)據(jù)的會話重組,按照TCP數(shù)據(jù)包序列號進(jìn)行重組;對于UDP數(shù)據(jù)包,由于UDP不提供數(shù)據(jù)包分組、組裝,不能對數(shù)據(jù)包進(jìn)行排序,因此可直接按照收到UDP數(shù)據(jù)包的先后順序進(jìn)行會話重組。
作為一種可實施方式,會話重組模塊3包括協(xié)議選擇單元31和會話重組單元32。協(xié)議選擇單元31,用于在傳輸層或應(yīng)用層,根據(jù)該協(xié)議識別結(jié)果生成會話重組協(xié)議列表,會話重組協(xié)議列表中包括進(jìn)行會話流重組的協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議;會話重組單元32,用于在應(yīng)用層對第三數(shù)據(jù)中與會話重組協(xié)議列表中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組。在將第二數(shù)據(jù)發(fā)送至應(yīng)用層之前,協(xié)議選擇單元31在傳輸層通過對第一數(shù)據(jù)或者第二數(shù)據(jù)進(jìn)行協(xié)議識別,得到第一數(shù)據(jù)或者第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議,或者,在將第二數(shù)據(jù)發(fā)送至應(yīng)用層之后,協(xié)議選擇單元31在應(yīng)用層通過對第二數(shù)據(jù)或者第三數(shù)據(jù)進(jìn)行協(xié)議識別,得到第二數(shù)據(jù)或者第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議。相應(yīng)的在傳輸層或者應(yīng)用層,協(xié)議選擇單元31根據(jù)協(xié)議識別結(jié)果生成會話重組協(xié)議列表,會話重組協(xié)議列表中包括協(xié)議識別結(jié)果中的至少一種應(yīng)用層協(xié)議。會話重組單元32則根據(jù)協(xié)議選擇單元31生成的會話重組協(xié)議列表,對采用該列表中應(yīng)用層協(xié)議的第三數(shù)據(jù)進(jìn)行會話流重組,以有針對性有選擇性的對數(shù)據(jù)進(jìn)行安全檢測匹配。本實施例的技術(shù)方案中,在傳輸層對數(shù)據(jù)進(jìn)行解碼以及濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包后發(fā)送至應(yīng)用層,以及在經(jīng)過應(yīng)用層解碼后有針對性選擇性的對數(shù)據(jù)進(jìn)行會話流重組,形成完整的會話流,再通過對該完整的會話流與攻擊特征庫進(jìn)行匹配,以發(fā)現(xiàn)該會話流中是否存在攻擊行為或者攻擊企圖,對存在攻擊行為或者攻擊企圖會話流采取數(shù)據(jù)隔離或者刪除等措施,保障網(wǎng)絡(luò)安全。由于應(yīng)用層為最高層,傳輸至該層的數(shù)據(jù)較其他各層的數(shù)據(jù)量小,此外還對數(shù)據(jù)進(jìn)行過濾濾除畸形、重疊、空洞和亂序等數(shù)據(jù)包,以及根據(jù)會話流重組協(xié)議列表有針對性選擇性的進(jìn)行會話流重組,因此,減少了進(jìn)行安全檢測匹配的數(shù)據(jù)量,從而提高了入侵檢測的有效性和準(zhǔn)確性。本發(fā)明提供的入侵檢測和防護的設(shè)備實施例,與本發(fā)明提供的入侵檢測和防護的方法的實施例相對應(yīng),為本發(fā)明提供的入侵檢測和防護的方法的執(zhí)行設(shè)備,其具體結(jié)構(gòu)及結(jié)構(gòu)中各部分執(zhí)行的操作可參見方法實施例,在此不再贅述。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征 進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種入侵檢測和防護的方法,其特征在于,包括 在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù)據(jù); 在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù); 在所述應(yīng)用層對所述第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù); 在所述應(yīng)用層對所述第四數(shù)據(jù)進(jìn)行檢測。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼之前,還包括 在所述傳輸層對所述第一數(shù)據(jù)或第二數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,所述協(xié)議識別結(jié)果包括所述第一數(shù)據(jù)或第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議; 或者,所述在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼之后,還包括 在所述應(yīng)用層對所述第二數(shù)據(jù)或第三數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,所述協(xié)議識別結(jié)果包括所述第二數(shù)據(jù)或所述第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述協(xié)議識別結(jié)果以協(xié)議列表表示,所述協(xié)議列表中包括至少一種應(yīng)用層協(xié)議。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述在所述應(yīng)用層對所述第三數(shù)據(jù)進(jìn)行會話流重組,包括 在所述應(yīng)用層對所述第三數(shù)據(jù)中與所述協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述在所述應(yīng)用層對所述第三數(shù)據(jù)中與所述協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組,包括 在所述傳輸層或所述應(yīng)用層,根據(jù)所述協(xié)議識別結(jié)果生成會話重組協(xié)議列表,所述會話重組協(xié)議列表中包括進(jìn)行會話流重組的所述協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議; 在所述應(yīng)用層對所述第三數(shù)據(jù)中與所述會話重組協(xié)議列表中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組。
6.—種入侵檢測和防護的設(shè)備,其特征在于,包括 傳輸層處理模塊,用于在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù)據(jù); 應(yīng)用層解碼模塊,用于在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù); 會話重組模塊,用于在所述應(yīng)用層對所述第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù); 檢測模塊,用于在所述應(yīng)用層對所述第四數(shù)據(jù)進(jìn)行檢測。
7.根據(jù)權(quán)利要求6所述的設(shè)備,其特征在于,還包括 協(xié)議識別模塊,用于所述在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼之前,在所述傳輸層對所述第一數(shù)據(jù)或第二數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,所述協(xié)議識別結(jié)果包括所述第一數(shù)據(jù)或第二數(shù)據(jù)所采用的應(yīng)用層協(xié)議; 或者,用于所述在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼之后,在所述應(yīng)用層對所述第二數(shù)據(jù)或第三數(shù)據(jù)進(jìn)行協(xié)議識別,得到協(xié)議識別結(jié)果,所述協(xié)議識別結(jié)果包括所述第二數(shù)據(jù)或所述第三數(shù)據(jù)所采用的應(yīng)用層協(xié)議。
8.根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述協(xié)議識別結(jié)果以協(xié)議列表表示,所述協(xié)議列表中包括至少一種應(yīng)用層協(xié)議。
9.根據(jù)權(quán)利要求7或8所述的設(shè)備,其特征在于,所述會話重組模塊具體用于在所述應(yīng)用層對所述第三數(shù)據(jù)中與所述協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組。
10.根據(jù)權(quán)利要求9所述設(shè)備,其特征在于,所述會話重組模塊包括 協(xié)議選擇單元,用于在所述傳輸層或所述應(yīng)用層,根據(jù)所述協(xié)議識別結(jié)果生成會話重組協(xié)議列表,所述會話重組協(xié)議列表中包括進(jìn)行會話流重組的所述協(xié)議識別結(jié)果中包括的至少一種應(yīng)用層協(xié)議; 會話重組單元,用于在所述應(yīng)用層對所述第三數(shù)據(jù)中與所述會話重組協(xié)議列表中包括的至少一種應(yīng)用層協(xié)議對應(yīng)的數(shù)據(jù)進(jìn)行會話流重組。
全文摘要
本發(fā)明提供一種入侵檢測和防護的方法及設(shè)備。該方法包括在傳輸層對接收的第一數(shù)據(jù)進(jìn)行解碼和過濾,得到第二數(shù)據(jù);在所述應(yīng)用層對所述第二數(shù)據(jù)進(jìn)行解碼,得到第三數(shù)據(jù);在所述應(yīng)用層對所述第三數(shù)據(jù)進(jìn)行會話流重組,得到第四數(shù)據(jù);在所述應(yīng)用層對所述第四數(shù)據(jù)進(jìn)行檢測。該設(shè)備包括傳輸層處理模塊,應(yīng)用層解碼模塊,會話重組模塊和檢測模塊。通過在傳輸層對數(shù)據(jù)包進(jìn)行解碼和過濾,在應(yīng)用層對數(shù)據(jù)包進(jìn)行會話流重組,減少了處理的數(shù)據(jù)量,從而提高了入侵檢測的有效性和準(zhǔn)確性。
文檔編號H04L12/26GK102833263SQ20121033048
公開日2012年12月19日 申請日期2012年9月7日 優(yōu)先權(quán)日2012年9月7日
發(fā)明者劉水生, 段宇璇 申請人:北京神州綠盟信息安全科技股份有限公司, 北京神州綠盟科技有限公司