新四季網

雙核心雙出口星型網絡的防毒方法、裝置及系統的製作方法

2023-10-09 01:26:04 1

雙核心雙出口星型網絡的防毒方法、裝置及系統的製作方法
【專利摘要】本發明公開了一種雙核心雙出口星型網絡的防毒方法、裝置及系統。其中方法包括:在雙核心雙出口星型網絡的兩側鏈路上分別部署一臺防毒牆,兩側防毒牆各自利用扣包方法檢測和阻斷病毒,並且彼此直連。在TCP連接的雙向數據流各自通過單側防毒牆的情形下,兩側防毒牆根據傳輸協議類型進行必要的信息同步,使得對端防毒牆能夠獲知帶毒文件的網絡位置,或者在FTP協議下跟蹤子連接。從而使得防毒牆在只捕獲單向數據流時,不僅能做到病毒阻斷,而且能報告帶毒文件的精確網絡位置。雙側防毒牆之間的同步鏈路為鬆散耦合,不存在單點失效的風險,不破壞雙核心雙出口星型網絡的冗餘特性。
【專利說明】雙核心雙出口星型網絡的防毒方法、裝置及系統

【技術領域】
[0001]本發明涉及網絡【技術領域】,特別是涉及一種雙核心雙出口星型網絡的防毒方法、裝置及系統。

【背景技術】
[0002]目前大型園區網普遍採用雙核心雙出口星型結構,雙核心雙出口星型網絡的實質是冗餘配置。
[0003]如圖1所示,在核心層中,核心路由器Ra和Rb互為熱備,並分別通過鏈路I和鏈路2連接上層網絡;在匯聚層中,匯聚路由器分別與每個核心路由器建立連接,如Rl通過鏈路3和鏈路4連接核心路由器Ra和Rb。這種連接方式能夠保障與上層網絡的連通性不會因單點失效(比如Ra崩潰)而中斷。雙核心星型結構除鏈路冗餘外,還承擔負載均衡的功能。核心路由器Ra和Rb相對於匯聚層路由器是等距的,通過路由協議,如OSPF協議的等價多路徑負載均衡,或者策略路由,主機10.1.3.68訪問上層網絡的出流量(黑色虛線表示),既可以選擇路徑(R1,Ra),也可以選擇路徑(R1,Rb),從而使得雙核心設備和出口帶寬得到充分利用。同理,從上層網絡返回到10.1.3.68的流量,也可以選擇路徑(Ra,Rl)或(Rb,Rl)。
[0004]目前,一般採用透明代理防毒牆對網絡傳輸中的病毒進行過濾,以保證網絡安全。
[0005]透明代理防毒牆的原理如圖2所示(圖2右下側方框是防毒牆的框架結構),在透明代理防毒牆系統中,客戶端與伺服器之間的原始連接被客戶端與防毒牆系統之間的接管連接以及防毒牆系統與伺服器之間的代理連接所取代。防毒牆系統的透明代理保證代理連接所使用的IP源地址和TCP源埠與原始連接一致;防毒牆系統的協議代理模塊負責接管原始連接和發起代理連接,解析應用層協議,還原和緩存文件,並交給查毒引擎查殺。
[0006]透明代理防毒牆功能有效性的必要條件是:代理TCP連接的雙向流量都必須通過同一臺防毒牆,否則透明代理防毒牆會發生功能失效,甚至導致網絡中斷。
[0007]在圖1中,對於在路由器Ra出口鏈路I上布置的防毒牆,如果10.1.3.68訪問上層網絡的流量經過Ra,但由於多鏈路負載均衡的原因,上層網絡返回10.1.3.68的流量可能經過Rb —側,就會發生防毒牆功能失效。
[0008]因此,如何實現在雙核心雙出口星型網絡中,防毒牆只捕獲TCP連接單向數據流的前提下,仍能做到病毒阻斷,並報告帶毒文件的網絡位置信息是個亟待解決的問題。


【發明內容】

[0009]本發明提供了一種雙核心雙出口星型網絡的防毒方法、裝置及系統,在雙核心雙出口星型網絡中,防毒牆只捕獲TCP連接單個方向流量的前提下,仍能做到病毒阻斷,並報告帶毒文件的網絡位置。
[0010]為實現本發明目的而提供的一種雙核心雙出口星型網絡的防毒方法,包括如下步驟:
[0011]S100,在雙核心雙出口星型網絡的雙鏈路上各自部署一臺防毒牆,雙側防毒牆之間彼此直連,兩臺防毒牆各自採用扣包方法查殺和阻斷病毒;
[0012]S200,TCP連接的雙向數據流經過防毒牆時,防毒牆各自獨立地採用扣包方法查殺並阻斷數據流中帶毒文件的傳輸;TCP連接的單向數據流經過一側防毒牆時,該側防毒牆根據傳輸協議類型將同步信息同步到對端防毒牆;
[0013]S300,任一側防毒牆根據對端防毒牆同步過來的同步信息,輔助進行子連接跟蹤,並各自獨立地對經過的TCP連接的單向數據流採用扣包方法進行病毒查殺,在發現病毒時報告帶毒文件的精確網絡位置。
[0014]較佳地,作為一種可實施方式,兩側防毒牆中各自設定用於發送和/或接收同步信息的網卡;所述兩側防毒牆之間通過雙絞線進行物理直連。
[0015]較佳地,作為一種可實施方式,所述S200包括以下步驟:
[0016]S210,兩側防毒牆同時判斷TCP連接雙向數據流是否經過同側防毒牆,如果是則執行步驟S220,否則執行步驟S230 ;
[0017]S220,防毒牆捕獲並解析TCP連接的雙向數據流,直接利用扣包方法對帶毒數據流進行查殺和阻斷後結束返回;
[0018]S230,一側防毒牆捕獲經過的TCP連接的單向數據流,根據傳輸協議類型判斷是否需要同步所述同步信息到對端防毒牆;並在判斷出需要同步所述同步信息到對端防毒牆時,提取出子連接協商信息或者傳輸文件的網絡位置信息作為同步信息通過防毒牆間同步鏈路發送給對端防毒牆。
[0019]較佳地,作為一種可實施方式,所述S230,包括以下步驟:
[0020]S231,判斷TCP連接的單向數據流的傳輸協議類型;
[0021]S232,當判斷出所述傳輸協議為HTTP傳輸協議時,本側防毒牆從TCP連接的單向數據流中捕獲到GET信息作為同步信息,通過防毒牆間同步鏈路將所述GET信息發送給對端防毒牆;
[0022]S233,當判斷出所述傳輸協議為SMTP或者POP3傳輸協議時,本側防毒牆不提取同步信息,也不發送同步信息到對端防毒牆,兩側防毒牆各自從郵件本身中提取網絡位置信息;
[0023]S234,當判斷出所述傳輸協議為FTP傳輸協議時,本側防毒牆以P0RT、ST0R、RETR、CffD和227應答作為同步信息,通過防毒牆間同步鏈路將所述PORT、STOR、RETR、CffD和227
應答發送給對端防毒牆。
[0024]較佳地,作為一種可實施方式,所述S300包括以下步驟:
[0025]S310,判斷所述TCP連接的單向數據流的傳輸協議類型;
[0026]S320,當判斷出所述傳輸協議為HTTP傳輸協議時,本側防毒牆對經過的單方向數據流利用扣包方法查殺和阻斷病毒,並利用對端同步過來的GET請求中的URL信息對所查殺的病毒報告精確的網絡位置;
[0027]當所述傳輸協議為SMTP或者POP3傳輸協議時,本側防毒牆對經過的單向數據流直接利用扣包方法查殺和阻斷病毒,並獨立地從郵件本身中解析出網絡位置信息;
[0028]當所述傳輸協議為FTP傳輸協議時,根據FTP文件傳輸模式和類型,本側防毒牆選擇利用對端同步信息中的PORT命令或227應答獲知FTP數據連接的協商信息並跟蹤數據連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網絡位置信息。
[0029]較佳地,作為一種可實施方式,所述當所述傳輸協議為FTP傳輸協議時,根據FTP文件傳輸模式和類型,本側防毒牆選擇利用對端同步信息中的PORT命令或227應答獲知FTP數據連接的協商信息並跟蹤數據連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網絡位置信息,包括以下步驟:
[0030]S321,判斷所述FTP文件傳輸模式和類型;
[0031]S322,當判斷出所述FTP文件傳輸為主動連接-文件上傳時,上傳方向的防毒牆直接對上傳文件採用扣包進行病毒的查殺和阻斷;並獨立地獲得子連接協商信息和文件路徑信息;
[0032]S323,當判斷出所述FTP文件傳輸為主動連接-文件下載時,下載方向的防毒牆利用對端同步的子連接協商信息和文件路徑信息對下載文件採用扣包方法進行病毒的查殺和阻斷;
[0033]S324,當判斷出所述FTP文件傳輸為被動連接-文件上傳時,上傳方向的防毒牆利用對端同步的子連接協商信息採用扣包方法進行病毒的查殺和阻斷,並獨立地獲得文件路徑信息;
[0034]S325,當判斷出所述FTP文件傳輸為被動連接-文件下載時,下載方向的防毒牆獨立地獲得子連接協商信息,採用扣包方法進行病毒的查殺和阻斷,並獲得對端同步過來的文件路徑信息。
[0035]較佳地,兩臺防毒牆處於鬆散耦合關係,同步信息的丟失或者任一臺防毒牆的宕機不會影響對端防毒牆的數據包轉發和病毒阻斷。
[0036]基於同一發明構思的一種雙核心雙出口星型網絡的防毒裝置:在雙側鏈路上各部署一臺防毒牆,兩側防毒牆之間通過同步鏈路連接,其中:
[0037]雙核心網絡與外部網絡的交互流量通過防毒牆進行傳輸;
[0038]所述同步鏈路物理連接兩側防毒牆,傳輸兩側防毒牆之間的同步信息;
[0039]兩側防毒牆用於查殺雙核心雙出口星型網絡傳輸的數據流中的病毒。
[0040]較佳地,作為一種可實施方式,所述兩側防毒牆由相同的模塊組成,所述防毒牆包括:
[0041]配置模塊、數據流捕獲模塊、半連接判斷模塊、扣包查毒模塊、信息同步模塊、單向數據流處理模塊和病毒報告模塊;
[0042]所述配置模塊用於配置兩臺防毒牆之間互相連通的同步鏈路;
[0043]所述數據流捕獲模塊,用於捕獲經過防毒牆的數據流;
[0044]所述半連接判斷模塊,用於判斷防毒牆是否只捕獲TCP連接的單向數據流,當防毒牆捕獲TCP連接的雙向數據流時,則利用扣包查毒模塊直接對數據流查殺病毒處理;當防毒牆只捕獲TCP連接的單向的數據流時,則利用信息同步模塊對數據流進行處理;
[0045]所述扣包查毒模塊,用於對防毒牆所捕獲的數據流中的病毒進行查殺,當半連接判斷模塊對數據流捕獲模塊所捕獲的數據流進行判斷後,防毒牆捕獲TCP連接的雙向數據流時,直接對數據流捕獲模塊捕獲的雙向數據流中的病毒進行查殺;
[0046]所述信息同步模塊,用於判斷所接收的單向數據流是否需要發送同步信息到對端防毒牆,當需要發送同步信息到對端防毒牆時,則發送同步信息,並通同步鏈路發送給對端防毒牆,否則直接利用單向數據流處理模塊對單向數據流進行處理;
[0047]所述單向數據流處理模塊,用於選擇利用同步信息配合扣包查毒模塊對防毒牆捕獲的TCP連接的單向數據流進行子連接定位,病毒的查殺和阻斷,並確定傳輸文件的網絡位置信息;
[0048]所述病毒報告模塊,用於在有病毒事件發生時,報告病毒事件,並同時報告帶毒文件的網絡位置。
[0049]較佳地,作為一種可實施方式,所述防毒牆捕獲雙向數據流時,扣包查毒模塊對數據流查殺病毒後,如果發現帶毒文件,病毒報告模塊報告病毒事件,同時報告帶毒文件的網絡位置;
[0050]所述防毒牆捕獲單向數據流時,扣包查毒模塊對數據流查殺病毒後,如果發現帶毒文件,病毒報告模塊報告病毒事件,根據單向數據流處理模塊確定的網絡位置信息,同時報告帶毒文件的網絡位置。
[0051]基於同一發明構思的一種雙核心雙出口星型網絡的防毒系統,包括伺服器和客戶端,以及所述雙核心雙出口星型網絡的防毒裝置。
[0052]本發明的有益效果包括:
[0053]本發明提供的一種雙核心雙出口星型網絡的查毒方法、裝置及系統。通過設置在雙核心雙出口星型網絡出口處雙側鏈路上的兩臺防毒牆之間發送同步信息,防毒牆從所捕獲的TCP連接單向數據流中還原出傳輸文件,並確定所述傳輸文件的網絡位置信息,並利用扣包方法對防毒牆捕獲的數據流病毒查殺和阻斷,使防毒牆在只捕獲TCP連接單向數據流的前提下,仍能做到病毒阻斷,在報告病毒事件時同時報告帶毒文件的網絡位置,而且防毒牆本身不對用戶網絡拓撲和路由策略施加任何限制,不破壞雙核心雙出口星型結構的冗餘特性,雙出口鏈路上的防毒牆呈鬆散耦合關係,在對端宕機時不會失效。

【專利附圖】

【附圖說明】
[0054]圖1為現有技術雙核心雙出口星型網絡示意圖;
[0055]圖2為現有技術透明代理防毒牆原理示意圖;
[0056]圖3為本發明一種雙核心雙出口星型網絡的查毒方法的一具體實施例的流程示意圖;
[0057]圖4為本發明一種雙核心雙出口星型網絡的查毒方法的一具體實施例的使用HTTP協議傳輸文件的示意圖;
[0058]圖5是扣包查毒方法的零拷貝sk_buff結構的棧式分配隊列示意圖;
[0059]圖6是扣包查毒方法的網卡數據包收發包過程示意圖;
[0060]圖7是扣包查毒方法的網卡數據包在內核層接收並映射到應用層示意圖;
[0061]圖8為本發明一種雙核心雙出口星型網絡的查毒方法的一具體實施例的使用SMTP協議傳輸文件的示意圖;
[0062]圖9為本發明一種雙核心雙出口星型網絡的查毒方法的一具體實施例的使用POP3協議傳輸文件的示意圖;
[0063]圖10為本發明一種雙核心雙出口星型網絡的查毒方法的一具體實施例的使用FTP協議傳輸文件的示意圖;
[0064]圖11為本發明一種雙核心雙出口星型網絡的查毒裝置的一具體實施例的防毒牆構成示意圖。

【具體實施方式】
[0065]為使本發明雙核心雙出口星型網絡的查毒方法及裝置的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明做進一步詳細說明,但是,應當說明的是,以下所描述的具體實施例僅用於說明本發明,但不是限定本發明的範圍。
[0066]本實施例的雙核心雙出口星型網絡查毒方法,如圖3所示,包括如下步驟:
[0067]S100,在雙核心雙出口星型網絡的雙鏈路上各自部署一臺防毒牆,雙側防毒牆之間彼此直連,兩臺防毒牆各自採用扣包方法查殺和阻斷病毒;
[0068]S200,TCP連接的雙向數據流經過防毒牆時,防毒牆各自獨立地採用扣包方法查殺並阻斷數據流中帶毒文件的傳輸;TCP連接的單向數據流經過一側防毒牆時,該側防毒牆根據傳輸協議類型將同步信息同步到對端防毒牆;
[0069]S300,任一側防毒牆根據對端防毒牆同步過來的同步信息,輔助進行子連接跟蹤對子連接並各自獨立地對流經的TCP連接的單向數據流採用扣包方法進行病毒查殺,在發現病毒時報告帶毒文件的精確網絡位置。
[0070]下面對上述步驟做詳細說明:
[0071]步驟S100,在雙核心雙出口星型網絡的雙鏈路上各自部署一臺防毒牆,雙側防毒牆之間彼此直連,兩臺防毒牆各自採用扣包方法查殺和阻斷病毒。
[0072]如圖1所示,在雙核心雙出口星型網絡核心路由器Ra和Rb的出口處分別部署一臺防毒牆。
[0073]此處需要說明的是,所述兩臺防毒牆的結構及功能完全相同,兩臺防毒牆根據TCP連接的雙向數據流是否經過同側防毒牆而決定是否同步信息到對端防毒牆。在兩臺防毒牆中設置發送、接收同步信息的網卡並進行物理直連。
[0074]較佳地,作為一種可實施方式,兩側防毒牆之間通過雙絞線直連的一對網卡構成同步鏈路,網卡均處於混雜模式,可監聽所有收到的數據包。
[0075]同步方法的實質是將帶有同步信息的原始數據包通過本側同步網卡拷貝一份並直接發往對端。
[0076]對端在收到同步的數據包後,使用數據包中的TCP首部的四元組信息定位相應的TCP連接數據結構,再根據具體的應用層解析出所需要的子連接協商信息或者傳輸文件網絡位置信息。
[0077]需要說明的是,所述同步鏈路用於在兩臺防毒牆之間完成信息的傳遞,本實施例中通過雙絞線直連的方式實現,當然也可以採用本領域技術人員所熟知的其他方式實現同步鏈路。
[0078]此處防毒牆採用扣包方法查殺並阻斷病毒,取締了傳統的透明代理查毒手段。採用扣包方法的防毒牆並不接管原始連接,也不建立代理連接;而是作為數據流的觀察者,在文件傳輸到達最後一個數據包時,在TCP層扣留該數據包和後續重傳包,直到病毒傳統引擎完成對文件的病毒掃描,再根據掃描結果決定被扣數據包的轉發或丟棄,以及連接的繼續或阻斷。這種基於TCP層直接扣包而不是代理連接的殺毒技術,使得防毒牆類似於一根可以阻斷病毒的導線,除了病毒掃描引入的延遲,或者阻斷帶毒連接外,不改變原始連接的任何特徵。
[0079]較佳地,作為一種可實施方式,步驟S200,TCP連接的雙向數據流經過防毒牆時,防毒牆各自獨立地採用扣包方法查殺並阻斷數據流中帶毒文件的傳輸;TCP連接的單向數據流經過一側防毒牆時,該側防毒牆根據傳輸協議類型將同步信息同步到對端防毒牆,包括以下步驟:
[0080]S210,兩側防毒牆同時判斷TCP連接雙向數據流是否經過同側防毒牆,如果是則執行步驟S220,否則執行步驟S230 ;
[0081]如圖4所示,客戶端10.1.3.68訪問位於10.1.0.157上的web站點的主頁面index, html,則客戶端和伺服器之間要完成TCP連接的三次握手,在建立TCP連接的三次握手過程中,防毒牆作為數據流的觀察者,可以判斷TCP連接的雙向數據流是否經過同側防毒牆。所述防毒牆在TCP連接握手階段捕獲解析並判斷雙向數據流是否通過同側防毒牆為成熟技術,作為本【技術領域】人員可以根據介紹實現,此處不再贅述。
[0082]此處需要說明的是,在TCP的3次握手階段之後,防毒牆就能夠判斷出TCP連接雙向數據流的走向。如果單側防毒牆只看到SYN包和第3個ACK包,或者只看到SYNACK包,就表明TCP連接雙向數據流分別流經兩側鏈路。
[0083]S220,防毒牆捕獲並解析TCP連接的雙向數據流,直接利用扣包方法對帶毒數據流進行查殺和阻斷後結束返回;
[0084]此處需要說明的是,在雙核心雙出口星型網絡中,對於布置在核心路由器出口處的防毒牆,在TCP連接雙向數據流都經過同一防毒牆時,該防毒牆正常工作,可以完成查毒的工作。對本發明實施例雙核心雙出口星型網絡查毒方法也是如此,當TCP連接雙向數據流都經過同一防毒牆時,該防毒牆直接利用扣包方法對捕獲解析出的雙向數據流查殺並阻斷病毒後結束返回,在報告病毒事件時,同時能報告帶毒文件的網絡位置。
[0085]S230,一側防毒牆捕獲經過的TCP連接的單向數據流,根據傳輸協議類型判斷是否需要同步所述同步信息到對端防毒牆;並在判斷出需要同步所述同步信息到對端防毒牆時,提取出子連接協商信息或者傳輸文件的網絡位置信息作為同步信息通過防毒牆間同步鏈路發送給對端防毒牆;
[0086]此處需要說明的是,需要同步的信息是用來確定傳輸文件網絡位置的信息的網絡位置信息或者輔助子連接跟蹤的自連接跟蹤信息,要同步的數據包數量很少,佔用的帶寬和資源相當有限。如在使用HTTP協議進行文件傳輸時的客戶端發出的GET請求數據包。
[0087]較佳地,作為一種可實施方式,所述S230,一側防毒牆捕獲經過的TCP連接的單向數據流,根據傳輸協議類型判斷是否需要同步所述同步信息到對端防毒牆;並在判斷出需要同步所述同步信息到對端防毒牆時,提取出子連接協商信息或者傳輸文件的網絡位置信息作為同步信息通過防毒牆間同步鏈路發送給對端防毒牆,包括以下步驟:
[0088]S231,判斷TCP連接的單向數據流的傳輸協議類型;
[0089]S232,當判斷出所述傳輸協議為HTTP傳輸協議時,本側防毒牆從TCP連接的單向數據流中捕獲到GET信息作為同步信息,通過防毒牆間同步鏈路將所述GET信息發送給對端防毒牆;
[0090]S233,當判斷出所述傳輸協議為SMTP或者POP3傳輸協議時,本側防毒牆不提取同步信息,也不發送同步信息到對端防毒牆,兩側防毒牆各自從郵件本身中提取網絡位置信息;
[0091]S234,當判斷出所述傳輸協議為FTP傳輸協議時,本側防毒牆以P0RT、ST0R、RETR、CffD和227應答作為同步信息,通過防毒牆間同步鏈路將所述PORT、STOR、RETR、CffD和227
應答發送給對端防毒牆。
[0092]較佳地,作為一種可實施方式,本實施例中,一側防毒牆通過網卡發送同步信息給對端防毒牆,同步信息經過兩臺防毒牆之間直連的雙絞線到達對端。
[0093]此處需要說明的是,一側防毒牆發送同步信息給對端防毒牆,對端防毒牆不返回確認信息,同步信息丟失不影響TCP數據流在兩側防毒牆的正常轉發。因此,設置在雙核心雙出口星型網絡兩齣口處的兩臺防毒牆呈鬆散耦合關係,一側防毒牆宕機或者同步信息丟失時不影響對端防毒牆的數據包轉發。
[0094]較佳地,作為一種可實施方式,步驟S300,任一側防毒牆根據對端防毒牆同步過來的同步信息,輔助進行子連接跟蹤,並各自獨立地對經過的TCP連接的單向數據流採用扣包方法進行病毒查殺,在發現病毒時報告帶毒文件的精確網絡位置,包括以下步驟:
[0095]S310,判斷所述TCP連接的單向數據流的傳輸協議類型;
[0096]S320,當判斷出所述傳輸協議為HTTP傳輸協議時,本側防毒牆對經過的單方向數據流利用扣包方法查殺和阻斷病毒,並利用對端同步過來的GET請求中的URL信息對所查殺的病毒報告精確的網絡位置;
[0097]當所述傳輸協議為SMTP或者POP3傳輸協議時,本側防毒牆對經過的單向數據流直接利用扣包方法查殺和阻斷病毒,並獨立地從郵件本身中解析出網絡位置信息;
[0098]此處需要說明的是,所述網絡位置信息為郵件的發件人或收件人。
[0099]當所述傳輸協議為FTP傳輸協議時,根據FTP文件傳輸模式和類型,本側防毒牆選擇利用對端同步信息中的PORT命令或227應答獲知FTP數據連接的協商信息並跟蹤數據連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網絡位置信息。
[0100]較佳地,作為一種可實施方式,所述當所述傳輸協議為FTP傳輸協議時,根據FTP文件傳輸模式和類型,本側防毒牆選擇利用對端同步信息中的PORT命令或227應答獲知FTP數據連接的協商信息並跟蹤數據連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網絡位置信息,包括以下步驟:
[0101]S321,判斷所述FTP文件傳輸模式和類型;
[0102]S322,當判斷出所述FTP文件傳輸為主動連接-文件上傳時,上傳方向的防毒牆直接對上傳文件採用扣包進行病毒的查殺和阻斷;並獨立地獲得子連接協商信息和文件路徑信息;
[0103]S323,當判斷出所述FTP文件傳輸為主動連接-文件下載時,下載方向的防毒牆利用對端同步的子連接協商信息和文件路徑信息對下載文件採用扣包方法進行病毒的查殺和阻斷;
[0104]S324,當判斷出所述FTP文件傳輸為被動連接-文件上傳時,上傳方向的防毒牆利用對端同步的子連接協商信息採用扣包方法進行病毒的查殺和阻斷,並獨立地獲得文件路徑息;
[0105]S325,當判斷出所述FTP文件傳輸為被動連接-文件下載時,下載方向的防毒牆獨立地獲得子連接協商信息,採用扣包方法進行病毒的查殺和阻斷,並獲得對端同步過來的文件路徑信息。
[0106]此處需要說明的是,所述文件路徑信息即為FTP文件傳輸中上傳或下載的文件的網絡位置。
[0107]較佳地,作為一種可實施方式,所述任一防毒牆根據對端防毒牆同步過來的子連接協商信息,輔助進行子連接跟蹤以對子連接進行病毒查殺;或者根據同步過來的網絡位置信息,在發現病毒時報告帶毒文件的精確網絡位置,包括以下操作:
[0108]防毒牆通過TCP四元組將通過同步鏈路發送過來的同步信息與所述TCP連接單向數據流置入同一個TCP連接數據結構中處理,從而識別負責文件傳輸的子連接,以及文件網絡位置信息。
[0109]由上所述可得,在雙核心雙出口星型網絡中,本發明實施例可以在防毒牆只捕獲單向數據流的情況下完成對數據流的查毒,實現病毒掃描和阻斷,並能確定數據流的網絡位置。對於未列舉的更多協議,也可以如法炮製。
[0110]下面詳細說明本發明中的扣包查毒方法,其可以參見本 申請人:申請號201310066604.1的《網絡傳輸數據病毒檢測處理方法》發明專利申請文件。
[0111]網絡傳輸數據病毒檢測處理方法,包括如下步驟:
[0112]步驟A100,在網卡的內核層中設置預設大小的常駐內存作為零拷貝內存,並配置為零拷貝sk_buff結構的棧式分配隊列,同時在內核層設置與棧式分配隊列的索引相應的接收隊列和放走隊列,對網絡傳輸的收發數據包進行分配和釋放。
[0113]在網卡的內核層中設置預設固定大小的常駐內存作為零拷貝內存,用於網卡收包隊列的分配和釋放。
[0114]本發明實施例中,作為一種可實施方式,所述步驟AlOO包括如下步驟:
[0115]步驟A110,在網卡的內核層的低端內存中設置預設大小的常駐內存作為零拷貝內存;
[0116]較佳地,作為一種可實施方式,在32位Linux內核中,896MB以下的物理內存為低端內存,在該32位Linux內核的低端內存中,設置預設大小的常駐內存作為零拷貝內存,該零拷貝內存用於網卡收發包隊列的分配。
[0117]步驟A120,將所述零拷貝內存分配為P00L_SIZE/2整數個物理頁(P00L_SIZE/2為大於I的整數),每個物理頁大小為4096位元組,且設定為不允許換出到交換空間,並將每個物理頁等分為2個半頁,每個半頁大小為2048位元組,用於收發數據包;
[0118]較佳地,作為一種可實施方式,在內核層的低端內存中分配P00L_SIZE/2整數個物理頁,在圖5中以方塊表示。每個物理頁大小為4096位元組,且設定為不允許換出到交換空間。每個物理頁等分為2個半頁,每個半頁大小為2048位元組。在零拷貝內存中,每個半頁被稱為零拷貝半頁,用於收取數據包。
[0119]步驟A130,分配P00L_SIZE個sk_buff結構到零拷貝內存的P00L_SIZE個物理半頁中,作為零拷貝sk_buff結構的零拷貝內存;
[0120]sk_buff結構是現有作業系統(如Linux系統)內核層中網絡數據包處理的核心數據結構,每個sk_buff結構對應並存儲一個網絡數據包。
[0121]步驟A140,在零拷貝sk_buff結構中配置index域記錄對應物理半頁在零拷貝內存中的索引,使得每個索引一一對應綁定零拷貝sk_buff結構的零拷貝內存半頁;
[0122]由於相對於地址尋址方式,索引更容易在內核層與應用層之間傳遞和引用,本發明實施例中,較佳地,作為一種可實施方式,在零拷貝sk_buff結構中配置index域記錄對應零拷貝內存中物理半頁的索引。物理半頁的索引是根據該物理半頁在零拷貝內存中的偏移而配置,根據該物理半頁的索引和零拷貝地址就可以確定零拷貝內存中任一物理半頁的地址從而尋址到該物理半頁而讀寫其中的內容。
[0123]本發明實施例中,零拷貝sk_buff結構與P00L_SIZE個零拷貝半頁通過利用索引一一對應且綁定使用:每一個sk_buff結構都可以被分配給網卡驅動用於收發網絡數據包,網絡數據包的內容存放在對應的物理半頁中。
[0124]步驟A150,配置零拷貝sk_buff結構為棧式分配隊列,在分配sk_buff結構時採用出棧操作,在釋放sk_buff結構時採用壓棧操作;
[0125]如圖5所示,為了便於零拷貝sk_buff結構的分配,作為一種可實施方式,本發明實施例中,利用棧結構技術進行內存分配和釋放,將配置零拷貝sk_buff結構為棧式分配隊列,棧頭以top表示,分配sk_buff結構地採用出(pop)棧操作,在釋放sk_buff結構時採用壓(push)棧操作。
[0126]步驟A160,根據所述零拷貝內存的索引,在內核層中設置數據包接收隊列和放走隊列。
[0127]內核層接收隊列是在內核中分配的與零拷貝物理半頁數量相等的隊列,隊列通過head從頭部讀取,通過tail向尾部寫入。隊列的每一項都可以存放一個零拷貝半頁的索弓丨,這個索引相應於sk_buff結構中的index域,藉助該索引,可以找到對應的sk_buff結構和零拷貝半頁。
[0128]類似地,放走隊列與接收隊列結構完全相同,因此在本發明實施例中不再一一詳細描述。
[0129]步驟A200,通過虛存技術設置將所述零拷貝sk_buff結構的棧式分配隊列、數據包接收隊列和放走隊列映射到用戶層,在用戶層以虛地址方式訪問。
[0130]本發明實施例中,通過虛存技術設置,將該零拷貝sk_buff結構的棧式分配隊列、數據包接收隊列和放走隊列映射到用戶層,使得查殺毒計算機病毒的進程可以直接通過該用戶層中的虛存進行訪問,從而避免內核空間與用戶層的拷貝;
[0131]本發明實施例中,通過虛存映射方法將該零拷貝內存、數據包接收隊列和放走隊列映射到網卡的用戶層,並在用戶層以虛地址方式直接訪問,同時將數據包在內核中直接轉發,從而繞開內核TCP/IP協議棧,而且其不依賴於內核橋接技術的數據包轉發,從而剝離了與內核的緊密耦合關係,避免數據包在內核與用戶層之間的拷貝,提高數據包的處理效率。
[0132]本發明實施例中,根據所述零拷貝內存的索引,在內核層中設置數據包接收隊列和放走隊列,並通過虛存映射方法,同時將這兩個隊列映射到應用層。
[0133]本發明實施例中,稱應用層的接收隊列為鏡像接收隊列,稱應用層的放走隊列為鏡像放走隊列,稱應用層的零拷貝sk_bufT結構的棧式分配隊列為鏡像分配隊列。
[0134]作為一種可實施方式,映射由圖5底部的方塊表示,這些區域表示零拷貝內存在用戶層中的映射。
[0135]作為一種可實施方式,應用層訪問鏡像分配隊列、鏡像接收隊列和鏡像放走隊列通過映射設備文件完成的,通過在內核層中為每個網卡添加了一個字符型虛擬設備,應用層則透過對應於該字符型虛擬設備的設備文件完成對鏡像分配隊列、鏡像接收/放走隊列的映射和訪問操作。
[0136]通過虛存映射方法設置將網卡的內核層數據映射到網卡的用戶層,並在用戶層以虛地址方式訪問,是一種現有技術,因此,在本發明實施例中,不再一一詳細描述。
[0137]步驟A300,在網卡處理收包軟中斷時,網卡驅動接收傳輸的數據包,將其傳輸入棧到零拷貝sk_buff結構的棧式分配隊列中,並將接收數據包結構中的索引寫入棧到接收隊列。
[0138]如圖6所示,現有技術中,高性能網卡如千兆/萬兆網卡中普遍採用硬體環形隊列結構,通過在收包環形隊列中預留多個sk_buff結構,持續接收數據包時,由網卡DMA(Direct Memory Access,直接內存存取)將數據包連續寫入多個sk_buff結構;發包時可向發包環形隊列加入若干sk_buff結構,由網卡DMA將數據包從網口連續發出。當預留的sk_buff結構被到來的數據包填充並交付處理流程時,補充預留的sk_buff結構;當網卡發包完畢時,數據包佔用的sk_buff結構隨即釋放。現有技術中內核層調用函數skb_all0C和skb_free為網卡分配和釋放sk_buff數據結構。而現有技術中,由skb_alloc分配的sk_bufT結構的地址是無法預測的。
[0139]本發明實施例中,為實現對網卡傳輸的數據包的計算機查殺毒處理,作為一種可實施方式,將現有技術中的skb_alloc O函數和skb_free函數修改為modified_skb_alloc O函數和modified_skb_kfree O函數,使得sk_buff結構的分配和釋放是在零拷貝sk_buff結構的棧式分配隊列中進行的,而不是隨機分配,如下所示:
[0140]

【權利要求】
1.一種雙核心雙出口星型網絡的防毒方法,其特徵在於,包括以下步驟: S100,在雙核心雙出口星型網絡的雙鏈路上各自部署一臺防毒牆,雙側防毒牆之間彼此直連,兩臺防毒牆各自採用扣包方法查殺和阻斷病毒; S200,TCP連接的雙向數據流經過防毒牆時,防毒牆各自獨立地採用扣包方法查殺並阻斷數據流中帶毒文件的傳輸;TCP連接的單向數據流經過一側防毒牆時,該側防毒牆根據傳輸協議類型將同步信息同步到對端防毒牆; S300,任一側防毒牆根據對端防毒牆同步過來的同步信息,輔助進行子連接跟蹤,並各自獨立地對經過的TCP連接的單向數據流採用扣包方法進行病毒查殺,在發現病毒時報告帶毒文件的精確網絡位置。
2.根據權利要求1所述的雙核心雙出口星型網絡的防毒方法,其特徵在於: 兩側防毒牆中各自設定用於發送和/或接收同步信息的網卡; 所述兩側防毒牆之間通過雙絞線進行物理直連。
3.根據權利要求1所述的雙核心雙出口星型網絡的防毒方法,其特徵在於,所述S200,包括以下步驟: S210,兩側防毒牆同時判斷TCP連接雙向數據流是否經過同側防毒牆,如果是則執行步驟S220,否則執行步驟S230 ; S220,防毒牆捕獲並解析TCP連接的雙向數據流,直接利用扣包方法對帶毒數據流進行查殺和阻斷後結束返回; S230, 一側防毒牆捕獲經過的TCP連接的單向數據流,根據傳輸協議類型判斷是否需要同步所述同步信息到對端防毒牆;並在判斷出需要同步所述同步信息到對端防毒牆時,提取出子連接協商信息或者傳輸文件的網絡位置信息作為同步信息通過防毒牆間同步鏈路發送給對端防毒牆。
4.根據權利要求3所述的雙核心雙出口星型網絡的防毒方法,其特徵在於,所述S230,包括以下步驟: S231,判斷TCP連接的單向數據流的傳輸協議類型; S232,當判斷出所述傳輸協議為HTTP傳輸協議時,本側防毒牆從TCP連接的單向數據流中捕獲到GET信息作為同步信息,通過防毒牆間同步鏈路將所述GET信息發送給對端防毒牆; S233,當判斷出所述傳輸協議為SMTP或者POP3傳輸協議時,本側防毒牆不提取同步信息,也不發送同步信息到對端防毒牆,兩側防毒牆各自從郵件本身中提取網絡位置信息; S234,當判斷出所述傳輸協議為FTP傳輸協議時,本側防毒牆以PORT、STOR、RETR、CffD和227應答作為同步信息,通過防毒牆間同步鏈路將所述PORT、STOR、RETR、CffD和227應答發送給對端防毒牆。
5.根據權利要求4所述的雙核心雙出口星型網絡的防毒方法,其特徵在於,所述S300,包括以下步驟: S310,判斷所述TCP連接的單向數據流的傳輸協議類型; S320,當判斷出所述傳輸協議為HTTP傳輸協議時,本側防毒牆對經過的單方向數據流利用扣包方法查殺和阻斷病毒,並利用對端同步過來的GET請求中的URL信息對所查殺的病毒報告精確的網絡位置; 當所述傳輸協議為SMTP或者POP3傳輸協議時,本側防毒牆對經過的單向數據流直接利用扣包方法查殺和阻斷病毒,並獨立地從郵件本身中解析出網絡位置信息; 當所述傳輸協議為FTP傳輸協議時,根據FTP文件傳輸模式和類型,本側防毒牆選擇利用對端同步信息中的PORT命令或227應答獲知FTP數據連接的協商信息並跟蹤數據連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網絡位置信息。
6.根據權利要求5所述的雙核心雙出口星型網絡的防毒方法,其特徵在於,所述當所述傳輸協議為FTP傳輸協議時,根據FTP文件傳輸模式和類型,本側防毒牆選擇利用對端同步信息中的PORT命令或227應答獲知FTP數據連接的協商信息並跟蹤數據連接,利用扣包方法查殺和阻斷病毒,選擇利用對端同步信息中的CWD、RETR和STOR命令獲取帶毒文件的網絡位置信息,包括以下步驟: S321,判斷所述FTP文件傳輸模式和類型; S322,當判斷出所述FTP文件傳輸為主動連接-文件上傳時,上傳方向的防毒牆直接對上傳文件採用扣包進行病毒的查殺和阻斷;並獨立地獲得子連接協商信息和文件路徑信息; S323,當判斷出所述FTP文件傳輸為主動連接-文件下載時,下載方向的防毒牆利用對端同步的子連接協商信息和文件路徑信息對下載文件採用扣包方法進行病毒的查殺和阻斷; S324,當判斷出所述FTP文件傳輸為被動連接-文件上傳時,上傳方向的防毒牆利用對端同步的子連接協商信息採用扣包方法進行病毒的查殺和阻斷,並獨立地獲得文件路徑信息; S325,當判斷出所述FTP文件傳輸為被動連接-文件下載時,下載方向的防毒牆獨立地獲得子連接協商信息,採用扣包方法進行病毒的查殺和阻斷,並獲得對端同步過來的文件路徑信息。
7.根據權利要求1至6中任意一項所述的雙核心雙出口星型網絡的防毒方法,其特徵在於: 兩臺防毒牆處於鬆散耦合關係,同步信息的丟失或者任一臺防毒牆的宕機不會影響對端防毒牆的數據包轉發和病毒阻斷。
8.一種雙核心雙出口星型網絡的防毒裝置,其特徵在於,在雙側鏈路上各部署一臺防毒牆,兩側防毒牆之間通過同步鏈路連接,其中: 雙核心網絡與外部網絡的交互流量通過防毒牆進行傳輸; 所述同步鏈路物理連接兩側防毒牆,傳輸兩側防毒牆之間的同步信息; 兩側防毒牆用於查殺雙核心雙出口星型網絡傳輸的數據流中的病毒。
9.根據權利要求8所述的雙核心雙出口星型網絡的防毒裝置,其特徵在於,所述兩側防毒牆由相同的模塊組成,所述防毒牆包括: 配置模塊、數據流捕獲模塊、半連接判斷模塊、扣包查毒模塊、信息同步模塊、單向數據流處理模塊和病毒報告模塊; 所述配置模塊用於配置兩臺防毒牆之間互相連通的同步鏈路; 所述數據流捕獲模塊,用於捕獲經過防毒牆的數據流; 所述半連接判斷模塊,用於判斷防毒牆是否只捕獲TCP連接的單向數據流,當防毒牆捕獲TCP連接的雙向數據流時,則利用扣包查毒模塊直接對數據流查殺病毒處理;當防毒牆只捕獲TCP連接的單向的數據流時,則利用信息同步模塊對數據流進行處理; 所述扣包查毒模塊,用於對防毒牆所捕獲的數據流中的病毒進行查殺,當半連接判斷模塊對數據流捕獲模塊所捕獲的數據流進行判斷後,防毒牆捕獲TCP連接的雙向數據流時,直接對數據流捕獲模塊捕獲的雙向數據流中的病毒進行查殺; 所述信息同步模塊,用於判斷所接收的單向數據流是否需要發送同步信息到對端防毒牆,當需要發送同步信息到對端防毒牆時,則發送同步信息,並通同步鏈路發送給對端防毒牆,否則直接利用單向數據流處理模塊對單向數據流進行處理; 所述單向數據流處理模塊,用於選擇利用同步信息配合扣包查毒模塊對防毒牆捕獲的TCP連接的單向數據流進行子連接定位,病毒的查殺和阻斷,並確定傳輸文件的網絡位置信息; 所述病毒報告模塊,用於在有病毒事件發生時,報告病毒事件,並同時報告帶毒文件的網絡位置。
10.根據權利要求9所述的雙核心雙出口星型網絡的防毒裝置,其特徵在於: 所述防毒牆捕獲雙向數據流時,扣包查毒模塊對數據流查殺病毒後,如果發現帶毒文件,病毒報告模塊報告病毒事件,同時報告帶毒文件的網絡位置; 所述防毒牆捕獲單向數據流時,扣包查毒模塊對數據流查殺病毒後,如果發現帶毒文件,病毒報告模塊報告病毒事件,根據單向數據流處理模塊確定的網絡位置信息,同時報告帶毒文件的網絡位置。
11.一種雙核心雙出口星型網絡的防毒系統,包括伺服器和客戶端,其特徵在於,還包括如權利要求8-10任一項所述的防毒裝置。
【文檔編號】H04L12/44GK104184707SQ201310196442
【公開日】2014年12月3日 申請日期:2013年5月24日 優先權日:2013年5月24日
【發明者】張量, 張亞慶 申請人:北京瑞星信息技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀