專利名稱:用于防御非法通信的裝置及其網絡系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種用于防止非法通信的通信裝置以及一種非法通信防御裝置及其網絡系統(tǒng)。
背景技術:
近年來,由于保護個人信息的法律和以因特網為代表的IP(因特網協(xié)議)網絡聯(lián)絡線的建立,網絡安全已變得愈發(fā)重要。
許多公司和個人在與通信服務提供商的接入點處例行地安裝諸如FW(防火墻)、IDS(入侵檢測系統(tǒng))、以及IPS(入侵防御系統(tǒng))等用于防御非法通信的裝置,以防止對該網絡安裝的服務器的攻擊并防止信息從該網絡中安裝的PC泄露,并以此保護其信息資源。
這些類型的防御非法通信的裝置檢測試圖進行非法通信的主機,并同時拒絕來自所檢測到的主機的非法通信或限制非法通信的帶寬,并保護合法通信。
通過諸如在會話表中存儲通信狀態(tài)以及根據通過SYN-ACK分組的代理應答判斷該通信是否合法等方法,拒絕使用TCP協(xié)議的非法通信,而保護使用TCP協(xié)議的合法通信(見Christoph L.Schuba,IvanV.Krsul,Markus G.Kuhn,Eugene H.Spafford,Aurobindo Sundarum,Diego Zamboni的“Analysis of a Denial of Service Attack on a TCP”,IEEE Symposium,1997年5月,P.208-223)。
但是仍有一些攻擊僅通過在接入點安裝這些非法通信防御裝置(FW、IDS、IPS)不能防止。例如攻擊者可能使用已攻占的服務器和多個僵尸服務器(zombie server)向客戶端PC正在與Web服務器進行通信的通信路徑上的路由器發(fā)送大量分組,以降低該路由器的分組傳輸能力。這樣在PC和服務器之間流動的分組在受攻擊的路由器被丟棄,以至于不能正常通信。
抵御這種攻擊需要通信服務提供商在與該網絡的上游側的其它網絡的連接點的邊緣路由器中增加防御非法通信的功能,分析網絡上進行的所有通信,可靠地檢測并拒絕所有類型的非法通信以防止對路由器和服務器的攻擊,包括DDoS(分布式拒絕服務)以及諸如P2P(對等)的大量通信。
盡管公司和私有網絡通常在一個點處與通信服務提供商的網絡連接,但是另一方面通信服務提供商的網絡在多個點處與其他多個通信服務提供商網絡連接。
通信服務提供商的網絡使用諸如RIP(見C.Hedrick,“RoutingInformation Protocol”,RFC1058,1998年6月。)和OSPF(見J.Moy,“OSPF Version 2”,RFC1583,1994年3月。)的最短路徑搜索算法作為網絡內的路由協(xié)議。因此在一些情況下,在與主機的通信期間前向路徑和返回路徑可能不同。
防御非法通信需要制定會話表,該會話表用于記錄包括連接請求源地址、連接請求目的地址、以及示出最近通信發(fā)生時間的記錄時間的通信數據。
覆蓋會話表中所記錄的通信數據的方法包括使用散列標記來搜索表格,若沒有匹配數據,則覆蓋多個通信數據中記錄時間最早的數據(見“Resisting SYN flooding DoS attacks with a SYN cache”,Proceeding of USENIX BSDCon’2002,2002年2月,p.89-98。)發(fā)明內容有多種攻擊不能只通過在私人或公司網絡和通信服務提供商網絡之間的聯(lián)絡點處安裝非法通信防御裝置而防止。因此,必須通過在與該網絡上游端的其他網絡的連接點處的邊緣路由器中添加功能以防御非法通信,檢測進行非法通信的主機,以及拒絕非法通信或限制來自該檢測到的主機的非法通信的帶寬,來保護合法通信。
下面參考圖22描述通過使用防御這類非法通信(攻擊)的裝置來拒絕非法通信的過程。
具有虛假傳輸源IP地址、以A作為傳輸序列號(SEQ號)的SYN分組1703從攻擊用戶的主機1701發(fā)送到另一個主機1702。當這一SYN分組1703到達非法通信防御裝置1700時,隨機值B附加到SYN-ACK分組1704的SEQ號(過程1708)并且這一SYN-ACK分組1704返回到虛假傳輸源IP地址。因為傳輸源IP地址是虛假的,所以攻擊用戶的主機1701不能接收到這一SYN-ACK分組1704(過程1706),防御裝置1700不知道附加在SYN-ACK分組1704的SEQ號的值B。即使假設攻擊用戶主機1701預測值B是E,并向連接請求目的主機1702發(fā)送ACK號設定為E+1的ACK分組1705(過程1707),該ACK號不匹配預測值B+1,使得判斷傳輸源IP地址和連接請求主機1702之間的通信是非正常的,并丟棄ACK分組1705(過程1709)。
由于非法通信的傳輸源、SEQ號和ACK號是虛假的,所以防御裝置1700以這一方式服務于該通信。
另一方面,當如圖2中所示在非法通信防御期間判斷分組是合法通信時,該分組的前向路徑和返回路徑必須是相同路徑以便執(zhí)行過程1619,過程1619用于通過使用從連接請求目的主機1602發(fā)送的SYN-ACK分組1610中所寫的SEQ號C對來自連接請求目的主機1602的數據分組1613的SEQ號進行轉換。但是在使用非專利文件2和3中的技術進行路由的通信服務提供商的網絡上,前向路徑和返回路徑不同,因此使用上述非法通信防御導致合法(正常)通信不可用的問題。
當使用上述非法通信防御而前向和返回通信路徑不同時,正常通信變成不可用的問題在下面參考圖23和圖24描述。
圖23示出真實(授權)用戶1811與主機1812通信的情況。在真實用戶主機1811和主機1812之間有四個網絡1801到1804,前向路徑沿著路徑1840經由網絡1801和非法通信防御裝置1820設置;而返回路徑由通信裝置1822沿著路徑1850經由網絡1803而設置。當真實用戶的主機1811向主機1812發(fā)送以A作為序列號(SEQ號)的SYN分組1903時,非法通信防御裝置1820向主機1811返回附加有隨機值B到SEQ號的SYN-ACK分組1904(過程1910)。然后,當主機1811向連接請求目的主機1812發(fā)送ACK分組1905時,非法通信防御裝置1820判斷ACK分組1905的接收序列號(ACK號)是否匹配過程1910中的SEQ號+1。只有當序列號匹配(過程1911)時,非法通信防御裝置1820識別其為真實通信,并向連接請求目的主機1812發(fā)送以A作為SEQ號、0作為ACK號的SYN分組1908。接收到SYN分組1908的連接請求目的主機1812向連接請求源主機1811返回附加了隨機值C到SEQ號的SYN-ACK分組1906(過程1913)。這一SYN-ACK分組1906通過路徑1850到達真實用戶主機1811,所以非法通信防御裝置1820未進行SEQ號的轉換。SYN-ACK分組1906的SEQ號與真實用戶主機1811預期的B值不同,因此該分組被丟棄(過程1830和1912)。此外,非法通信防御裝置1820未接收到SYN-ACK分組1906,所以真實用戶主機1811不能傳遞傳輸的數據分組1907(過程1914)。非法通信防御裝置1820可以排除來自攻擊用戶1810的非法通信1860。
在上述非法通信防御中,當從虛假傳輸源地址隨機生成的大量連接請求被連續(xù)發(fā)送到特定主機時,記錄在會話表中的通信數據量大量增長。真實(正確)通信的通信數據在連接請求源主機和連接請求目的主機之間具有很大的RTT(往返時間)以及延時狀態(tài)轉換,因此其更新(重寫)頻率很低,這使得其易于被覆蓋,并導致對真實(或正確)通信的保護很可能失敗。
為了解決這些問題,本發(fā)明提供一種通信裝置,包括在與通信服務提供商網絡聯(lián)絡的多個點處進行非法通信控制可用的路由方法;以及一種非法通信防御裝置,包括通過即使在非法通信大規(guī)模發(fā)送時也能在保護具有大的RTT的真實通信時使得失敗率最小化以防御非法通信的方法;以及包含這些裝置的網絡系統(tǒng)。
在本發(fā)明的一個方面中,一種通信裝置連接到網絡,用于接收網絡上交換的分組,并根據分組目的地傳輸分組,所述通信裝置其特征在于包含控制單元;存儲單元,用于存儲存儲有所述目的信息的路由表;并且當所接收的分組是連接請求時,所述控制單元將鏈接到接收所述分組的線路號的分組的傳輸源地址存儲到路由表中,并且當沒有來自所接收的分組的連接請求時,所述控制單元參照所述路由表,獲取鏈接到與所述分組的目的地址相匹配的地址的線路號,并經由所獲取的線路號發(fā)送可應用的分組。
本發(fā)明包括具有在與通信服務提供商網絡聯(lián)絡的多個點處實現非法通信控制的路由方法的裝置和網絡系統(tǒng);并進一步包括防御非法通信的方法,即使在非法通信大規(guī)模發(fā)送時,該方法也能使得失敗的可能性最小化以保護具有長RTT的正常通信;
圖1是描述本發(fā)明實施例的網絡系統(tǒng)的圖;圖2是示出本發(fā)明實施例的網絡系統(tǒng)的操作的序列圖;圖3是本發(fā)明實施例中的非法通信防御裝置、通信裝置、以及主機之間的通信的序列圖;圖4是示出本發(fā)明實施例的網絡系統(tǒng)的操作的序列圖;圖5是示出本發(fā)明實施例的通信裝置的結構的方框圖;圖6是示出本發(fā)明實施例的通信裝置的結構的方框圖;圖7是描述本發(fā)明實施例的分組數據的圖;圖8A是示出本發(fā)明實施例的路由類型注冊表的一個實例的圖;圖8B是示出本發(fā)明實施例的正常注冊表的一個實例的圖;圖8C是示出本發(fā)明實施例的TCP路由表的一個實例的圖;圖9是本發(fā)明實施例的路由單元中的處理的流程圖;圖10是示出本發(fā)明實施例的非法通信防御裝置的結構的方框圖;圖11是示出本發(fā)明實施例的非法通信防御裝置的結構的方框圖;圖12A是示出本發(fā)明實施例的SIP-DIP表的實例的圖;圖12B是示出本發(fā)明實施例的時間表的實例的圖;
圖12C是示出本發(fā)明實施例的限制時間表的實例的圖;圖12D是示出本發(fā)明實施例的SEQ號表的實例的圖;圖12E是示出本發(fā)明實施例的狀態(tài)表的實例的圖;圖12F是示出本發(fā)明實施例的SEQ差表的實例的圖;圖13是示出本發(fā)明實施例中的SIP-DIP更新單元的操作的流程圖;圖14是示出本發(fā)明實施例的時間更新單元的流程圖;圖15是本發(fā)明實施例的限制時間更新單元的流程圖;圖16是示出本發(fā)明實施例的SEQ號更新單元的操作的流程圖;圖17是示出本發(fā)明實施例的狀態(tài)更新單元的操作的流程圖;圖18是示出本發(fā)明實施例的SEQ差更新單元的操作的流程圖;圖19是示出本發(fā)明實施例的SEQ號轉換器單元的操作的流程圖;圖20是示出本發(fā)明實施例的ACK號轉換器單元的操作的流程圖;圖21是示出本發(fā)明實施例的分組更新單元的操作的流程圖;圖22是本發(fā)明實施例的非法通信防御單元拒絕非法通信的序列圖;圖23是示出相關技術的保護正常(合法)通信失敗的情況的圖;以及圖24是示出相關技術的保護正常(合法)通信失敗的情況的序列圖。
具體實施例方式
本發(fā)明實施例的網絡系統(tǒng)在下文中描述。
圖1是描述本發(fā)明實施例的網絡系統(tǒng)的概念圖。該圖示出了防御非法通信的過程,在網絡中上游多個聯(lián)絡點處安裝多個非法通信防御裝置1600。
圖1中所示的網絡系統(tǒng)包括網絡1504和上游網絡1501、1502和1503,其中網絡1504包含通信裝置1522、以及非法通信防御裝置1600和1521。
主機1601連接到網絡1502,而主機1602連接到網絡1504。主機1601注冊為用于向主機1602發(fā)送真實連接請求的真實用戶的主機。
主機1601通過網絡1502、1501和1504向主機1602發(fā)送連接請求。這一連接請求通過非法通信防御裝置1600,經由網絡1504上的路徑1540沿著網絡1501發(fā)送到主機1602。
非法通信防御裝置1600根據發(fā)送到網絡1504的通信數據的內容判斷通信是否非法。如果非法,那么非法通信防御裝置1600服務該通信。
通信裝置1522包含路由單元并發(fā)送所接收的分組到正確的目的地。
上述結構的網絡的操作在下面描述。
圖2是示出本發(fā)明實施例的網絡系統(tǒng)的操作的序列圖。
圖2中的序列圖示出了經由網絡1504中的非法通信防御裝置1600將從作為真實用戶的主機的主機1601發(fā)送來的連接請求發(fā)送到主機1602的過程。
真實用戶的主機1601將SYN分組1603發(fā)送到作為目的地的主機1602,其中SYN分組1603的傳輸序列號(下文稱為“SEQ號”)設為“A”,且接收序列號(下文稱為“ACK號”)設為“0”。網絡1504中的非法通信防御裝置1600經由網絡1502和1501接收SYN分組1603。
當非法通信防御裝置1600接收到SYN分組1603時,其向SEQ號附加隨機值“B”,向ACK號附加“A+1”,以生成SYN-ACK分組1604(過程1614)。裝置1600將該SYN-ACK分組1604返回到作為連接請求源的主機1601。
當接收到SYN-ACK分組1604時,主機1601將SEQ號設為“A+1”,將ACK號設為“B+1”,并將ACK分組1605發(fā)送到作為目的地的連接請求主機1602。
當非法通信防御裝置1600接收到ACK分組1605時,其檢查該ACK分組1605的ACK號并判斷該ACK號是否匹配向過程1614中的SEQ號加1的值。如果這一ACK號匹配該值,那么非法通信防御裝置1600判斷其為真實(合法)通信(過程1615)。然后裝置1600生成SYN分組1609,分別將SEQ號設為“A”,ACK號設為“0”。然后將這一SYN分組1609發(fā)送到作為來自主機1601的連接請求目的地的目的主機1602。這一SYN分組1609經由通信裝置1522發(fā)送到網絡1504上的主機1602。
當作為連接請求目的地的主機1602接收到SYN分組1609時,其生成(過程1617)SYN-ACK分組1610,將隨機值“C”附加到SEQ號,“A+1”附加到ACK號。主機1602向連接請求源主機1601返回這一SYN-ACK分組1610。
當非法通信防御裝置1600接收到SYN-ACK分組1610時,其向作為目的地的連接請求目的主機1602發(fā)送ACK分組1611,分別設置SEQ號為“A+1”,ACK號為“C+1”。
在連接請求源主機1601發(fā)送ACK分組1605后,其向作為目的地的主機1602發(fā)送正常數據分組1606。
非法通信防御裝置1600在緩沖區(qū)中存儲所接收的數據分組1606(過程1616),直到完成向連接請求目的主機1602發(fā)送ACK分組1611的過程。當向連接請求目的主機1602發(fā)送ACK分組1611的過程結束時,非法通信防御裝置1600從ACK號中減去SYN-ACK分組1604的SEQ號“B”和SYN-ACK分組1610的SEQ號“C”之間的差值,以重新計算TCP校驗和(過程1618)。然后將附加有這一TCP校驗和的數據分組1612發(fā)送到作為目的地的連接請求目的主機1602。
另一方面,非法通信防御裝置1600接收從連接請求目的主機1602發(fā)送的數據分組1613。非法通信防御裝置1600向SEQ號加上SYN-ACK分組1604的SEQ號“B”和SYN-ACK分組1610的SEQ號“C”之間的差值,以重新計算TCP校驗和(過程1619)。然后將附加有這一TCP校驗和的數據分組1608發(fā)送到作為目的地的連接請求源主機1601。
圖3是網絡1504中的非法通信防御裝置1600、通信裝置1522以及主機1602之間的通信的序列圖。
網絡1504中的通信裝置1522從非法通信防御裝置接收地址為連接請求目的主機1602的SYN分組1609。
通信裝置1522從所接收SYN分組獲得傳輸源IP地址和輸入線路號,并將它們分別注冊到TCP路由表中作為目的IP地址和輸出線路號(過程301)。然后通信裝置1522根據正常路由表傳送SYN分組1609(過程302)。
當連接請求目的主機1602接收到SYN分組1609時,其生成SYN-ACK分組1610,其中附加隨機值“C”到SEQ號(過程1617),并返回這一地址是連接請求源主機1601的SYN-ACK分組1610。
當通信裝置1522接收到這一SYN-ACK分組1610時,其獲得目的IP地址,并檢查TCP路由表。然后通信裝置1522將這一SYN-ACK分組1610傳送(過程303)到過程301中所注冊的SYN分組1609的輸入線路。
通信裝置1522中的這一處理確保SYN-ACK分組1610將沿著網絡1504上的路徑1550通過并總是到達接收SYN分組1609的非法通信防御裝置1600,而不是另一個非法通信防御裝置1521。這樣,通過這種方式正確執(zhí)行了向連接請求目的主機1602發(fā)送ACK分組1611的處理,以及從數據分組1616的ACK號中減去SYN-ACK分組1604的SEQ號“B”和SYN-ACK分組1610的SEQ號“C”之間的差值并重新計算TCP校驗和的過程1618。
從作為連接請求目的地的主機1602發(fā)送的數據分組1613以相同方式傳送到過程301中的TCP路由表中所注冊的SYN分組1609的輸入線路。因此數據分組1611總是到達非法通信防御裝置1600。因此正確執(zhí)行了向數據分組1613的SEQ號加上SYN-ACK分組1604的SEQ號“B”和SYN-ACK分組1610的SEQ號“C”之間的差值并重新計算TCP校驗和的過程1619。非法通信防御裝置1600排除了來自攻擊用戶1510的非法通信。
圖4是示出本發(fā)明實施例的網絡系統(tǒng)的操作的序列圖。圖4示出了當沒有非法通信防御裝置100的緩沖區(qū)存儲處理1616時的處理。
如上所述由連接請求源主機1601發(fā)送的、地址為連接請求目的主機1602的SYN分組1603,經由非法通信防御裝置1600作為SYN分組1609進行發(fā)送。連接請求目的主機1602以連接請求源主機1601為地址發(fā)送SYN-ACK分組1610。當非法通信防御裝置1600接收到這一SYN-ACK分組1610時,其發(fā)送ACK分組1611。
這里,在連接請求源主機1601發(fā)送了ACK分組1605后,其發(fā)送地址為主機1602的正常數據分組1606。
非法通信防御裝置1600丟棄所接收的數據分組1606(過程2316),直到向連接請求目的主機1602發(fā)送ACK分組1611的過程完成。
當發(fā)現數據分組1606被丟棄時,連接請求源主機1601重發(fā)這一數據分組2306(過程2317)。
當非法通信防御裝置1600接收到數據分組2306時,在完成向連接請求目的主機1602發(fā)送ACK分組1611的處理后,非法通信防御裝置1600如上所述從ACK號中減去SYN-ACK分組1604的SEQ號“B”和SYN-ACK分組1610的SEQ號“C”之間的差值,并重新計算TCP校驗和(過程2318)。然后非法通信防御裝置1600以連接請求目的主機1602為地址發(fā)送附加了這一TCP校驗和的數據分組2312。從該點起的過程與圖2中所描述的相同。
這樣,網絡1504上的非法通信防御裝置1600、通信裝置1522中的處理確保了發(fā)送和接收的分組總是經由為該分組的傳輸源接收該分組的非法通信防御裝置1600發(fā)送。
本發(fā)明的通信裝置在下面描述。
圖5是示出本發(fā)明實施例的通信裝置的結構的方框圖。
當分組接收時,通信裝置2000從該分組的頭信息中提取ACK號、SYN號和目的IP地址,根據該信息進行路由,并將其發(fā)送到正確的目的地。
通信裝置2000包含N個網絡接口2001-n(n=1到N)以及一個交換單元2002。
交換單元2002將分組切換到正確的網絡接口2001。
網絡接口2001-n包括對應于各條線路2003-n-k的K條線路2003-n-k(k=1到K),線路號分配器單元2004-n-k(k=1到K),線路號刪除器單元2004-n-k(k=1到K),輸入分組收集器單元2006-n,路由單元100-n,流控制單元2007-n,內部交換單元2009-n,TCP-SYN鑒別器單元2011-n,輸出分組收集器單元2012-n,以及輸出分組配線單元2010-n。n=1的情況在下面描述。
線路號分配器單元2004-1-k(k=1到K)為從線路2003-1-k輸入的分組分配線路號,并將其轉換為內部裝置格式。輸入分組收集器單元2006-1收集來自線路號分配器單元2004-1的分組數據和來自TCP-SYN鑒別器單元2011-1的分組數據。路由單元100-1確定從所收集的分組數據的輸出線路號。流控制單元2007-1調節(jié)諸如QoS(服務質量)控制的分組流。內部交換單元2009-1向交換單元2002輸出輸出線路號不是以線路2003-1-k為地址的分組數據2020-1。以線路2003-1-k為地址的分組數據的輸出線路號被輸出到輸出分組收集器2012-1。當從交換單元2002接收的交換分組數據2021-1是使用TCP協(xié)議的SYN分組時,它們被TCP-SYN鑒別器單元2011-1輸出到輸入分組收集器單元2006-1。如果它們不是使用TCP協(xié)議的SYN分組,那么它們被輸出到后面描述的輸出分組收集器單元2012-1。輸出分組收集器單元2012-1從內部交換單元2009-1和TCP-SYN鑒別器單元2011-1收集分組數據。輸出分組配線單元2010-1根據分組數據的輸出線路號向任意線路號刪除器單元2005-1-k(k-1到K)輸出分組數據。線路號刪除器單元2005-1-k從裝置內部格式分組數據中刪除線路號,將其返回到原始格式,并發(fā)送該分組到線路2003-1-k。
通信裝置2000的路由單元100在下面描述。
圖6是示出通信裝置2000內的路由單元100的結構的方框圖。
路由單元100包括IP頭提取器單元101、TCP頭提取器單元102、輸入線路號提取器單元103、TCP鑒別器單元105、SYN鑒別器單元106、路由類型注冊表113、路由鑒別器單元108、正常路由表115、TCP路由表116、輸出線路號搜索單元1(110)、輸出線路號搜索單元2(111)、表寫入單元112、輸出線路號選擇單元107,以及輸出線路號分配器單元104。
IP頭提取器單元101從輸入分組數據120中提取IP頭。TCP頭提取器單元102從輸入分組數據120中提取TCP頭。輸入線路號提取器單元103從輸入分組數據120中提取輸入線路號。TCP鑒別器單元105判斷輸入分組數據120的協(xié)議是否是TCP。SYN鑒別器單元106判斷輸入數據120的TCP標志是否是SYN。路由類型注冊表113為每種分組注冊路由類型,設置正常路由或TCP路由。路由鑒別器單元108通過使用路由類型注冊表113判斷輸入分組數據120的路由類型。正常路由表115通過使用路由協(xié)議記錄每個目的IP地址的輸出線路號。TCP路由表116通過使用TCP標志是SYN的分組的輸入線路號和傳輸源IP地址記錄每個目的IP地址的輸出線路號。輸出線路號搜索單元1(110)在正常路由表115中搜索對應于輸入分組數據120的目的IP地址的輸出線路號。輸出線路號搜索單元2(111)在TCP路由表116中搜索對應于輸入分組數據120的目的IP地址的輸出線路號。表寫入單元112使用輸入分組數據120記錄每個目的IP地址的輸出線路號。輸出線路號選擇單元107根據路由類型和分組類型選擇輸出線路號搜索單元2(111)的搜索結果或輸出線路號搜索單元1(110)的搜索結果。輸出線路號分配器單元104分配輸出線路號選擇單元107所選擇的輸出線路號128給輸入分組數據120。
圖7是描述輸入到路由單元100的分組數據120的圖。
在通信裝置2000中,線路號分配器單元2004-1-k分配其自己的線路號給所接收的分組,并制成內部分組數據120。這一內部分組數據120通過輸入分組收集器單元2006輸入到路由單元100。
分組數據120包括InLine(入口線路)2201、OutLine(出口線路)2202、SMAC 2203、DMAC 2204、Proto 2205、SIP2206、DIP 2207、Sport 2208、Dport 2209,Flag(標志)2210、ChkSum(校驗和)2211、SEQ2212、ACK 2213、OtherHeader(其它頭)2214,以及Payload(負載)2215。
InLine 2201存儲作為分組被輸入的線路的標識號的輸入線路號。OutLine 2202存儲作為輸出分組的線路的標識號的輸出線路號。SMAC 2203存儲作為數據鏈路層的傳輸源地址的傳輸源MAC地址。DMAC 2204存儲作為目的地址的目的MAC地址。Proto 2205存儲網絡層的協(xié)議。SIP 2206存儲傳輸源IP地址,也就是作為傳輸側主機地址的傳輸源IP地址。DIP 2207存儲目的地址,也就是作為接收側主機地址的目的IP地址。Sport 2208存儲TCP傳輸端口。Dport 2209存儲TCP目的端口。Flag 2210存儲TCP標志。ChkSum 2211存儲TCP校驗和。SEQ 2212存儲傳輸序列號(SEQ號)。ACK 2213存儲接收序列號(ACK號)。OtherHeader 2214存儲其它IP/TCP頭數據。Payload 2215存儲除分組數據外的數據。
路由單元100的操作在下面描述。
路由單元100對輸入的分組數據120進行路由,并將其作為分組數據124輸出。
輸入到路由單元100的輸入分組數據120被輸入到IP頭提取器單元101、TCP頭提取器單元102、輸入線路號提取器單元103,以及路由鑒別器單元108。
IP頭提取器單元101從輸入分組數據120中提取IP頭125,其包含Proto 2205、SIP 2206、DIP 2207。然后將所提取的IP頭數據125輸出到TCP鑒別器單元105、輸出線路號搜索單元1(110)、輸出線路號搜索單元2(111)以及表寫入單元112。
TCP頭提取器單元102從輸入分組數據120中提取包括Flag 2210的TCP頭數據126。然后將所提取的TCP頭數據輸出到SYN鑒別器單元106。
輸入線路號提取器單元103從輸入分組數據120中提取包括InLine 2201的輸入線路號數據127。然后將所提取的輸入線路號127輸出到表寫入單元112。
路由鑒別器108搜索路由類型注冊表113。
圖8A是示出路由類型注冊表113的一個實例的圖。
路由類型注冊表113包含M個條目113(113-1到113-M)。
條目113-m(m=1到M)包括InLine 113-m-1(m=1到M)、OutLine113-m-2(m=1到M)、SMAC 113-m-3(m=1到M)、DMAC 113-m-4(m=1到M)、Proto 113-m-5(m=1到M)、SIP 113-m-6(m=1到M)、DIP113-m-7(m=1到M)、Sport 113-m-8(m=1到M)、Dport 113-m-9(m=1到M),以及RoutingType(路由類型)113-m-10(m=1到M)。
InLine 113-m-1存儲輸入線路號的條件。OutLine 113-m-2存儲輸出線路號的條件。SMAC 113-m-3存儲傳輸源MAC地址的條件。DMAC 113-m-4存儲目的MAC地址的條件。Proto 113-m-5存儲網絡層協(xié)議的條件。SIP 113-m-6存儲傳輸源IP地址的條件。DIP 113-m-7存儲目的IP地址的條件。Sport 113-m-8存儲TCP傳輸源端口。Dport113-m-9存儲TCP的目的端口。RoutingType 113-m-10存儲示出正常路由或TCP路由的信息。
更具體的說,路由鑒別器單元108在路由類型注冊表113中搜索具有匹配輸入分組數據120的條件的條目113-m(過程132)。然后將搜索到的條目113-m中所包含的RoutingType 113-m-10作為路由類型確定結果129輸出到表寫入單元112和輸出線路選擇單元107。
由IP頭提取器單元101輸出的IP頭數據125被輸入到TCP鑒別器單元105。
TCP鑒別器單元105參考(搜索)IP頭數據125中所包含的Proto2205,并確定協(xié)議是否是TCP。如果TCP鑒別器單元105確定協(xié)議是TCP,那么向表寫入單元112和輸出線路選擇單元107輸出表示“匹配”的TCP確定結果130,而如果確定協(xié)議不是TCP,那么向表寫入單元112和輸出線路選擇單元107輸出表示“不匹配”的TCP確定結果130。
由TCP頭提取器單元102輸出的TCP頭數據126被輸入到SYN鑒別器單元106。
SYN鑒別器單元106參考(搜索)TCP頭數據126中所包含的Flag2210,并確定TCP標志是否是SYN。如果TCP標志是SYN,那么向表寫入單元112和輸出線路選擇單元107輸出表示“匹配”的SYN確定結果131,而如果TCP標志不是SYN,那么向表寫入單元112和輸出線路選擇單元107輸出表示“不匹配”的SYN確定結果131。
從IP頭提取器單元101輸出的IP頭數據125被輸入到輸出線路號搜索單元110和輸出線路搜索單元111。
輸出線路號搜索單元110參考(檢查)正常路由表115,搜索對應于IP頭數據125中所包含的DIP 2207的輸出線路號。
圖8B是示出正常路由表115的一個實例的圖。
正常路由表115包括M個條目115-m(m=1到M)。
條目115-m包括DIP 115-m-1(m=1到M),以及OutLine115-m-2(m=1到M)。DIP 115-m-1存儲目的IP地址的條件。OutLine115-m-2存儲輸出線路號。
更具體的說,輸出線路號搜索單元1(110)檢查正常路由表115,搜索與IP頭數據125中所包含的DIP 2207的目的IP地址匹配的條目115-m(過程134)。然后輸出線路號搜索單元1(110)向輸出線路選擇單元107輸出包含在條目115-m中的OutLine 115-m-2,作為正常路由表搜索結果140。
輸出線路號搜索單元2(111)檢查TCP路由表116,并搜索對應于IP頭數據125中所包含的DIP 2207的輸出線路號。
圖8C是示出TCP路由表116的一個實例的圖。
TCP路由表116包含M個條目116-m(m=1到M)。
條目116-m包含DIP 116-m-1(m=1到M)和OutLine 116-m-2(m=1到M)。DIP 116-m-1存儲目的IP地址的條件。OutLine 116-m-2(m=1到M)存儲輸出線路號。
更具體的說,輸出線路號搜索單元2(111)檢查TCP路由表116,并搜索(過程135)與IP頭數據125中所包含的DIP 2207的目的IP地址匹配的條目116-m。然后輸出線路號搜索單元2(111)向輸出線路選擇單元107輸出包含在條目116-m中的OutLine 116-m-1,作為TCP路由表搜索結果141。
將IP頭提取器101輸出的IP頭數據125、路由鑒別器單元108輸出的路由類型確定結果129、TCP鑒別器單元105輸出的TCP確定結果130、SYN鑒別器單元106輸出的SYN確定結果131,以及輸入線路號提取器103輸出的輸入線路號數據127輸入到表寫入單元112。
當路由類型確定結果129是TCP路由,TCP確定結果130是“匹配”,并且SYN確定結果131也是“匹配”時,表寫入單元112獲得IP頭數據125中所包含的SIP 2206和輸入線路號數據127中所包含的InLine 2201。然后表寫入單元112將所獲得的SIP 2206設置到DIP116-m-1,并將將InLine 2201設置為OutLine 116-m-2的條目116-m注冊到TCP路由表116中(過程136)。
將路由鑒別器單元108輸出的路由類型確定結果129、TCP鑒別器單元105輸出的TCP確定結果130、SYN鑒別器單元106輸出的SYN確定結果131、輸出線路搜索號單元110輸出的正常路由表搜索結果140,以及輸出線路號搜索單元111輸出的TCP路由表搜索結果141輸入到輸出線路號選擇單元107。
當路由類型確定結果129不是TCP路由,或者當路由類型確定結果129是TCP路由而TCP確定結果130是“不匹配”;或者當路由類型確定結果129是TCP路由且TCP確定結果130是“匹配”并且SYN確定結果131是“匹配”時,那么輸出線路號選擇單元107向輸出線路號分配器單元104輸出作為輸出線路號128的包含在正常路由表搜索結果140中的OutLine 115-m-2,作為最終路由搜索結果。另一方面,當路由類型確定結果129是TCP路由且TCP確定結果130是“匹配”并且SYN確定結果131是“不匹配”時,那么輸出線路號選擇單元107向輸出線路號分配器單元104輸出作為輸出線路號128的包含在TCP路由搜索結果141中的OutLine 116-m-2,作為最終路由搜索結果。
輸入到路由單元100的輸入分組數據120,以及由輸出線路號選擇單元107輸出的輸出線路號128被輸入到輸出線路號分配器單元104。
輸出線路號分配器單元104向所接收的輸入分組數據120添加作為OutLine 2202的輸出線路號128,并生成新的分組數據124。然后這一分組數據124被輸出到流控制單元2007。
圖9是路由單元100的處理的流程圖。
路由類型鑒別器單元108首先確定路由類型是否是TCP路由(步驟201)。如果確定是TCP路由,那么TCP鑒別器單元105確定輸入分組數據120是否是TCP分組(步驟202)。如果確定是TCP分組,那么SYN鑒別器單元106確定輸入分組數據120是否是SYN分組(步驟203)。如果確定是SYN分組,那么表寫入單元112將作為包含在IP頭數據125中的傳輸源IP的SIP 2206以及包含在輸入線路號數據127中的InLine 2201分別設置到DIP 116-m-1和輸出線路號OutLine116-m-2。然后表寫入單元112將這些116-m-1條目注冊到TCP路由表116中(步驟204)。
另一方面,當步驟201中的檢查結果不是TCP路由,當步驟202中的檢查結果不是TCP分組,或者當步驟203中的檢查結果是SYN分組時,包含在正常路由表搜索結果140中的OutLine 115-m-2成為最終搜索結果128。換句話說,分組數據120根據正常路由表搜索結果140(步驟205)被路由(步驟205)。
當在步驟203確定檢查結果不是SYN分組時,那么包含在TCP路由表搜索結果141中的OutLine 116-m-2被確定為最終搜索結果128。換句話說,分組數據120根據TCP路由表搜索結果141(步驟206)被路由(步驟205)。
本發(fā)明的非法通信防御裝置在下面描述。
圖10是示出本發(fā)明實施例的非法通信防御裝置的結構的方框圖。
非法通信防御裝置2100包括N個網絡接口2101-n(n=1到N),以及一個交換單元2102,用于將分組切換到正確的網絡接口2102-n。
網絡接口2101-n包括K條線路2103-n-k(k=1到K)、對應于每條線路2103-n-k的線路號分配器單元2104-n-k和線路號刪除器單元2105-n-k(k=1到K)、輸入分組收集器2106-n、路由單元2108-n和分組收集器單元2112-n、非法通信防御單元400-n、流控制單元2107-n、內部交換單元2109-n,以及輸出分組寫入單元2110-n。下面描述當n=1的情況。
非法通信防御單元400-1檢測發(fā)送非法通信的主機,并且在控制帶寬或從主機排除非法通信的同時保護真實合法的通信。
與前述路由單元100不同,路由單元2108-1只進行真實路由。換句話說,路由單元2108-1通過通常路由表路由接收到的分組并輸出那些結果。
該結構的其他部分本質上與前述通信裝置2000相同。即,該結構包括K條線路2103-n-k(k=1到K),線路號分配器單元2104-n-1到k,用于向從線路2103-n-k輸入的分組分配線路號并轉換為裝置內部格式;輸入分組收集器2106-n,用于收集來自線路號分配器單元2104-n-k的分組數據;分組收集器單元2112-n,用于收集從路由單元2108-n接收的分組數據以及從交換單元2102接收的已交換的分組數據;流控制單元2107-n,用于為QoS(服務質量)控制等控制分組流;內部交換單元2109-n,用于向交換單元2102輸出輸出線路號不是指向線路2103-n-k(k=1到K)的分組數據2120-n以及還向輸出分組配線單元2110-n輸出輸出線路號指向線路2103-n-k(k=1到K)的分組數據;輸出分組配線單元2110-n,用于根據分組數據的輸出線路號向任意線路號刪除器單元2105-n-k(k=1到K)輸出分組數據;以及線路號刪除器單元2105-n,用于從裝置內部格式分組數據刪除線路號并將其返回到原始格式。
輸入到非法通信防御單元400的分組數據470與前述圖7中的相同。
即,分組數據470包括InLine 2201,用于存儲作為分組被輸入的線路的標識號的輸入線路號;OutLine 2202,用于存儲作為輸出分組的線路的標識號的輸出線路號;SMAC 2203,用于存儲作為數據鏈路的傳輸源地址的傳輸源MAC地址;DMAC 2204,用于存儲作為目的地址的目的MAC地址;Proto 2205存儲網絡層協(xié)議;SIP 2206,用于存儲作為傳輸源IP地址(傳輸端的主機的地址)的傳輸源IP地址;DIP 2207,用于存儲作為目的地址(接收端的主機的地址)的目的IP地址;Sport 2208,用于存儲TCP傳輸源端口;Dport 2209,用于存儲TCP目的端口;flag 2210存儲TCP標志;ChkSum 2211,用于存儲TCP校驗和;SEQ 2212,用于存儲傳輸序列號(SEQ號);ACK 2213,用于存儲接收序列號(ACK號);OtherHeader 2214,用于存儲其它IP/TCP頭數據;以及Payload 2215,用于存儲除了分組數據以外的數據。
圖11是示出本發(fā)明實施例的非法通信防御裝置2100的非法通信防御單元400的結構的方框圖。
非法通信防御單元400包括非法通信檢測器單元471、過濾單元479、帶寬限制器單元480、IP頭提取器單元401、TCP頭提取器單元402、地址生成器單元407、TCP鑒別器單元408、SYN鑒別器單元409、SYN-ACK鑒別器單元410、ACK鑒別器單元411、計時器429、SIP-DIP表422、SIP-DIP更新單元412、SIP-DIP匹配檢查器413、DIP-SIP匹配檢查器414、時間更新單元415、限制時間表424、時間超限檢查器單元416、限制時間更新單元417、限制時間保持器單元428、SEQ號表425、SEQ號更新單元418、ACK匹配檢查器單元419、狀態(tài)表426、狀態(tài)更新單元420、差分SEQ表427、差分SEQ更新單元421、緩沖區(qū)累積器單元432、SEQ號轉換器單元403、ACK號轉換器單元404、分組更新單元405、校驗和更新單元406,以及分組收集器單元475。
非法通信監(jiān)測器單元471根據輸入分組數據470檢測非法通信,并根據檢測結果輸出任意輸入分組數據430、472、473或474。過濾單元479過濾分組數據并從那些結果中輸出未被丟棄的分組數據477。帶寬限制器單元480限制分組數據的帶寬,并從那些結果中輸出未被丟棄的分組數據478。IP頭提取器單元401從輸入分組數據430提取IP頭數據437。TCP頭提取器單元402從輸入分組數據430提取TCP頭數據438。地址生成器單元407根據由IP頭提取器單元401所提取的IP頭數據437生成表地址439。TCP鑒別器單元408檢查IP頭數據437并確定該協(xié)議是否是TCP。SYN鑒別器單元409檢查TCP頭數據438并確定該TCP標志是否是SYN。SYN-ACK鑒別器單元410檢查TCP頭數據438并確定該TCP標志是否是SYN-ACK。ACK鑒別器單元411檢查TCP頭數據438并確定該TCP標志是否是ACK。計時器429生成當前時間441。SIP-DIP更新單元412更新在由SIP-DIP表422的表地址439所指定的區(qū)域中記錄的目的IP地址(DIP)和傳輸源IP地址(SIP)的內容。SIP-DIP匹配檢查器413確定在由SIP-DIP表422的表地址439所指定的區(qū)域中記錄的目的IP地址(DIP)和傳輸源IP地址(SIP)是否匹配包含在IP頭數據437中的SIP和DIP。DIP-SIP匹配檢查器414確定在由SIP-DIP表422的表地址439所指定的區(qū)域中記錄的目的IP地址(DIP)和傳輸源IP地址(SIP)是否匹配包含在IP頭數據437中的SIP和DIP。時間更新單元415更新在由時間表423的表地址439所指定的區(qū)域中記錄的最近通信的時間。時間超限檢查器單元416確定當前時間441和在由時間表423的表地址439所指定的區(qū)域中記錄的通信時間之間的差值是否超出在由限制時間表424的表地址439所指定的區(qū)域中記錄的時間限制。限制時間更新單元417更新在由限制時間表424的表地址439所指定的區(qū)域中記錄的限制時間。限制時間保持器單元428預先記錄限制時間更新單元417所使用的限制時間。SEQ號更新單元418更新在由SEQ號表425的表地址439所指定的區(qū)域中記錄的SEQ號。ACK匹配檢查器單元419確定在由SEQ號表425的表地址439所指定的區(qū)域中記錄的SEQ號是否匹配包含在TCP頭數據438中的ACK號加1的值。狀態(tài)更新單元420更新在由狀態(tài)表426的表地址439所指定的區(qū)域中記錄的確定結果。差分SEQ更新單元421改變用于轉換在由差分SEQ表427的表地址439所指定的區(qū)域中記錄的序列號的值。緩沖區(qū)累積器單元432臨時累積輸入分組數據430,直到確定通過或丟棄該分組。SEQ號轉換器單元403轉換確定通過的分組的SEQ號。ACK號轉換器單元404轉換確定通過的包的ACK號。當記錄在限制時間表424中的限制時間被限制時間更新單元417更新時,或者當記錄在狀態(tài)表426中的確定數據結果被狀態(tài)更新單元420更新時,分組更新單元405轉換分組數據434,生成分組數據435,并向校驗和更新單元406輸出這一分組數據435。校驗和更新單元406重新計算分組數據435的TCP校驗和并生成分組數據436,并向分組收集器單元475輸出這一分組數據436。分組收集器單元475根據接收到的分組數據472、436、477以及478生成分組數據476并向流控制單元2107輸出這一生成的分組數據476。
SIP-DIP表422在表地址439所指定的區(qū)域中記錄目的IP地址(DIP)和傳輸源IP地址(SIP)。時間表423當進行通信時在表地址439所指定的區(qū)域中記錄最近通信的時間。限制時間表424在表地址439所指定的區(qū)域中記錄指定用于限制數據覆蓋的時間的限制時間。SEQ號表425記錄用于附加到SYN-ACK分組的傳輸序列號(SEQ號)。狀態(tài)表426記錄是通過還是丟棄該分組的確定結果作為通過/丟棄結果。差分SEQ表427記錄在轉換允許通過的分組的序列號時所使用的值。
下面描述非法通信防御裝置2100的操作。
非法通信防御單元400處理輸入的分組數據470,并將其作為處理過的分組數據476輸出。
輸入到非法通信防御單元400的分組數據470被輸入到非法通信檢測器單元471。
非法通信檢測器單元471確定分組數據470是非法還是合法。如果確定分組數據470是非法的,則識別非法通信的類型(DDoS攻擊、DoS攻擊、蠕蟲攻擊、P2P通信量,等等)。如果識別為合法通信,則分組數據470被輸出到分組收集器單元476作為分組數據474。將非法通信的并且被識別為DDoS攻擊或DoS攻擊的分組數據470作為分組數據430輸出到IP頭提取器單元401和TCP頭提取器單元402。將非法通信的并且被識別為蠕蟲攻擊的分組數據470作為分組數據473輸出到過濾單元479。將非法通信的并且被識別為P2P通信量的分組數據470作為分組數據472輸出到帶寬限制器單元480。
由非法通信檢測器單元471輸出的分組數據430被輸入到IP頭提取器單元401和TCP頭提取器單元402。
IP頭提取器單元401從分組數據430中提取包含Proto 2205、SIP2206和DIP 2207的IP頭數據437。TCP頭提取器單元402從分組數據430中提取包含Flag 2210、SEQ 2212和ACK 2213的TCP頭數據438。
從IP頭提取器單元401提取的IP頭數據437被輸入到地址生成器單元407和TCP鑒別器單元408。
地址生成器單元407根據包含在IP頭數據437中的SIP 2206和DIP 2207生成散列值。地址生成器單元407輸出這一散列值作為表地址439。
TCP鑒別器單元408通過使用包含在IP頭數據437中的Proto2205確定協(xié)議是否是TCP。如果協(xié)議是TCP,則TCP鑒別器單元408輸出顯示“匹配”的TCP確定結果440,如果協(xié)議是非TCP,則輸出顯示“不匹配”的TCP確定結果440。
從TCP頭提取器單元402輸出的TCP頭數據438被輸入到SYN鑒別器單元409、SYN-ACK鑒別器單元410以及ACK鑒別器單元411。
SYN鑒別器單元409通過使用包含在TCP頭數據438中的Flag2210確定TCP標志是否是SYN。如果TCP標志是SYN,那么SYN鑒別器單元409輸出“匹配”作為SYN確定結果446,而如果TCP標志不是SYN,那么輸出“不匹配”作為SYN確定結果446。SYN-ACK鑒別器單元410通過使用包含在TCP頭數據438中的Flag 2210確定TCP標志是否是SYN-ACK。如果TCP標志是SYN-ACK,那么SYN-ACK鑒別器單元410輸出“匹配”作為SYN-ACK確定結果445,而如果TCP標志不是SYN-ACK,那么輸出“不匹配”作為SYN-ACK確定結果445。ACK鑒別器單元411通過使用包含在TCP頭數據438中的Flag 2210確定TCP標志是否是ACK。如果TCP標志是ACK那么ACK鑒別器單元411輸出“匹配”作為ACK確定結果444,而如果TCP標志不是ACK,那么輸出“不匹配”作為ACK確定結果444。
IP頭提取器單元401輸出的IP頭數據437被輸入到SIP-DIP匹配檢查器413。
SIP-DIP匹配檢查器413確定包含在IP頭數據437中的SIP 2206和DIP 2207是否匹配在SIP-DIP表422中記錄的傳輸源IP地址和目的IP地址。
圖12A是示出SIP-DIP表422的一個實例的圖。
SIP-DIP表422包含M個條目422-m(m=1到M)。每個條目422-m包含SIP 422-m-1(m=1到M)和DIP 422-m-2(m=1到M)。SIP 422-m-1存儲傳輸源IP地址。DIP 422-m-2存儲目的IP地址。
更具體的說,SIP-DIP匹配檢查器413通過使用用于指定該地址的表地址439來獲得SIP-DIP表422內的條目422-m(過程456)。此外,SIP-DIP匹配檢查器413確定包含在IP頭數據437中的SIP 2206和DIP 2207匹配還是不匹配包含在條目422-m中的SIP 422-m和DIP422-m-2,并輸出確定結果作為SIP-DIP匹配確定結果443。
IP頭提取器單元401輸出的IP頭數據437被輸入到DIP-SIP匹配檢查器414。
DIP-SIP匹配檢查器414通過使用表地址439獲得SIP-DIP表422內的條目22-m(過程456)。DIP-SIP匹配檢查器414進一步確定包含在IP頭數據437中的DIP 2207和SIP 2206是否匹配包含在條目422-m中的DIP 422-m-2和SIP 422-m-1,并輸出那些確定結果作為DIP-SIP匹配結果447。
計時器429生成當前時間441。這一當前時間441被輸入到時間超限檢查器單元416。
時間超限檢查器單元416確定計時器429所生成的當前時間441和記錄在時間表423中的通信時間之間的差值是否超過記錄在限制時間表424中的限制時間。
圖12B是示出時間表423的一個實例的圖。
時間表423包括M個通信時間TIME 423-m(m=1到M),其示出進行通信的最近時間。
圖12C是示出限制時間表424的一個實例的圖。
限制時間表424包括M個限制時間TIME_LIMIT 424-m(m=1到M),其指定限制數據覆蓋的時間。
更具體的說,時間超限檢查器單元416使用表地址439獲得時間表423的通信時間TIME 423-m(過程458)以及限制時間表424的限制時間TIME_LIMIT 424-m(過程452)。時間超限檢查器單元416然后確定計時器429所生成的當前時間441和通信時間TIME 423-m之間的差值是否超過限制時間TIME_LIMIT 424-m。時間超限檢查器單元416然后輸出那些檢查結果作為超限時間檢查結果442。
TCP頭提取器單元402輸出的TCP頭數據438被輸入到ACK匹配檢查器單元419。
ACK匹配檢查器單元419確定包含在TCP頭數據438中的ACK2213是否匹配記錄在SEQ號表425中的SEQ號加1的值。
圖12D是示出SEQ號表425的一個實例的圖。
SEQ號表425包括M個SEQ 425-m(m=1到M),其示出附加在SYN-ACK分組的傳輸SEQ號。
更具體的說,ACK匹配檢查器單元419通過使用表地址439中的地址獲得SEQ號表425的SEQ 425-m(m=1到M)(過程461)。然后ACK匹配檢查器單元419確定包含在TCP頭數據438中的ACK 2213是否匹配SEQ 425-m加1的值。
IP頭提取器單元401輸出的IP頭數據437、SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443,以及時間超限檢查器單元416輸出的超限時間檢查結果442被輸入到SIP-DIP更新單元412。
圖13是示出SIP-DIP更新單元412的操作的流程圖。
SIP-DIP更新單元412確定所接收的SIP-DIP匹配確定結果443是否是“不匹配”,以及所接收的超限時間檢查結果442是否超過(步驟601)。當確定所接收的SIP-DIP匹配確定結果443是“不匹配”,并且確定所接收的超限時間檢查結果442超過時,SIP-DIP更新單元412將由SIP-DIP表422的表地址439所指定的條目422-m中所包含的SIP 422-m-1和DIP 422-m-2分別改變?yōu)榘贗P頭數據中的SIP2206和DIP 2207,并更新該條目(步驟602)(過程455)。
該過程更新SIP-DIP表422的條目。
計數器429所生成的當前時間441、SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443,以及時間超限檢查器單元416輸出的超限時間檢查結果442被輸入到時間更新單元415。
圖14是時間更新單元415的操作的流程圖。
時間更新單元415確定所接收的SIP-DIP匹配確定結果443是否是“匹配”或者所接收的超限時間檢查結果442是否超過(步驟701)。當確定所接收的SIP-DIP匹配確定結果443是“匹配”或者所接收的超限時間檢查結果442是超過時,時間更新單元415將時間表423的表地址439所指定的通信時間TIME 423-m改變?yōu)楫斍皶r間441,并更新當前時間TIME 423-m(步驟702)(過程457)。
這一過程更新時間表423的條目。
SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443、DIP-SIP匹配檢查器414輸出的DIP-SIP匹配確定結果447、時間超限檢查器單元416輸出的超限時間檢查結果442、TCP鑒別器單元408輸出的TCP確定結果440、SYN鑒別器單元409輸出的SYN確定結果446、ACK鑒別器單元411輸出的ACK確定結果444,以及ACK匹配檢查器單元419輸出的ACK匹配確定結果448,都被輸入到限制時間更新單元417。
圖15是限制時間更新單元417的操作的流程圖。
當所接收的SIP-DIP匹配確定結果443是“不匹配”時,限制時間更新單元417確定所接收的超限時間檢查結果442是否超過(步驟501)。當所接收的SIP-DIP匹配確定結果443是“不匹配”時,限制時間更新單元417確定所接收的超限時間檢查結果442是否超過,然后將限制時間表424的表地址439所指定的限制時間TIME_LIMIT424-m改變?yōu)閺南拗茣r間保持器單元428獲得的限制時間T1465,并且更新限制時間T1(步驟502)(過程459)。
限制時間更新單元417接著確定所接收的TCP確定結果440是否是“匹配”,所接收的SYN確定結果446是否是“匹配”,以及進一步地限制時間表424的表地址439所指定的限制時間TIME_LIMIT424-m是否是T1(步驟503)。如果所接收的TCP確定結果440是“匹配”,所接收的SYN確定結果446是“匹配”,以及進一步地限制時間表424的表地址439所指定的限制時間TIME_LIMIT 424-m是T1;那么限制時間更新單元417將限制時間表424的表地址439所指定的限制時間TIME_LIMIT 424-m改變?yōu)閺南拗茣r間保持器單元428所獲得的限制時間T2465,并更新限制時間T2(步驟504)(過程459)。
限制時間更新單元417接著確定所接收的SIP-DIP匹配確定結果443是否是“匹配”,所接收的TCP檢查結果440是否是“匹配”,所接收的ACK確定結果444是否是“匹配”,所接收的ACK匹配結果448是否是“匹配”,以及進一步地限制時間表424的表地址所指定的限制時間TIME_LIMIT 424-m是否是T2(步驟505)。如果滿足這些條件,那么限制時間更新單元417將限制時間表424的表地址439所指定的限制時間TIME_LIMIT 424-m改變?yōu)閺南拗茣r間保持器428所獲得的限制時間T3465,并更新限制時間T3(步驟506)(過程459)。
限制時間更新單元417接著確定所接收的DIP-SIP匹配確定結果447是否是“匹配”,TCP檢查結果440是否是“匹配”,SYN-ACK確定結果445是否是“匹配”,以及進一步地限制時間表424的表地址439所指定的限制時間TIME_LIMIT 424-m是否是T3(步驟507)。如果滿足這些條件,那么限制時間更新單元417將限制時間表424的表地址439所指定的限制時間TIME_LIMIT 424-m改變?yōu)閺南拗茣r間保持器428所獲得的限制時間T4 465,并更新限制時間T4(步驟508)(過程459)。然后限制時間更新單元417在更新前后輸出限制時間(T1,T2,T3,T4),作為限制時間449。
限制時間保持器428所保留的限制時間(T1,T2,T3,T4)值可以通過使用從外部終端464輸入的命令466來改變。推薦設置T1為盡可能小的值,設置T2為大于連接請求源主機和非法通信防御裝置之間的最大RTT時間的值,設置T3為大于連接請求源主機和非法通信防御裝置之間的RT時間的值,并且設置T4為幾分鐘的值。
SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443、時間超限檢查器單元416輸出的超限時間檢查結果442、TCP鑒別器單元408輸出的TCP確定結果440、以及SYN鑒別器單元409輸出的SYN確定結果446被輸入到SEQ號更新單元418。
圖16是示出SEQ號更新單元418的操作的流程圖。
SEQ號更新單元418確定SIP-DIP匹配確定結果443是否是“不匹配”,所接收的超限時間檢查結果442是否超過,TCP檢查結果440是否是“匹配”,所接收的SYN確定結果446是否是“匹配”,以及進一步地限制時間表424的表地址439所指定的限制時間TIME_LIMIT 424-m是否是T1(步驟801)。如果滿足這些條件,那么SEQ號更新單元418將SEQ號表425的表地址439所指定的SEQ425-m(m=1到M)改變?yōu)殡S機生成值460(步驟802)。然后這一隨機生成值作為隨機生成值450輸出。
SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443、DIP-SIP匹配檢查器414輸出的DIP-SIP匹配確定結果447、時間超限檢查器單元416輸出的超限時間檢查結果442、TCP鑒別器單元408輸出的TCP確定結果440以及SYN-ACK鑒別器單元410輸出的SYN-ACK確定結果445被輸入到狀態(tài)更新單元420。
狀態(tài)更新單元420更新記錄在狀態(tài)表426中用于指定通過還是丟棄該分組的檢查結果。
圖12E是示出狀態(tài)表426的一個實例的圖。狀態(tài)表426包括M個通過/丟棄檢查結果STATE 426_m(m=1到M),其存儲關于通過或丟棄該分組的確定結果。
圖17是示出狀態(tài)更新單元420的操作的流程圖。
狀態(tài)更新單元420確定所接收的SIP-DIP匹配確定結果443是否是“不匹配”,所接收的超限時間檢查結果442是否超過(步驟901)。如果SIP-DIP匹配確定結果443是“不匹配”,且所接收的超限時間檢查結果442超過,那么狀態(tài)更新單元420將狀態(tài)表426的表地址439所指定的通過/丟棄檢查結果STATE 426-m改變?yōu)椤皝G棄”(步驟902)(過程462)。
狀態(tài)更新單元420接著確定所接收的DIP-SIP匹配確定結果447是否是“匹配”,TCP確定結果440是否是“匹配”,SYN-ACK確定結果445是否是“匹配”,以及進一步地限制時間表424的表地址439所指定的時間限制TIME_LIMIT 424-m是否是T3(步驟903)。如果滿足這些條件,那么狀態(tài)更新單元420將狀態(tài)表426的表地址439所指定的通過/丟棄檢查結果STATE 426-m改變?yōu)椤巴ㄟ^”(步驟904)。那么修改前后的通過/丟棄檢查結果都作為通過/丟棄檢查結果451輸出。
TCP頭提取器單元402輸出的TCP頭數據438、SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443、DIP-SIP匹配檢查器414輸出的DIP-SIP匹配確定結果447、時間超限檢查器單元416輸出的超限時間檢查結果442、TCP鑒別器單元408輸出的TCP檢查結果440以及SYN-ACK鑒別器單元410輸出的SYN-ACK確定結果445都被輸入到差分SEQ更新單元421。
差分SEQ更新單元421重寫SEQ差表427指定為在對被判斷為通過的分組的序列號進行轉換時所使用的值。
圖12F是示出差分SEQ表427的一個實例的圖。
差分SEQ表427包括M個差值ΔSEQ 427-m(m=1到M),用于記錄對被確定為“通過”的分組的序列號進行轉換時所使用的值。
圖18是示出差分SEQ更新單元4的操作的流程圖。
差分SEQ更新單元421確定所接收的SIP-DIP匹配確定結果443是否是“不匹配”,以及所接收的超限時間檢查結果442是否是超過(步驟1001)。當差分SEQ更新單元421確定SIP-DIP匹配確定結果443是“不匹配”,并且所接收的超限時間檢查結果442是超過時,將差分SEQ表427的表地址439所指定的差分值ΔSEQ 427-m改變?yōu)?(步驟1002)(過程463)。
接著,差分SEQ更新單元421確定所接收的DIP-SIP匹配確定結果447是否是“匹配”,TCP檢查結果440是否是“匹配”,SYN-ACK確定結果445是否是“匹配”,以及進一步地限制時間表424的表地址439所指定的時間限制TIME_LIMIT 424-m是否是T3,并進一步確定狀態(tài)表426的表地址439所指定的通過/丟棄檢查結果STATE426-m是否是“丟棄”(步驟1003)。如果滿足這些條件,那么差分SEQ更新單元421將差分SEQ表427的表地址439所指定的差分SEQΔSEQ 427-m改變?yōu)楸淼刂?39所指定的SEQ 425-m和包含在TCP頭數據438中的SEQ 2212之間的差值(步驟1004)(過程463)。
非法通信檢測器單元471輸出的輸入分組數據430、限制時間更新單元417輸出的限制時間449、狀態(tài)更新單元420輸出的通過/丟棄檢查結果451,以及地址生成器單元407輸出的表地址439都被輸入到緩沖區(qū)累積器單元432。
緩沖區(qū)累積器單元432包含由存儲器等組成的緩沖區(qū)。當修改前的限制時間449和修改后的限制時間449都是T3時,緩沖區(qū)累積器單元432將輸入分組數據430存儲到緩沖區(qū)內通過表地址439所指定的一個區(qū)域。在所有其他情況下,緩沖區(qū)累積器單元432輸出輸入分組數據430作為分組數據431。累積的輸入分組數據430在修改后的通過/丟棄檢查結果451改變?yōu)橥ㄟ^之后裝載,并作為分組數據431輸出。該分組數據431的格式與輸入分組數據430相同。
緩沖區(qū)累積器單元432輸出的分組數據431、DIP-SIP匹配檢查器414輸出的DIP-SIP匹配結果447、TCP鑒別器單元408輸出的TCP檢查數據結果440、限制時間表424的表地址439所指定的時間限制TIME_LIMIT 424-m、通過狀態(tài)表426的表地址439指定所獲得的通過/丟棄檢查結果STATE 426-m,以及從差分SEQ表427的表地址439指定所獲得的差分SEQΔSEQ 427-m都被輸入到SEQ號轉換器單元403。
圖19是SEQ號轉換器單元403的操作的流程圖。
SEQ號轉換器單元403確定所接收的DIP-SIP匹配確定結果447是否是“匹配”,接收的TCP檢查數據結果440是否是“匹配”,以及進一步地時間限制TIME_LIMIT 424-m是否是T3,并進一步確定通過/丟棄檢查結果STATE 426-m是否是“通過”(步驟1101)。如果滿足這些條件,那么SEQ號轉換器單元403向包含在分組數據431中的SEQ 2212加上差分SEQΔSEQ 427-m(步驟1102)。這一處理過的分組數據作為分組數據433輸出。這一分組數據433的格式與輸入分組數據430相同。
SEQ號轉換器單元403輸出的分組數據433、SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443、TCP鑒別器單元408輸出的TCP檢查數據結果440、通過限制時間表424的表地址439指定所獲得的時間限制TIME_LIMIT 424-m、通過狀態(tài)表426的表地址439指定所獲得的通過/丟棄檢查結果STATE 426-m,以及通過差分SEQ表427的表地址439指定所獲得的差分SEQΔSEQ427-m都被輸入到ACK號轉換器單元404。
圖20是示出ACK號轉換器單元404的操作的流程圖。
ACK號轉換器單元404確定所接收的SIP-DIP匹配確定結果443是否是“匹配”,所接收的TCP檢查數據440是否是“匹配”,所接收的時間限制TIME_LIMIT 424-m是否是T3,以及進一步地所接收的通過/丟棄檢查結果STATE 426-m是否是“通過”(步驟1201)。如果滿足這些條件,那么ACK號轉換器單元404從包含在分組數據433中的ACK 2213中減去差分SEQΔSEQ 427-m(步驟1202)。這一處理過的分組數據作為分組數據434輸出。這一分組數據434的格式與輸入分組數據430相同。
ACK號轉換器單元404輸出的分組數據434、時間更新單元415輸出的限制時間449、狀態(tài)更新單元420輸出的通過/丟棄檢查結果451,以及SEQ號更新單元418輸出的隨機生成值450;都被輸入到分組更新單元405。
圖21是示出分組更新單元405的操作的流程圖。
分組更新單元405確定包括在所接收的限制時間449中的修改前的限制時間是否是T1,并確定修改后的限制時間是否是T2(步驟1301)。如果包括在所接收的限制時間449中的修改前的限制時間是T1,且修改后的限制時間是T2,那么交換分組數據434的InLine 2201的值和OutLine 2202的值。還交換分組數據434的DMAC 2204和SMAC 2203的值。還交換分組數據434的DIP 2207和SIP 2206的值。還交換分組數據434的Dport 2209和Sport 2208的值。分組數據434中的Flag 2210的值也從2改變?yōu)?8。換句話說,該值從指示SYN的值2改變?yōu)橹甘維YN-ACK的值18。此外,分組數據434中的SEQ2212值被設為隨機生成值450。ACK 2213值被改變?yōu)镾EQ 2212值加1(步驟1302)。
下面,分組更新單元405確定包括在所接收的限制時間449中的修改前的限制時間是否是T2,以及修改后的限制時間是否是T3(步驟1303)。如果所接收的限制時間449中的修改前的限制時間是T2,并且修改后的限制時間是T3,那么分組更新單元405將分組數據434的Flag 2210的值從16改變?yōu)?。換句話說,該值從指示ACK的值16改變?yōu)橹甘維YN的值2。還從SEQ 2212中減去1。ACK 2213的值改變?yōu)?(步驟1304)。
下面,分組更新單元405確定包括在所接收的通過/丟棄檢查結果451中的修改前的通過/丟棄檢查結果是否是“丟棄”,并且所接收的修改后的通過/丟棄檢查結果是否是“通過”(步驟1305)。如果包括在通過/丟棄檢查結果451中的修改前的通過/丟棄檢查結果是“丟棄”,并且修改后的通過/丟棄檢查結果是“通過”,那么交換分組數據434的OutLine 2202的值和InLine 2201的值。還交換分組數據434的DMAC 2204和SMAC 2203的值。還交換分組數據434的DIP 2207和SIP 2206的值。還交換分組數據434的Dport 2209和Sport 2208的值。還將分組數據434中的Flag 2210值從18改變?yōu)?6。換句話說,該值從指示SYN-ACK的值18改變?yōu)橹甘続CK的值16。SEQ 2212的值改變?yōu)锳CK 2213。ACK 2213值改變?yōu)镾EQ 2212值加1(步驟1306)。
下面,分組更新單元405確定包括在所接收的限制時間449中的修改前的限制時間是否是T1,并確定修改后的限制時間是否是T2;或者確定包括在限制時間449中的修改前的限制時間是否是T2,并確定修改后的限制時間是否是T3;或者確定包括在所接收的通過/丟棄檢查結果451中的修改后的通過/丟棄檢查結果是否是“通過”(步驟1307)。如果即使?jié)M足這些條件中的一個,那么分組更新單元405輸出分組數據434作為分組數據435(步驟1308)。另一方面,如果這些條件都不滿足,那么丟棄分組數據434(步驟1309)。這一分組數據435的格式與輸入分組數據430相同。
分組更新單元405輸出的分組數據435、TCP鑒別器單元408輸出的TCP確定結果440、限制時間更新單元417輸出的限制時間449、狀態(tài)更新單元420輸出的通過/丟棄檢查結果451、SIP-DIP匹配檢查器413輸出的SIP-DIP匹配確定結果443,以及DIP-SIP匹配檢查器414輸出的DIP-SIP匹配確定結果447;都被輸入到校驗和更新單元406。
校驗和更新單元406確定包括在所接收的限制時間449中的修改前的限制時間是否是T1,并確定修改后的限制時間是否是T2;或者確定包括在所接收的限制時間449中的修改前的限制時間是否是T2,并確定修改后的限制時間是否是T3;或者確定包括在所接收的通過/丟棄檢查結果451中的修改后的通過/丟棄檢查結果是否是“通過”,所接收的TCP檢查數據440是否是“匹配”,以及SIP-DIP匹配確定結果443或者DIP-SIP匹配確定結果447是否是“匹配”。如果滿足這些條件,那么校驗和更新單元406重新計算分組數據435的TCP校驗和ChkSum 2211。存儲這一新校驗和的處理過的分組數據作為分組數據436輸出。
本發(fā)明實施例的非法通信防御單元400的上述處理通過這種方式在保護具有大RTT的合法(真實)通信,甚至在非法通信大規(guī)模生成時錯誤的概率最小。
權利要求
1.一種連接到網絡的通信裝置,用于接收網絡上發(fā)送的分組,并根據分組目的地傳輸分組,所述通信裝置包含控制單元;存儲單元,含有至少一個用于存儲關于所述分組目的地的信息的路由表;其中,當所接收的分組是向所述分組目的地連接的請求時,所述控制單元在所述路由表中與用于接收所述分組的識別出的線路相關聯(lián)地存儲所述分組的傳輸源地址,以及當所接收的分組不是連接請求時,所述控制單元檢查所述路由表,獲取與匹配所述分組的目的地址的目的地址相關聯(lián)的線路,并經由所獲取的線路發(fā)送所述分組。
2.根據權利要求1所述的通信裝置,其中所述控制單元包括類型檢測器單元,用于識別所述分組的協(xié)議類型,以及附加信息檢測器單元,用于識別附加到所述分組的標志的類型,并且其中當所述類型檢測器單元識別所接收的分組的協(xié)議為TCP協(xié)議,并且所述附加信息檢測器單元識別附加到所述分組的標志為SYN時,所述控制單元在所述路由表中與用于接收所述分組的所述線路相關聯(lián)地存儲所述分組的傳輸源地址,以及當所述類型檢測器單元識別所接收的分組的協(xié)議為TCP協(xié)議,并且所述附加信息檢測器單元識別附加到所述分組的標志為非SYN時,所述控制單元檢查所述路由表,獲取與匹配所述分組的目的地址的目的地址相關聯(lián)的線路,并經由所獲取的線路發(fā)送所述分組。
3.根據權利要求2所述的通信裝置,其中所述存儲單元包括第一路由表,用于TCP協(xié)議,以及第二路由表,用于非TCP協(xié)議,并且其中當發(fā)送所述分組時,所述存儲單元存儲路由類型注冊信息,所述路由類型注冊信息包含用于設置使用所述第一路由表還是所述第二路由表的信息;并且其中所述控制單元包含路由鑒別器單元,用于檢查所述路由類型注冊信息,并確定傳送所接收的分組所使用的所述路由表,并且其中當所述路由鑒別器單元確定傳送所接收的分組所使用的所述路由表是所述第一路由表,并且所述附加信息檢測器單元識別附加到所述分組的標志為SYN時,所述控制單元在所述路由表中與用于接收所述分組的所述線路相關聯(lián)地存儲所述分組的所述傳輸源地址,以及當所述路由鑒別器單元識別傳送所接收的分組所使用的所述路由表為所述第一路由表,并且所述附加信息檢測器單元識別附加到所述分組的標志為非SYN時,所述控制單元從所述第一路由表獲取與匹配所述分組的所述目的地址的所述目的地址相關聯(lián)的所述線路,并經由所獲取的線路發(fā)送所述分組,以及當所述路由鑒別器單元識別用于所接收的分組的所述路由表為所述第二路由表,或者所接收的分組的所述協(xié)議是非TCP協(xié)議時,所述控制單元從所述第二路由表獲取鏈接所述分組的所述目的地址和所述匹配分組地址的所述線路,并經由所獲取的線路發(fā)送所述分組。
4.一種連接到網絡的非法通信防御裝置,用于接收通過所述網絡交換的分組,根據分組目的地傳輸所述分組中的分組,并在所述分組為非法時限制所述分組的傳輸,所述非法通信防御裝置包括控制單元;以及存儲單元,其中所述存儲單元包含所述分組的連接請求源IP地址、所述分組的連接請求目的IP地址,以及用于與限制時間相關聯(lián)地記錄所述分組到達的到達時間的會話信息,其中所述限制時間表示限制重寫關于所述分組的信息的時間段,以及當當前時間和所述會話信息中所記錄的所述到達時間之間的差值超過會話表中所記錄的所述限制時間時,所述控制單元允許重寫關于所述分組的信息。
5.根據權利要求4所述的非法通信防御裝置,其中所述限制時間根據從如下組中選擇的至少一個而改變,所述組包括所述分組的所述連接請求源IP地址、所述分組的所述連接請求目的IP地址,以及所述當前時間和所述會話信息中所記錄的所述到達時間之間的所述差值。
6.根據權利要求4所述的非法通信防御裝置,其中,當接收到從所述連接請求源IP地址發(fā)送到所述連接請求目的IP地址的第一分組,其協(xié)議是TCP協(xié)議,并且附加到所述第一分組的標志是SYN時,所述控制單元分別將所述第一分組的所述連接請求源IP地址改變?yōu)樗鲞B接請求目的IP地址,將所述第一分組的所述連接請求目的IP地址改變?yōu)樗鲞B接請求源IP地址;并將所述標志改變?yōu)镾YN-ACK,并生成附加了根據隨機值生成的傳輸序列號的第二分組,并將所述第二分組發(fā)送到所述連接請求源IP地址,以及當接收到從所述連接請求源IP地址發(fā)送到所述連接請求目的IP地址的第三分組,其協(xié)議是TCP協(xié)議,其附加的標志是ACK,并且其附加的接收序列號是所述傳輸序列號加1的值時,所述控制單元確定所述連接請求目的IP地址和所述連接請求源IP地址之間的通信是合法的,將所述第三分組標志改變?yōu)镾YN,從所述傳輸序列號減1,生成所述接收序列號為0的第四分組,并向所述連接請求目的IP地址發(fā)送所述第四分組,以及當接收到從所述連接請求目的IP地址發(fā)送到所述連接請求源IP地址的第五分組,其協(xié)議是TCP協(xié)議,并且其附加的標志是SYN-ACK時,所述控制單元分別將所述第五分組的所述連接請求源IP地址改變?yōu)樗鲞B接請求目的IP地址,將所述第五分組的所述連接請求目的IP地址改變?yōu)樗鲞B接請求源IP地址;將所述標志改變?yōu)锳CK,分別將所述傳輸序列號改變?yōu)樗鼋邮招蛄刑?,將所述接收序列號改變?yōu)樗鰝鬏斝蛄刑枺⑶疫€生成所述接收序列號加1的第六分組,并通過向所述連接請求目的IP地址發(fā)送所述第六分組,允許所述連接請求目的IP地址和所述連接請求源IP地址之間的通信。
7.根據權利要求6所述的非法通信防御裝置,其中當接收到所述第三分組或第五分組時改變所述會話表中所記錄的所述限制時間。
8.根據權利要求6所述的非法通信防御裝置,其中,在確定通過所述分組后,所述控制單元允許在所述連接請求源IP地址和所述連接請求目的IP地址之間發(fā)送和接收分組,以及當接收到從所述連接請求源IP地址發(fā)送到所述連接請求目的IP地址的第七分組時,在從附加到所述第七分組的所述接收序列號中減去附加到所述第五分組的所述傳輸序列號和附加到所述第二分組的所述傳輸序列號之間的差值后重新計算TCP校驗和,以及當接收到從所述連接請求目的IP地址發(fā)送到所述連接請求源IP地址的第八分組時,在向附加到所述第八分組的所述傳輸序列號加上所述第二分組的所述傳輸序列號和所述第五分組的所述傳輸序列號之間的差值后重新計算所述TCP校驗和,以及在做出分組通過決定前,所述連接請求源IP地址和所述連接請求目的IP地址之間發(fā)送和接收的所述分組被丟棄,或者被累積到緩沖區(qū)中。
9.一種連接到一個或多個通信裝置的網絡系統(tǒng),所述通信裝置用于接收沿著網絡發(fā)送和接收的分組,并用于根據所述分組的目的地址發(fā)送所述分組,并且其連接到單個或多個非法通信防御裝置,所述非法通信防御裝置用于接收沿著網絡發(fā)送和接收的分組,根據所述分組的目的地址發(fā)送所述分組,并且當分組非法時限制該分組的傳輸,所述通信裝置包含第一控制單元;第一存儲單元,用于存儲包含關于所述分組的目的地的信息的路由表;其中當所接收的分組是連接請求時,所述第一控制單元將分組傳輸源地址和所述分組的接收線路相關聯(lián)并將其存儲到所述路由表中,以及當所接收的分組不是連接請求時,所述第一控制單元檢查所述路由表,獲取關聯(lián)所述分組的所述目的地址和匹配目的地址的線路,并經由所獲取的線路發(fā)送所述分組;所述非法通信防御裝置包括第二控制單元,以及第二存儲單元;其中所述第二存儲單元包括所述分組的連接請求源IP地址、所述分組的連接請求目的IP地址、用于與限制時間相關聯(lián)地記錄所述分組到達的到達時間的會話信息,其中所述限制時間表示限制重寫關于所述分組的信息的時間段,以及當所述會話表中所記錄的所述到達時間和當前時間之間的差值超過所述限制時間時,所述第二控制單元允許重寫所述分組。
10.一種安全路由器,包含至少兩條輸入線路;至少兩條輸出線路;序列生成器;以及至少一個狀態(tài)表;其中所述安全路由器經由所述兩條輸入線路和所述兩條輸出線路,在至少一個用戶以及主機和第二路由器中的至少一個之間對合法通信進行路由;其中合法通信包含這樣的通信從所述序列生成器隨機初始化開始,在所述兩條輸出或兩條輸入線路的適當一個上適當增長并發(fā)送或接收而未繞過所述安全路由器的通信和根據所述至少一個狀態(tài)表處于合法狀態(tài)不超過允許的時間限制的通信。
全文摘要
一種通信裝置,一種非法通信防御裝置,以及用于提供非法通信防御的網絡系統(tǒng)。通信裝置連接到網絡,用于接收網絡上發(fā)送和接收的分組,并根據分組目的地傳輸分組,所述通信裝置包括控制單元、以及用于存儲路由表的存儲單元,其中所述路由表存儲了目的信息。當有來自所接收的分組的連接請求時,控制單元將該分組的傳輸源地址以及接收到該分組的線路號存儲到路由表中,當沒有來自所接收的分組的連接請求時,控制單元參考路由表,獲取鏈接到匹配該分組的目的地址的地址的線路號,并經由所獲取的線路號發(fā)送應用分組。
文檔編號H04L9/00GK101030977SQ20071008490
公開日2007年9月5日 申請日期2007年2月16日 優(yōu)先權日2006年2月28日
發(fā)明者磯部隆史 申請人:株式會社日立制作所