日韩中文字幕久久久97都市激情,久久91网,亚洲天堂最新,国产精品嫩草影院九色,亚洲午夜精品一本二本,精品少妇一区二区三区蜜桃,av一道本

基于安全檢測的數據流獲取方法及裝置的制造方法

文檔序號:10555572閱讀:429來源:國知局
基于安全檢測的數據流獲取方法及裝置的制造方法
【專利摘要】本申請提供一種基于安全檢測的數據流獲取方法及裝置,其中,該方法包括:在接收到待檢測數據包之后,對該待檢測數據包進行鏡像,將鏡像數據包保存到緩存模塊中,將該待檢測數據包與規則庫中的安全檢測規則進行匹配,其中,安全檢測規則用于檢測數據包是否為惡意數據包;當該待檢測數據包命中安全檢測規則時,獲取該待檢測數據包的相關信息,該相關信息包括:該待檢測數據包的五元組信息;根據該相關信息,從緩存模塊中讀取該鏡像數據包所在的第一數據流,以及該第一數據流的上下文數據流。本申請能夠獲取到命中規則的惡意數據包、該惡意數據包所在數據流及其上下文數據流,根據這些數據流提供的完整攻擊信息,可以得到更加準確的分析結果。
【專利說明】
基于安全檢測的數據流獲取方法及裝置
技術領域
[0001] 本申請涉及網絡安全技術領域,特別涉及一種基于安全檢測的數據流獲取方法及 裝置。
【背景技術】
[0002] 為了維護網絡安全,通常會在內部網絡與外部網絡之間、或者在不同信任域網絡 之間,部署網絡安全設備,來對要進入被保護網絡的數據流進行安全檢測,并對檢測出的惡 意報文進行相應處理。現有的網絡安全設備主要有:IPS(Intrusion Prevention System, 入侵防御系統)設備和防火墻設備等。
[0003] 目前,網絡安全設備對數據包進行安全檢測的方法如下:在網絡安全設備中配置 有規則庫,該規則庫中包含有大量的安全檢測規則。數據包進入網絡安全設備之后,網絡安 全設備會將該數據包與規則庫中的各個安全檢測規則進行匹配,當數據包命中一安全檢測 規則時,確定該數據包為惡意數據包,即,該數據包可能是攻擊數據包或異常數據包等,并 記錄此次攻擊事件(或攻擊日志)。
[0004] 為了便于進一步對檢測到的攻擊事件進行分析,網絡安全設備一般還具有抓包功 能。可以針對規則庫中的不同安全檢測規則,開啟對應的抓包功能。例如,針對安全檢測規 貝IJl開啟了抓包功能,當數據包命中安全檢測規則1時,實時抓取到該命中安全檢測規則1的 數據包,以便根據抓取到的數據包對此次攻擊事件進行進一步分析。
[0005] 現有的網絡安全設備只能抓取到命中規則的那一個數據包,而這個數據包所能提 供的攻擊信息是有限的、不完整的,因此,僅根據這一個數據包進行分析得到的分析結果有 可能是不準確的。

【發明內容】

[0006] 有鑒于此,本申請提供一種基于安全檢測的數據流獲取方法及裝置。
[0007] 具體地,本申請是通過如下技術方案實現的:
[0008] -方面,提供了一種基于安全檢測的數據流獲取方法,該方法包括:
[0009]在接收到待檢測數據包之后,對該待檢測數據包進行鏡像,將鏡像數據包保存到 緩存模塊中,將該待檢測數據包與規則庫中的安全檢測規則進行匹配,其中,安全檢測規則 用于檢測數據包是否為惡意數據包;
[0010]當該待檢測數據包命中安全檢測規則時,獲取該待檢測數據包的相關信息,該相 關信息包括:該待檢測數據包的五元組信息;
[0011]根據獲取到的相關信息,從緩存模塊中讀取該鏡像數據包所在的第一數據流,以 及該第一數據流的上下文數據流。
[0012] 另一方面,還提供了一種基于安全檢測的數據流獲取裝置,該裝置包括:
[0013] 接收模塊,用于接收待檢測數據包;
[0014] 鏡像模塊,用于在接收模塊接收到待檢測數據包之后,對該待檢測數據包進行鏡 像,將鏡像數據包保存到緩存模塊中;
[0015] 緩存模塊,用于保存鏡像數據包;
[0016] 檢測模塊,用于將該待檢測數據包與規則庫中的安全檢測規則進行匹配,其中,安 全檢測規則用于檢測數據包是否為惡意數據包;
[0017] 信息獲取模塊,用于當檢測模塊檢測到該待檢測數據包命中安全檢測規則時,獲 取該待檢測數據包的相關信息,該相關信息包括:該待檢測數據包的五元組信息;
[0018] 數據流獲取模塊,用于根據信息獲取模塊獲取到的相關信息,從緩存模塊中讀取 該鏡像數據包所在的第一數據流,以及該第一數據流的上下文數據流。
[0019] 通過本申請的以上技術方案,在對待檢測數據包進行安全檢測之前,先對該待檢 測數據包進行鏡像得到鏡像數據包,之后,將該鏡像數據包保存到緩存模塊中,當檢測到該 待檢測數據包為惡意數據包時,獲取該待檢測數據包的相關信息,即可從緩存模塊中讀取 該待檢測數據包的鏡像數據包所在的第一數據流,還可以從緩存模塊中讀取該第一數據流 的上下文數據流,從而,不僅獲取到了命中規則的惡意數據包,還獲取到了該惡意數據包所 在數據流及其上下文數據流。由于獲取到了惡意數據包所在數據流及其上下文數據流,這 些數據流能夠提供完整的攻擊信息,因此,根據這些完整的攻擊信息進行分析得到的分析 結果也更加準確。
【附圖說明】
[0020] 圖1是本申請一示例性實施例示出的基于安全檢測的數據流獲取方法的流程圖;
[0021] 圖2是本申請一示例性實施例示出的讀取數據流的處理流程圖;
[0022] 圖3是本申請一示例性實施例示出的發送讀取到的數據流的處理流程圖;
[0023] 圖4是本申請一示例性實施例示出的基于安全檢測的數據流獲取裝置的一種結構 示意圖;
[0024] 圖5是本申請一示例性實施例示出的基于安全檢測的數據流獲取裝置的另一種結 構示意圖;
[0025] 圖6是本申請一示例性實施例示出的基于安全檢測的數據流獲取裝置的又一種結 構示意圖;
[0026] 圖7是本申請一示例性實施例示出的基于安全檢測的數據流獲取裝置的又一種結 構示意圖。
【具體實施方式】
[0027] 這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及 附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例 中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附 權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0028] 在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。 在本申請和所附權利要求書中所使用的單數形式的"一種"、"所述"和"該"也旨在包括多數 形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語"和/或"是指并包 含一個或多個相關聯的列出項目的任何或所有可能組合。
[0029] 應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這 些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離 本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第 一信息。取決于語境,如在此所使用的詞語"如果"可以被解釋成為"在……時"或"當…… 時"或"響應于確定"。
[0030] 為了解決現有技術中存在的只能抓取到命中規則的那一個數據包,從而導致根據 這一個數據包進行分析得到的分析結果不準確的問題,本申請以下實施例中提供了一種基 于安全檢測的數據流獲取方法,以及一種可以應用該方法的數據流獲取裝置。
[0031] 如圖1所示,本申請實施例的基于安全檢測的數據流獲取方法包括以下步驟:
[0032]步驟SlOl,在接收到任一數據包(為了描述方便,稱為待檢測數據包)之后,對該待 檢測數據包進行鏡像,將鏡像數據包保存到緩存模塊中,將該待檢測數據包與規則庫中的 安全檢測規則進行匹配,其中,安全檢測規則用于檢測數據包是否為惡意數據包;
[0033] 具體的,緩存模塊可以是一個大容量的硬盤,用于存儲鏡像數據包。為了避免緩存 模塊的存儲空間不足,而無法繼續存儲鏡像數據包,可以預先配置緩存模塊的數據刪除時 間間隔Tl,每隔Tl時間,對緩存模塊中保存的鏡像數據包進行刪除,其中,Tl的值可以根據 緩存模塊的總存儲空間大小和網絡安全設備支持的最大數據包轉發速度,來進行配置。
[0034] 由步驟SlOl可以看出,在接收到一個數據包之后,對該數據包進行鏡像會得到兩 個相同的數據包,其中一個數據包保存到緩存模塊中,另外一個數據包執行安全檢測,即, 將該數據包與規則庫中的各個安全檢測規則進行匹配。
[0035] 步驟S102,當該待檢測數據包命中安全檢測規則時,獲取該待檢測數據包的相關 信息;
[0036] 當待檢測數據包命中安全檢測規則時,說明該數據包為惡意數據包,獲取該待檢 測數據包的相關信息,該相關信息包括:該待檢測數據包的五元組信息等。
[0037] 步驟S103,根據獲取到的相關信息,從緩存模塊中讀取該鏡像數據包所在的數據 流(為了描述方便,將該鏡像數據包所在的數據流稱為第一數據流),以及該第一數據流的 上下文數據流。
[0038] 在實際實施過程中,可以在獲取到該待檢測數據包的相關信息之后,就執行步驟 S103;也可以按照預定讀取時間間隔T2執行步驟S103,也就是說,在T2時間到達之前,針對 接收到的每一個數據包執行步驟SlO 1和步驟S102,在T2時間到達時,針對在T2時間內接收 到的每一個數據包,執行步驟S103。
[0039] 本申請上述實施例的方法中,在對待檢測數據包進行安全檢測之前,先對該待檢 測數據包進行鏡像得到鏡像數據包,之后,將該鏡像數據包保存到緩存模塊中,當檢測到該 待檢測數據包為惡意數據包時,獲取該待檢測數據包的相關信息,即可從緩存模塊中讀取 該待檢測數據包的鏡像數據包所在的第一數據流,還可以從緩存模塊中讀取該第一數據流 的上下文數據流,從而,不僅獲取到了命中規則的惡意數據包,還獲取到了該惡意數據包所 在數據流及其上下文數據流。由于獲取到了惡意數據包所在數據流及其上下文數據流,這 些數據流能夠提供完整的攻擊信息,因此,根據這些完整的攻擊信息進行分析得到的分析 結果也更加準確。
[0040] 另外,由于可以得到更加準確的分析結果,因此,也有助于根據更加準確的分析結 果來判斷規則庫中的安全檢測規則是否存在誤檢,并對存在誤檢的安全檢測規則進行及時 的調整。
[0041] 具體的,本申請實施例的基于安全檢測的數據流獲取方法包括以下內容:
[0042] 預先創建如表1-1或表1-2所示的數據讀取策略表,數據讀取策略表用于記錄各個 安全檢測規則對應的數據讀取策略。根據配置信息,將各個安全檢測規則對應的數據讀取 策略添加到數據讀取策略表中,數據讀取策略表中的每一個策略表項中記錄了一個安全檢 測規則對應的數據讀取策略。
[0043] 在進行配置時,可以采用統一配置、批量配置和單一配置這三種方式中的任一種 或多種的組合。其中,統一配置方式是指對所有安全檢測規則進行統一配置;批量配置方式 是指一次性對多個安全檢測規則進行配置,例如,可以按照類別,一次性對同一類別的所有 安全檢測規則進行配置,或者,按照嚴重級別,一次性對同一嚴重級別的所有安全檢測規則 進行配置;單一配置是指逐條對安全檢測規則進行配置。
[0044]無論是采用統一配置方式,還是采用批量配置方式,或者單一配置方式,最終,各 條安全檢測規則對應的數據讀取策略分別記錄到數據讀取策略表中的不同策略表項中。各 個策略表項具有不同的序號。
[0045]表 1-1
[0047] 由表1-1可以看出,安全檢測規則對應的數據讀取策略的內容主要包括:需要讀取 的上文數據流的個數、需要讀取的下文數據流的個數、讀取總次數、已讀取次數、第二讀取 指示標記和第二發送指示標記。其中:
[0048] 需要讀取的上文數據流的個數:表示針對命中對應安全檢測規則的惡意數據包讀 取數據流時,即,執行上述步驟S103時,需要讀取的上文數據流的個數;
[0049] 需要讀取的下文數據流的個數:表示針對命中對應安全檢測規則的惡意數據包讀 取數據流時,即,執行上述步驟S103時,需要讀取的下文數據流的個數;
[0050] 讀取總次數:表示針對命中對應安全檢測規則的惡意數據包,執行的讀取步驟的 總次數,即,針對該對應安全檢測規則,需要執行步驟S103的總次數;
[0051] 已讀取次數:表示針對命中對應安全檢測規則的惡意數據包,已經執行的讀取步 驟的次數,即,針對該對應的安全檢測規則,已經執行的步驟S103的次數;已讀取次數的初 始值為〇,每執行一次讀取步驟,已讀取次數加1,直至已讀取次數等于讀取總次數;
[0052] 第二讀取指示標記:用于指示是否需要針對命中對應安全檢測規則的數據包讀取 數據流;第二讀取指示標記的初始值設置為需要讀取,當已讀取次數等于讀取總次數時,將 第二讀取指示標記更新為不需要讀取;另外,如果對應安全檢測規則被手動關閉,則也需要 將第二讀取指示標記更新為不需要讀取;
[0053] 第二發送指示標記:用于指示是否需要將針對命中對應安全檢測規則的惡意數據 包讀取到的數據流發送給云端服務器;第二發送指示標記可以根據實際需求,設置為需要 發送或者不需要發送。
[0054] 另外,在實際實施過程中,如表1-2所示,數據讀取策略中還可以包含更多內容,例 如:策略更新時間和數據流讀取時間等,其中,策略更新時間用于記錄該數據讀取策略更新 的最后時間,數據流讀取時間用于記錄針對命中對應安全檢測規則的惡意數據包,最后一 次執行讀取步驟的時間。
[0055] 表 1-2
[0057]預先創建如表2-1或表2-2所示的惡意數據包信息表,惡意數據包信息表用于記錄 檢測到的惡意數據包的一些信息。惡意數據包信息表中的每一個信息表項記錄一個惡意數 據包的信息,各個信息表項具有不同的序號。
[0058]表2-1
[0060]由表2-1可以看出,惡意數據包信息表中記錄的惡意數據包的一些信息主要包括: 惡意數據包的五元組信息(源IP地址、目的IP地址、源端口、目的端口和協議號)、命中的安 全檢測規則的ID、第一讀取指示標記、第一發送指示標記和文件名。其中:
[0061] 第一讀取指示標記:用于指示是否已經針對對應惡意數據包讀取了數據流(即執 行步驟S103);第一讀取指示標記的初始值設置為未讀取,在執行了步驟S103之后,將第一 讀取指示標記更新為已讀取;
[0062] 第一發送指示標記:用于指示是否已經將讀取到的數據流發送給云端服務器;第 一發送指示標記的初始值設置為未發送,在發送了之后,將第一發送指示標記更新為已發 送;
[0063] 文件名:用于記錄讀取到的數據流打包成的打包文件的文件名,在未讀取數據流 時,文件名為空。
[0064] 另外,在實際實施過程中,如表2-2所示,惡意數據包信息表中還可以記錄惡意數 據包的更多信息,例如,讀取成功指示標記和讀取時間等,其中,讀取成功指示標記用于指 示讀取是否成功,讀取成功指示標記的初始值設置為不成功,在讀取數據流,并且,讀取成 功之后,將讀取成功指示標記更新為成功;讀取時間用于記錄執行讀取步驟的時間,在未讀 取時,讀取時間為空。
[0065] 表2-2
[0067] 上述如表1-1或表1-2所示的數據讀取策略表的內容是通過靜態配置的方式得到 的,上述如表2-1或表2-2所示的惡意數據包信息表的內容是在檢測到惡意數據包后動態添 加的。
[0068] 基于上述數據讀取策略表和惡意數據包信息表,本申請實施例的數據流讀取方法 如下:
[0069] 在接收到任一數據包(為了描述方便,稱為待檢測數據包)之后,對該待檢測數據 包進行鏡像,將鏡像數據包保存到緩存模塊中,將該待檢測數據包與規則庫中的安全檢測 規則進行匹配;獲取該待檢測數據包的五元組信息和命中的安全檢測規則的ID,在惡意數 據包信息表中添加一信息表項(為了描述方便,稱為第一信息表項),其中,第一信息表項中 包含有:該待檢測數據包的五元組信息、該待檢測數據包命中的安全檢測規則的ID、以及設 置為未讀取的第一讀取指示標記。從而,將檢測到的惡意數據包的一些信息記錄到了惡意 數據包信息表中。
[0070] 在讀取數據流時,可以在檢測出一個惡意數據包后,就針對該惡意數據包讀取數 據流,也可以按照預定讀取時間間隔T2進行讀取,此時,在T2時間內可能檢測出了多個惡意 數據包,并在惡意數據包信息表中添加了對應的信息表項。
[0071] 具體的,當按照預定讀取時間間隔T2讀取數據流時,每隔預定讀取時間間隔T2,執 行以下的數據流讀取流程,如圖2所示:
[0072]步驟S201,從惡意數據包信息表中查找到包含的第一讀取指示標記為未讀取的信 息表項;
[0073]針對查找到的每一個信息表項,分別根據信息表項的內容獲取數據流。本例中以 針對查找到的第一信息表項執行步驟S202~步驟S209為例進行說明,針對查找到的其它信 息表項執行的過程類似,在此不再贅述。
[0074]步驟S202,根據該第一信息表項中包含的安全檢測規則的ID,在數據讀取策略表 中查找到對應的策略表項(為了描述方便,稱為第一策略表項);
[0075]步驟S203,判斷該第一策略表項中包含的第二讀取指示標記是否為需要讀取,若 是,則執行步驟S204,否則,退出本流程;
[0076]步驟S204,根據該第一信息表項中包含的五元組信息,從緩存模塊中讀取符合該 五元組信息的第一數據流,將該第一信息表項中包含的第一讀取指示標記更新為已讀取; [0077]步驟S205,根據該第一信息表項中包含的五元組信息中的三元組信息,確定緩存 模塊中符合該三元組信息的數據流,其中,該三元組信息中包括:源IP地址、目的IP地址和 協議號;
[0078]在步驟S205中確定出的數據流中顯然包括第一數據流。
[0079]步驟S206,根據該第一策略表項中包含的上文數據流的個數M(M為正整數)和下文 數據流的個數N(N為正整數),從緩存模塊中讀取確定的數據流中緊挨在該第一數據流前面 的M個數據流,讀取該確定的數據流中緊挨在該第一數據流后面的N個數據流。
[0080]步驟S206中讀取的M個數據流即為第一數據流的上文數據流,步驟S206中讀取的N 個數據流即為第一數據流的下文數據流。由此可見,第一數據流及其上下文數據流具有相 同的源IP地址、目的IP地址和協議號,并且,第一數據流的上文數據流是到達時間早于第一 數據流的數據流,第一數據流的下文數據流是到達時間晚于第一數據流的數據流。
[0081 ]步驟S207,將該第一策略表項中包含的已讀取次數加1;
[0082]步驟S208,判斷加 1后的已讀取次數是否等于該第一策略表項中包含的讀取總次 數,若是,則執行步驟S209,否則,退出本流程;
[0083]步驟S209,將該第一策略表項中包含的第二讀取指示標記更新為不需要讀取。
[0084] 上述預定讀取時間間隔T2可以根據實際需求進行配置和調整,如果需要檢測的數 據包數量非常巨大,則T2的值不宜設置得太大。例如,可以設置為5分鐘。
[0085] 另外,本申請實施例的方法中,還可以將讀取到的數據流發送到云端服務器。此 時,在執行完步驟S206之后,還會將讀取到的第一數據流、上述M個上文數據流和N個下文數 據流打包成一個文件,并對打包文件進行命名;將打包文件的文件名添加到該第一信息表 項中。在實際實施過程中,為了便于確定讀取到的各個數據流的先后順序,可以先將各個數 據流分別打包命名,再打包成一個打包文件。例如,首先,將讀取到的第一數據流、上述M個 上文數據流和N個下文數據流中的每一個數據流分別打包成一個文件,并進行命名,最后, 再將這些打包文件打包成一個文件。
[0086] 不同數據流打包成的打包文件的命名方式不同,第一數據流打包成的打包文件的 文件名為:命中的安全檢測規則的ID+包含該ID的策略表項在數據讀取策略表中的序號,上 下文數據流打包成的打包文件的文件名為:命中的安全檢測規則的ID+該ID在數據讀取策 略表中的序號+編號,其中,對于上文數據流,編號為-1或-2等負整數,對于下文數據流,編 號為+1或+2等正整數,負號后的數字表示對應上文數據流是第一數據流前面的第幾個 數據流,正號"+"后的數字表示對應下文數據流是第一數據流后面的第幾個數據流。例如, 當打包文件的文件名為1〇〇〇1_1_+2時,表示對應數據流為:命中安全檢測規則10001的惡意 數據包的鏡像數據包所在第一數據流后面的第2個下文數據流,并且,包含有安全檢測規則 10001的策略表項在數據讀取策略表中的序號為1。
[0087] 在發送數據流時,可以在讀取到第一數據流及其上下文數據流之后,就進行發送, 也可以按照預定發送時間間隔T3進行發送,此時,在T3時間內可能已經針對多個惡意數據 包讀取了數據流。
[0088]當按照預定發送時間間隔T3進行發送時,每隔預定發送時間間隔T3,執行如下的 發送流程,如圖3所示:
[0089]步驟S301,從惡意數據包信息表中查找到包含的第一發送指示標記為未發送的信 息表項;
[0090] 針對查找到的每一個信息表項,分別根據信息表項的內容發送數據流。本例中以 針對查找到的第一信息表項執行步驟S302~步驟S304為例進行說明,針對查找到的其它信 息表項執行的過程類似,在此不再贅述。
[0091] 步驟S302,根據該第一信息表項中包含的安全檢測規則的ID,在數據讀取策略表 中查找到對應的策略表項(為了描述方便,稱為第一策略表項);
[0092]步驟S303,判斷該第一策略表項中包含的第二發送指示標記是否為需要發送,若 是,則執行步驟S304,否則,退出本流程;
[0093] 步驟S304,根據該第一信息表項中包含的文件名,查找到對應的打包文件,將查找 到的打包文件發送給云端服務器,將該第一信息表項中包含的第一發送指示標記更新為已 發送。
[0094] 上述預定發送時間間隔Τ3可以根據實際需求進行配置和調整,例如,可以配置為 24小時。上述云端服務器可以是廠商的公有云端服務器,也可以是用戶的私有云端服務器。
[0095] 上述實施例的方法中,提出了一種基于模塊緩存的抓包方式,在對數據包進行安 全檢測之前,先鏡像一份保存到單獨的緩存模塊中,無需網絡安全設備中現有的用于對數 據包進行安全檢測的檢測模塊進行緩存,因此,不會影響現有檢測模塊的正常安全檢測性 能。
[0096] 可以預先針對不同安全檢測規則配置對應的數據讀取策略,該數據讀取策略中包 括:需要讀取的上文數據包的個數、需要讀取的下文數據包的個數、讀取總次數、已讀取次 數、用于指示是否需要讀取數據流的第二讀取指示標記、以及用于指示是否需要將讀取到 的數據流發送給云端服務器的第二發送指示標記,因此,可以靈活的配置各種數據讀取策 略內容;另外,通過配置需要讀取的上文數據包的個數和需要讀取的下文數據包的個數,可 以有效的讀取到完整的上下文數據流,通過配置讀取總次數,可以限制針對命中對應安全 檢測規則的惡意數據包讀取的數據流的數量,節約緩存模塊的存儲空間,通過配置第二發 送指示標記,可以將讀取到的數據流發送到云端服務器。
[0097] 下面通過舉例對上述實施例的方法進行說明。例如,數據讀取策略表的內容如表 3-1所示:
[0098] 表3-1
[0100] 在接收到數據包1之后,對該數據包1進行鏡像,將鏡像數據包保存到緩存模塊中, 將數據包1與規則庫中的各個安全檢測規則進行匹配,結果檢測到該數據包1與安全檢測規 貝1J10001匹配,在惡意數據包信息表中添加一信息表項,該信息表項為表4-1中序號為1的信 息表項。 「_11 豐4-1
[0103]在預定讀取時間間隔T2到達后,在如表4-1所示的惡意數據包信息表中查找第一 讀取指示標記為未讀取的信息表項,結果查找到了序號為1的信息表項,根據該信息表項中 包含的規則ID 10001,在如表3-1所示的數據讀取策略表中查找對應的策略表項,結果查找 到序號為1的策略表項,該策略表項中包含的第二讀取指示標記為需要讀取,需要讀取的上 文數據流的個數為3,需要讀取的下文數據流的個數為4;根據該信息表項中的五元組信息, 從緩存模塊中讀取符合該五元組信息的第一數據流,將該信息表項中包含的第一讀取指示 標記更新為已讀取,若讀取成功,則將該信息表項中包含的讀取成功指示標記更新為成功; 根據該五元組信息中的三元組信息:源IP地址10.152.6.80、目的IP地址1.5.58.48和RTMP (Real Time Messaging Protocol,實時消息傳輸協議)的協議號,從緩存模塊中確定出符 合該三元組信息的數據流,讀取這些數據流中緊挨在第一數據流前面的3個數據流,以及緊 挨在第一數據流后面的4個數據流;將該策略表項中包含的已讀取次數O加1得到1,此時,表 3-1更新為表3-2,由于當前的已讀取次數1不等于讀取總次數3,因此,不會將該策略表項中 包含的第二讀取指示標記更新為不需要讀取;將讀取到的第一數據流及其上下文數據流打 包成一個打包文件,并命名為filel,將filel添加到該信息表項中,此時,表4-1更新為表4-2〇 「01041 券4-9
[0109]在預定發送時間間隔T3到達后,從如表4-2所示的惡意數據包信息表中查找第一 發送指示標記為未發送的信息表項,結果查找到了序號為1的信息表項;根據該信息表項中 包含的安全檢測規則的ID 10001,在如表3-2所示的數據讀取策略表中查找對應的策略表 項,結果查找到了序號為1的策略表項,該策略表項中的第二發送指示標記為需要發送;根 據該信息表項中包含的文件名filel,查找到對應的打包文件,將該打包文件發送給云端服 務器,將該信息表項中包含的第一發送指示標記更新為已發送,此時,表4-2更新為表4-3。
[0110]表4-3
[0113] 與前述數據流獲取方法的實施例相對應,本申請還提供了數據流獲取裝置的實施 例。
[0114] 請參考圖4,本申請實施例的數據流獲取裝置中包括以下模塊:接收模塊401、鏡像 模塊402、緩存模塊403、檢測模塊404、信息獲取模塊405和數據流獲取模塊406,其中:
[0115] 接收模塊401,用于接收待檢測數據包;
[0116] 鏡像模塊402,用于在接收模塊401接收到待檢測數據包之后,對該待檢測數據包 進行鏡像,將鏡像數據包保存到緩存模塊403中;
[0117] 緩存模塊403,用于保存鏡像數據包;
[0118] 檢測模塊404,用于將該待檢測數據包與規則庫中的安全檢測規則進行匹配,其 中,安全檢測規則用于檢測數據包是否為惡意數據包;
[0119] 信息獲取模塊405,用于當檢測模塊404檢測到該待檢測數據包命中安全檢測規則 時,獲取該待檢測數據包的相關信息,該相關信息中包括:該待檢測數據包的五元組信息; [0120]數據流獲取模塊406,用于根據信息獲取模塊獲取到的相關信息,從緩存模塊中讀 取鏡像數據包所在的第一數據流,以及第一數據流的上下文數據流。
[0121 ]其中,該相關信息中還包括:該待檢測數據包命中的安全檢測規則的ID;則,如圖5 所示,上述數據流獲取裝置中還包括:
[0122]表項更新模塊407,用于在信息獲取模塊405獲取到該待檢測數據包的相關信息之 后,在惡意數據包信息表中添加第一信息表項,其中,第一信息表項中包含有:該待檢測數 據包的五元組信息、該待檢測數據包命中的安全檢測規則的ID、以及設置為未讀取的第一 讀取指示標記,第一讀取指示標記用于指示是否已經針對該待檢測數據包讀取了數據流。
[0123] 其中,數據流獲取模塊406中包括:信息表項查找單元、策略表項查找單元、第一讀 取單元和信息表項更新單元,其中:
[0124] 信息表項查找單元,用于從惡意數據包信息表中查找包含的第一讀取指示標記為 未讀取的第一信息表項;
[0125] 策略表項查找單元,用于根據信息表項查找單元查找到的第一信息表項中包含的 安全檢測規則的ID,在數據讀取策略表中查找對應的第一策略表項,其中,數據讀取策略表 中包含有:安全檢測規則的ID和第二讀取指示標記,第二讀取指示標記用于指示是否需要 針對命中對應安全檢測規則的數據包讀取數據流;
[0126] 第一讀取單元,用于若策略表項查找單元查找到的第一策略表項中包含的第二讀 取指示標記為需要讀取,則根據第一信息表項中包含的五元組信息,從緩存模塊中讀取符 合該五元組信息的第一數據流;
[0127] 信息表項更新單元,用于在第一讀取單元從緩存模塊中讀取符合該五元組信息的 第一數據流之后,將第一信息表項中包含的第一讀取指示標記更新為已讀取。
[0128] 其中,數據讀取策略表中還包含有:需要讀取的上文數據流的個數和需要讀取的 下文數據流的個數;則,數據流獲取模塊406中還包括:數據流確定單元和第二讀取單元,其 中:
[0129] 數據流確定單元,用于根據第一信息表項中包含的五元組信息中的三元組信息, 確定緩存模塊中符合該三元組信息的數據流;其中,三元組信息中包括:源IP地址、目的IP 地址和協議號;
[0130] 第二讀取單元,用于根據第一策略表項中包含的上文數據流的個數M和下文數據 流的個數N,讀取數據流確定單元確定的數據流中緊挨在第一數據流前面的M個數據流,作 為第一數據流的上文數據流,讀取確定的數據流中緊挨在第一數據流后面的N個數據流,作 為第一數據流的下文數據流;其中,M和N為正整數。
[0131] 其中,數據讀取策略表中還包含有:讀取總次數和已讀取次數;則,數據流獲取模 塊406中還包括:判斷單元和策略表項更新單元,其中:
[0132] 判斷單元,用于在第二讀取單元讀取N個數據流之后,將第一策略表項中包含的已 讀取次數加1,判斷加1后的已讀取次數是否等于第一策略表項中包含的讀取總次數;
[0133] 策略表項更新單元,用于若判斷單元判斷出加 1后的已讀取次數等于第一策略表 項中包含的讀取總次數,則將第一策略表項中包含的第二讀取指示標記更新為不需要讀 取。
[0134] 另外,如圖6所示,上述數據流獲取裝置中還包括:打包模塊408,其中:
[0135] 打包模塊408,用于將數據流獲取模塊406讀取到的第一數據流、M個上文數據流和 N個下文數據流打包成一個文件,并對打包文件進行命名;
[0136] 表項更新模塊407,還用于將打包模塊408打包得到的打包文件的文件名,添加到 第一信息表項中。
[0137] 另外,惡意數據包信息表中還包含有第一發送指示標記,數據讀取策略表中還包 含有第二發送指示標記,第一發送指示標記用于指示是否已經將讀取到的數據流發送給云 端服務器,第二發送指示標記用于指示是否需要將針對命中對應安全檢測規則的數據包讀 取到的數據流發送給云端服務器;則,如圖7所示,上述數據流獲取裝置中還包括:表項查找 模塊409、打包文件查找模塊410和發送模塊411,其中:
[0138] 表項查找模塊409,用于從惡意數據包信息表中查找包含的第一發送指示標記為 未發送的第一信息表項,根據第一信息表項中包含的安全檢測規則的ID,在數據讀取策略 表中查找對應的第一策略表項;
[0139] 打包文件查找模塊410,用于若表項查找模塊409查找到的第一策略表項中包含的 第二發送指示標記為需要發送,則根據第一信息表項中包含的文件名,查找到對應的打包 文件;
[0140]發送模塊411,用于將打包文件查找模塊410查找到的打包文件,發送給云端服務 器;
[0141] 表項更新模塊407,還用于在發送模塊411將打包文件查找模塊410查找到的打包 文件,發送給云端服務器之后,將第一信息表項中包含的第一發送指示標記更新為已發送。
[0142] 上述數據流獲取裝置可以應用于安全網絡設備中,數據流獲取裝置中的檢測模塊 4041由安全網絡設備中現有的用于對數據包進行安全檢測的檢測模塊來實現,或者,上述 數據流獲取裝置中除檢測模塊404和信息獲取模塊405應用于安全網絡設備中,其它模塊應 用于另外一個獨立的設備中。本申請實施例對此不做限定。
[0143] 上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的 實現過程,在此不再贅述。
[0144] 對于裝置實施例而言,由于其基本對應于方法實施例,所以相關之處參見方法實 施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件 說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以 不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的 需要選擇其中的部分或者全部模塊來實現本申請方案的目的。本領域普通技術人員在不付 出創造性勞動的情況下,即可以理解并實施。
[0145] 以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精 神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。
【主權項】
1. 一種基于安全檢測的數據流獲取方法,其特征在于,所述方法包括: 在接收到待檢測數據包之后,對所述待檢測數據包進行鏡像,將鏡像數據包保存到緩 存模塊中,將所述待檢測數據包與規則庫中的安全檢測規則進行匹配,其中,安全檢測規則 用于檢測數據包是否為惡意數據包; 當所述待檢測數據包命中安全檢測規則時,獲取所述待檢測數據包的相關信息,所述 相關信息包括:所述待檢測數據包的五元組信息; 根據獲取到的相關信息,從所述緩存模塊中讀取所述鏡像數據包所在的第一數據流, 以及所述第一數據流的上下文數據流。2. 根據權利要求1所述的方法,其特征在于,所述待檢測數據包的相關信息中還包括: 所述待檢測數據包命中的安全檢測規則的標識ID;則,在獲取所述待檢測數據包的相關信 息之后,還包括: 在惡意數據包信息表中添加第一信息表項,其中,所述第一信息表項中包含有:所述待 檢測數據包的五元組信息、所述待檢測數據包命中的安全檢測規則的ID、以及設置為未讀 取的第一讀取指示標記,第一讀取指示標記用于指示是否已經針對所述待檢測數據包讀取 了數據流。3. 根據權利要求2所述的方法,其特征在于,從所述緩存模塊中讀取所述鏡像數據包所 在的第一數據流的方法包括: 從所述惡意數據包信息表中查找到包含的第一讀取指示標記為未讀取的第一信息表 項; 根據所述第一信息表項中包含的安全檢測規則的ID,在數據讀取策略表中查找到對應 的第一策略表項,其中,所述數據讀取策略表中包含有:安全檢測規則的ID和第二讀取指示 標記,第二讀取指示標記用于指示是否需要針對命中對應安全檢測規則的數據包讀取數據 流; 若所述第一策略表項中包含的第二讀取指示標記為需要讀取,則根據所述第一信息表 項中包含的五元組信息,從所述緩存模塊中讀取符合所述五元組信息的第一數據流,將所 述第一信息表項中包含的第一讀取指示標記更新為已讀取。4. 根據權利要求3所述的方法,其特征在于,所述數據讀取策略表中還包含有:需要讀 取的上文數據流的個數和需要讀取的下文數據流的個數;則,從所述緩存模塊中讀取所述 第一數據流的上下文數據流的方法包括: 根據所述第一信息表項中包含的五元組信息中的三元組信息,確定所述緩存模塊中符 合所述三元組信息的數據流;其中,所述三元組信息中包括:源因特網協議IP地址、目的IP 地址和協議號; 根據所述第一策略表項中包含的上文數據流的個數M和下文數據流的個數N,讀取確定 的數據流中緊挨在所述第一數據流前面的M個數據流作為所述第一數據流的上文數據流, 讀取所述確定的數據流中緊挨在所述第一數據流后面的N個數據流作為所述第一數據流的 下文數據流;其中,M和N為正整數。5. 根據權利要求4所述的方法,其特征在于,所述數據讀取策略表中還包含有:讀取總 次數和已讀取次數;則,在讀取所述確定的數據流中緊挨在所述第一數據流后面的N個數據 流之后,還包括: 將所述第一策略表項中包含的已讀取次數加 I,判斷加1后的已讀取次數是否等于所述 第一策略表項中包含的讀取總次數; 若等于,則將所述第一策略表項中包含的第二讀取指示標記更新為不需要讀取。6. 根據權利要求4或5所述的方法,其特征在于,在從所述緩存模塊中讀取所述鏡像數 據包所在的第一數據流,以及所述第一數據流的上下文數據流之后,還包括: 將讀取到的所述第一數據流、所述M個上文數據流和所述N個下文數據流打包成一個文 件,并對打包文件進行命名; 將打包文件的文件名添加到所述第一信息表項中。7. 根據權利要求6所述的方法,其特征在于,所述惡意數據包信息表中還包含有第一發 送指示標記,所述數據讀取策略表中還包含有第二發送指示標記,第一發送指示標記用于 指示是否已經將讀取到的數據流發送給云端服務器,第二發送指示標記用于指示是否需要 將針對命中對應安全檢測規則的數據包讀取到的數據流發送給云端服務器;則,在從所述 緩存模塊中讀取所述鏡像數據包所在的第一數據流,以及所述第一數據流的上下文數據流 之后,還包括: 從所述惡意數據包信息表中查找到包含的第一發送指示標記為未發送的第一信息表 項; 根據所述第一信息表項中包含的安全檢測規則的ID,在所述數據讀取策略表中查找到 對應的第一策略表項; 若所述第一策略表項中包含的第二發送指示標記為需要發送,則根據所述第一信息表 項中包含的文件名,查找到對應的打包文件,將查找到的打包文件發送給云端服務器,將所 述第一信息表項中包含的第一發送指示標記更新為已發送。8. -種基于安全檢測的數據流獲取裝置,其特征在于,所述裝置包括: 接收模塊,用于接收待檢測數據包; 鏡像模塊,用于在所述接收模塊接收到待檢測數據包之后,對所述待檢測數據包進行 鏡像,將鏡像數據包保存到緩存模塊中; 所述緩存模塊,用于保存鏡像數據包; 檢測模塊,用于將所述待檢測數據包與規則庫中的安全檢測規則進行匹配,其中,安全 檢測規則用于檢測數據包是否為惡意數據包; 信息獲取模塊,用于當所述檢測模塊檢測到所述待檢測數據包命中安全檢測規則時, 獲取所述待檢測數據包的相關信息,所述相關信息包括:所述待檢測數據包的五元組信息; 數據流獲取模塊,用于根據所述信息獲取模塊獲取到的相關信息,從所述緩存模塊中 讀取所述鏡像數據包所在的第一數據流,以及所述第一數據流的上下文數據流。9. 根據權利要求8所述的裝置,其特征在于,所述待檢測數據包的相關信息中還包括: 所述待檢測數據包命中的安全檢測規則的標識ID;則,所述裝置還包括: 表項更新模塊,用于在所述信息獲取模塊獲取到所述待檢測數據包的相關信息之后, 在惡意數據包信息表中添加第一信息表項,其中,所述第一信息表項中包含有:所述待檢測 數據包的五元組信息、所述待檢測數據包命中的安全檢測規則的ID、以及設置為未讀取的 第一讀取指示標記,第一讀取指示標記用于指示是否已經針對所述待檢測數據包讀取了數 據流。10. 根據權利要求9所述的裝置,其特征在于,所述數據流獲取模塊包括: 信息表項查找單元,用于從所述惡意數據包信息表中查找包含的第一讀取指示標記為 未讀取的第一信息表項; 策略表項查找單元,用于根據所述信息表項查找單元查找到的第一信息表項中包含的 安全檢測規則的ID,在數據讀取策略表中查找對應的第一策略表項,其中,所述數據讀取策 略表中包含有:安全檢測規則的ID和第二讀取指示標記,第二讀取指示標記用于指示是否 需要針對命中對應安全檢測規則的數據包讀取數據流; 第一讀取單元,用于若所述策略表項查找單元查找到的第一策略表項中包含的第二讀 取指示標記為需要讀取,則根據所述第一信息表項中包含的五元組信息,從所述緩存模塊 中讀取符合所述五元組信息的第一數據流; 信息表項更新單元,用于在所述第一讀取單元從所述緩存模塊中讀取符合所述五元組 信息的第一數據流之后,將所述第一信息表項中包含的第一讀取指示標記更新為已讀取。11. 根據權利要求10所述的裝置,其特征在于,所述數據讀取策略表中還包含有:需要 讀取的上文數據流的個數和需要讀取的下文數據流的個數;則,所述數據流獲取模塊還包 括: 數據流確定單元,用于根據所述第一信息表項中包含的五元組信息中的三元組信息, 確定所述緩存模塊中符合所述三元組信息的數據流;其中,所述三元組信息中包括:源因特 網協議IP地址、目的IP地址和協議號; 第二讀取單元,用于根據所述第一策略表項中包含的上文數據流的個數M和下文數據 流的個數N,讀取所述數據流確定單元確定的數據流中緊挨在所述第一數據流前面的M個數 據流,作為所述第一數據流的上文數據流,讀取所述確定的數據流中緊挨在所述第一數據 流后面的N個數據流,作為所述第一數據流的下文數據流;其中,M和N為正整數。12. 根據權利要求11所述的裝置,其特征在于,所述數據讀取策略表中還包含有:讀取 總次數和已讀取次數;則,所述數據流獲取模塊還包括: 判斷單元,用于在所述第二讀取單元讀取所述確定的數據流中緊挨在所述第一數據流 后面的N個數據流之后,將所述第一策略表項中包含的已讀取次數加1,判斷加1后的已讀取 次數是否等于所述第一策略表項中包含的讀取總次數; 策略表項更新單元,用于若所述判斷單元判斷出加1后的已讀取次數等于所述第一策 略表項中包含的讀取總次數,則將所述第一策略表項中包含的第二讀取指示標記更新為不 需要讀取。13. 根據權利要求11或12所述的裝置,其特征在于,所述裝置還包括:打包模塊,其中: 所述打包模塊,用于將所述數據流獲取模塊讀取到的所述第一數據流、所述M個上文數 據流和所述N個下文數據流打包成一個文件,并對打包文件進行命名; 所述表項更新模塊,還用于將所述打包模塊打包得到的打包文件的文件名,添加到所 述第一信息表項中。14. 根據權利要求13所述的裝置,其特征在于,所述惡意數據包信息表中還包含有第一 發送指示標記,所述數據讀取策略表中還包含有第二發送指示標記,第一發送指示標記用 于指示是否已經將讀取到的數據流發送給云端服務器,第二發送指示標記用于指示是否需 要將針對命中對應安全檢測規則的數據包讀取到的數據流發送給云端服務器;則,所述裝 置還包括:表項查找模塊、打包文件查找模塊和發送模塊,其中: 所述表項查找模塊,用于從所述惡意數據包信息表中查找包含的第一發送指示標記為 未發送的第一信息表項,根據所述第一信息表項中包含的安全檢測規則的ID,在所述數據 讀取策略表中查找對應的第一策略表項; 所述打包文件查找模塊,用于若所述表項查找模塊查找到的第一策略表項中包含的第 二發送指示標記為需要發送,則根據所述第一信息表項中包含的文件名,查找到對應的打 包文件; 所述發送模塊,用于將所述打包文件查找模塊查找到的打包文件,發送給云端服務器; 所述表項更新模塊,還用于在所述發送模塊將所述打包文件查找模塊查找到的打包文 件,發送給云端服務器之后,將所述第一信息表項中包含的第一發送指示標記更新為已發 送。
【文檔編號】H04L29/06GK105915516SQ201610235743
【公開日】2016年8月31日
【申請日】2016年4月15日
【發明人】張驚申
【申請人】杭州華三通信技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1