專(zhuān)利名稱(chēng):一種網(wǎng)絡(luò)攻擊識(shí)別方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)攻擊識(shí)別方法及裝置。
背景技術(shù):
對(duì)于一個(gè)必須是授權(quán)用戶(hù)才可以訪問(wèn)的服務(wù)器而言,在客戶(hù)端A和服務(wù)器B建立傳輸控制協(xié)議(TCP, Transmission Control Protocol)連接的過(guò)程中,客戶(hù)端A和服務(wù)器B的TCP模塊分別使用自己的初始序列號(hào)(ISN, initial sequence number)??蛻?hù)端A和服務(wù)器B建立TCP連接的過(guò)程可以如圖I所示首先,客戶(hù)端A向服務(wù)器B發(fā)送攜帶握手信號(hào)(SYN)標(biāo)志的數(shù)據(jù)包請(qǐng)求建立連接,該數(shù)據(jù)包中攜帶自身的初始序列號(hào)(ISNa);然后,服務(wù)器B在接收到客戶(hù)端A發(fā)送的攜帶SYN標(biāo)志的數(shù)據(jù)包后,向客戶(hù)端A發(fā)送攜帶SYN標(biāo)志的應(yīng)答數(shù)據(jù)包,該數(shù)據(jù)包攜帶服務(wù)器B的初始序列號(hào)(ISNb),以及對(duì)客戶(hù)端A初始序列號(hào)的確認(rèn)(ACK=ISNa+l);最后,客戶(hù)端A收到服務(wù)器B發(fā)送的應(yīng)答數(shù)據(jù)包后,將對(duì)服務(wù)器B初始序列號(hào)的確認(rèn)(ACK=ISNb+l)發(fā)向服務(wù)器B。從而客戶(hù)端A和服務(wù)器B三次握手完成,客戶(hù)端A和服務(wù)器B分別知道了對(duì)方的初始序列號(hào),TCP連接建立。當(dāng)TCP連接正在建立時(shí),服務(wù)器用一個(gè)包含自身惟一的初始序列號(hào)(可以為32位)的應(yīng)答報(bào)文來(lái)確認(rèn)用戶(hù)請(qǐng)求。TCP協(xié)議規(guī)范要求每秒更換序列號(hào)25萬(wàn)次,但大多數(shù)實(shí)際系統(tǒng)更換頻率遠(yuǎn)小于此,而且下一次更換的序列號(hào)往往是可以預(yù)知的,正是這種可預(yù)知性使得序列號(hào)攻擊,包括TCP重啟(TCPReset)攻擊才得以完成。在一次攻擊的過(guò)程中,攻擊者以真實(shí)的身份做嘗試性的連接,這個(gè)過(guò)程被重復(fù)若干次,在每次連接的過(guò)程中把服務(wù)器的ISN記錄下來(lái)。攻擊者通過(guò)多次統(tǒng)計(jì),對(duì)往返時(shí)間(RTT,round-trip time)進(jìn)行平均求值,RTT被用來(lái)猜測(cè)下一次可能的ISN。如果ISN的實(shí)現(xiàn)是每秒增加128000,每次連接增加64000,那么緊接著下一次連接請(qǐng)求,服務(wù)器的ISN就應(yīng)該采用的是128000* (RTT/2)+64000。只要攻擊者能夠猜測(cè)出要攻擊的服務(wù)器用于下一次連接的ISN,就能夠欺騙這臺(tái)服務(wù)器,通過(guò)假冒對(duì)該服務(wù)器SYN/ACK數(shù)據(jù)段的應(yīng)答來(lái)欺騙服務(wù)器連接已經(jīng)建立。假設(shè)客戶(hù)端C假冒服務(wù)器B信任的客戶(hù)端A向服務(wù)器B發(fā)送連接請(qǐng)求,攻擊示意圖可以如圖2所示。這樣,攻擊者就可以假冒服務(wù)器信任的客戶(hù)端進(jìn)入服務(wù)器,向服務(wù)器發(fā)送任意的數(shù)據(jù),而服務(wù)器卻認(rèn)為這些數(shù)據(jù)是從它信任的客戶(hù)端發(fā)送來(lái)的,實(shí)現(xiàn)對(duì)服務(wù)器的攻擊。當(dāng)然,對(duì)于TCP序列號(hào)的猜測(cè)不僅可能發(fā)生在“三次握手”的過(guò)程中,還可能發(fā)生在連接建立以后的數(shù)據(jù)傳送過(guò)程中。攻擊者可以通過(guò)猜測(cè)客戶(hù)端(服務(wù)器)向服務(wù)器(客戶(hù)端)發(fā)送數(shù)據(jù)包的序列號(hào),來(lái)冒充客戶(hù)端或服務(wù)器與對(duì)端設(shè)備進(jìn)行數(shù)據(jù)包的傳輸,實(shí)現(xiàn)網(wǎng)絡(luò)攻擊。例如,如果主機(jī)A正確地接收到主機(jī)B發(fā)送過(guò)來(lái)的一個(gè)報(bào)文段,該報(bào)文段中序列號(hào)字段的值是501 (發(fā)送序列號(hào),標(biāo)識(shí)該報(bào)文段中第一個(gè)字節(jié)的序列號(hào)),攜帶的數(shù)據(jù)共有200個(gè)字節(jié),則主機(jī)A已經(jīng)正確的接收到了主機(jī)B發(fā)送的序列號(hào)在501至700之間的數(shù)據(jù)(該報(bào)文段中最后一個(gè)字節(jié)的序列號(hào)為結(jié)束序列號(hào),值為700),主機(jī)A期望收到主機(jī)B的下一個(gè)報(bào)文段首部的序列號(hào)應(yīng)該是701。于是A發(fā)給B的響應(yīng)報(bào)文段中將首部中的確認(rèn)號(hào)置為701(確認(rèn)序列號(hào)),該確認(rèn)號(hào)即為主機(jī)B下一次向主機(jī)A發(fā)送報(bào)文段的發(fā)送序列號(hào)。如果攻擊者可以猜測(cè)出該發(fā)送序列號(hào),即可以冒充主機(jī)B向主機(jī)A發(fā)送報(bào)文段。以攻擊者冒充客戶(hù)端向服務(wù)器發(fā)送數(shù)據(jù)包為例,其中可能出現(xiàn)以下4種情況的任意一種情況I、如果猜測(cè)正確,攻擊者發(fā)送的數(shù)據(jù)就會(huì)放到服務(wù)器接收緩沖區(qū)中;情況2、如果發(fā)送序列號(hào)小于服務(wù)器所期望的發(fā)送序列號(hào),數(shù)據(jù)包被丟棄;情況3、如果發(fā)送序列號(hào)大于服務(wù)器所期望的發(fā)送序列號(hào),但小于TCP接收窗口的范圍,將被放到一個(gè)懸掛隊(duì)列中,將被認(rèn)為是客戶(hù)端后發(fā)送的數(shù)據(jù)先到達(dá)。即,不需要猜測(cè)出準(zhǔn)確的發(fā)送序列號(hào),只要使得偽造的發(fā)送序列號(hào)落在接收窗口范圍內(nèi),就可以被正常處理,實(shí)現(xiàn)對(duì)服務(wù)器的攻擊;情況4、如果不是目的服務(wù)器所期望的發(fā)送序列號(hào),也不在TCP的接收窗口范圍內(nèi),數(shù)據(jù)包被丟棄。為了能夠達(dá)到通過(guò)對(duì)于TCP序列號(hào)的猜測(cè)實(shí)現(xiàn)網(wǎng)絡(luò)攻擊的目的,攻擊者需要能夠滿(mǎn)足以下四個(gè)條件條件I、攻擊者能夠在短時(shí)間內(nèi)向服務(wù)器的某個(gè)開(kāi)放端口發(fā)送若干個(gè)TCP連接請(qǐng)求,用來(lái)分析服務(wù)器ISN的增長(zhǎng)規(guī)律,從而推斷下一次連接ISN的可能值。在這若干個(gè)連接請(qǐng)求后緊接著就是用于攻擊的那個(gè)連接請(qǐng)求。如果服務(wù)器在攻擊者發(fā)起攻擊的這一段時(shí)間內(nèi)沒(méi)有建立其他連接,那么其下一次連接建立的ISN被攻擊者猜測(cè)成功的可能性就很高。條件2、攻擊者要防止在攻擊的過(guò)程中,被授權(quán)的客戶(hù)端機(jī)會(huì)因?yàn)槭盏綇姆?wù)器發(fā)送來(lái)的SYN/ACK而對(duì)該數(shù)據(jù)包做出響應(yīng)(發(fā)送終止消息(RST)終止本次連接)。攻擊者可以使用一個(gè)已經(jīng)離線的客戶(hù)端機(jī)的互聯(lián)網(wǎng)協(xié)議(IP,internet protocol)地址,或者向被假冒的客戶(hù)端機(jī)發(fā)起拒絕服務(wù)(DoS,Denial of Service)攻擊來(lái)阻止該客戶(hù)端機(jī)向服務(wù)器發(fā)出任何響應(yīng)數(shù)據(jù)包。條件3、攻擊者利用的是服務(wù)器上的一個(gè)應(yīng)用層的協(xié)議,該協(xié)議是簡(jiǎn)單地依賴(lài)于客戶(hù)端機(jī)的IP地址來(lái)認(rèn)證和授權(quán)的,而不是通過(guò)諸如高層的密碼技術(shù)的身份認(rèn)證機(jī)制。條件4、在“三次握手”的第二步,攻擊者能夠猜測(cè)、嗅探出從服務(wù)器發(fā)送給被攻擊者假冒的客戶(hù)端機(jī)的TCP的ISN,因?yàn)檫@些數(shù)據(jù)是攻擊者看不到的。目前黑客利用TCP序列號(hào)的脆弱性可以實(shí)施多種不同類(lèi)型的攻擊,其中包括新型的DoS攻擊即切斷單個(gè)網(wǎng)絡(luò)服務(wù)器的聯(lián)絡(luò)并使應(yīng)用軟件和網(wǎng)絡(luò)看上去很不穩(wěn)定。信息投毒型攻擊即向數(shù)據(jù)流中插入偽造的信息,如虛假的新聞報(bào)道或者欺騙性的股價(jià)信息等。話(huà)路劫持即接管用戶(hù)與計(jì)算機(jī)系統(tǒng)的連接,讓劫持者以用戶(hù)的身份進(jìn)行應(yīng)用軟件的操作,如操縱本應(yīng)該只允許用戶(hù)本人使用的財(cái)務(wù)軟件或互聯(lián)網(wǎng)基礎(chǔ)設(shè)施管理系統(tǒng)等。針對(duì)利用TCP序列號(hào)的脆弱性進(jìn)行的網(wǎng)絡(luò)攻擊,目前,現(xiàn)有技術(shù)針對(duì)該類(lèi)網(wǎng)絡(luò)攻擊的識(shí)別方案主要是基于狀態(tài)檢測(cè)功能的防火墻來(lái)實(shí)現(xiàn)。而當(dāng)前基于狀態(tài)檢測(cè)功能的防火墻大多采取利用連接雙方的IP地址和端口號(hào)來(lái)跟蹤狀態(tài)。這樣當(dāng)一個(gè)連接建立之后,當(dāng)后續(xù)的數(shù)據(jù)包到達(dá)時(shí),防火墻從數(shù)據(jù)包中提取源目的地址和端口號(hào)信息,并與狀態(tài)表進(jìn)行比較,一旦匹配就允許其通過(guò)。這種實(shí)現(xiàn)方法雖然簡(jiǎn)單,但也帶來(lái)了相應(yīng)的安全隱患,使得攻擊者很容易偽造出具有合法IP和端口的網(wǎng)絡(luò)數(shù)據(jù)包,使其通過(guò)狀態(tài)檢測(cè)進(jìn)入內(nèi)部網(wǎng)絡(luò),因而存在很大的網(wǎng)絡(luò)安全隱患。而如果攻擊者偽造了一個(gè)數(shù)據(jù)包,使連接轉(zhuǎn)換到了異常狀態(tài),連接將被刪除,從而使得合法的數(shù)據(jù)包也無(wú)法通過(guò)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)攻擊識(shí)別方法及裝置,用于提高網(wǎng)絡(luò)的安全性,并保證合法數(shù)據(jù)包的順利通信。一種網(wǎng)絡(luò)攻擊識(shí)別方法,所述方法包括網(wǎng)絡(luò)設(shè)備接收第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議TCP數(shù)據(jù)包,其中,N為正整數(shù);網(wǎng)絡(luò)設(shè)備確定第二設(shè)備接收到第一設(shè)備發(fā)送的第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào),與第一設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)的差值;網(wǎng)絡(luò)設(shè)備根據(jù)所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包;其中,所述設(shè)定窗口的長(zhǎng)度值為第一設(shè)備發(fā)送窗口的長(zhǎng)度值,或第二設(shè)備接收窗口的長(zhǎng)度值,或第一設(shè)備發(fā)送窗口的長(zhǎng)度值與第二設(shè)備接收窗口的長(zhǎng)度值中的最小值。一種網(wǎng)絡(luò)攻擊識(shí)別裝置,所述裝置包括接收模塊,用于接收第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議TCP數(shù)據(jù)包,其中,N為正整數(shù);確定模塊,用于在接收模塊接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí),確定第二設(shè)備接收到第一設(shè)備發(fā)送的第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào),與第一設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)的差值;合法性檢測(cè)模塊,用于根據(jù)確定模塊確定出的所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包,其中,所述設(shè)定窗口的長(zhǎng)度值為第一設(shè)備發(fā)送窗口的長(zhǎng)度值,或第二設(shè)備接收窗口的長(zhǎng)度值,或第一設(shè)備發(fā)送窗口的長(zhǎng)度值與第二設(shè)備接收窗口的長(zhǎng)度值中的最小值。根據(jù)本發(fā)明實(shí)施例提供的方案,網(wǎng)絡(luò)設(shè)備在接收到第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí),確定第一設(shè)備向第二設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包時(shí)的發(fā)送序列號(hào)和第二設(shè)備接收到該第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào),通過(guò)確認(rèn)序列號(hào)與發(fā)送序列號(hào)的差值與設(shè)定窗口長(zhǎng)度的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包還是非法數(shù)據(jù)包。從而相對(duì)于現(xiàn)有的針對(duì)利用TCP序列號(hào)的脆弱性進(jìn)行的網(wǎng)絡(luò)攻擊識(shí)別方法,利用TCP序列號(hào)來(lái)檢測(cè)數(shù)據(jù)包的合法性,可以避免基于狀態(tài)檢測(cè)功能的防火墻進(jìn)行網(wǎng)絡(luò)攻擊識(shí)別時(shí),攻擊者很容易偽造出具有合法IP和端口的網(wǎng)絡(luò)數(shù)據(jù)包,使其通過(guò)狀 態(tài)檢測(cè)進(jìn)入內(nèi)部網(wǎng)絡(luò),使得網(wǎng)絡(luò)安全性較差的問(wèn)題。同時(shí),本發(fā)明方案不會(huì)刪除TCP連接,避免了合法數(shù)據(jù)包無(wú)法順利通信的問(wèn)題。
圖I為現(xiàn)有技術(shù)提供的客戶(hù)端A和服務(wù)器B建立TCP連接的過(guò)程示意圖;圖2為現(xiàn)有技術(shù)提供的攻擊示意圖;圖3為本發(fā)明實(shí)施例一提供的網(wǎng)絡(luò)攻擊識(shí)別方法的步驟流程圖;圖4為本發(fā)明實(shí)施例一提供的IP數(shù)據(jù)包格式示意圖;圖5為本發(fā)明實(shí)施例一提供的TCP首部格式示意圖;圖6為本發(fā)明實(shí)施例一提供的保留位分配示意圖;圖7為本發(fā)明實(shí)施例二提供的網(wǎng)絡(luò)攻擊識(shí)別裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
利用TCP序列號(hào)進(jìn)行攻擊是TCP協(xié)議中存在的一個(gè)安全上的隱患,這類(lèi)攻擊能夠給網(wǎng)絡(luò)造成重大損害,攻擊者可以利用TCP協(xié)議中的安全弱點(diǎn)偽造序列號(hào),只要使得偽造的序列號(hào)落在滑動(dòng)窗口內(nèi),就可以使偽造的序列號(hào)被作為合法序列號(hào)正常處理,攻擊者就可以實(shí)施多種不同類(lèi)型的攻擊。由于基于連接狀態(tài)的傳統(tǒng)檢測(cè)技術(shù)很難抵御利用TCP序列號(hào)的脆弱性進(jìn)行的網(wǎng)絡(luò)攻擊,因此本發(fā)明實(shí)施例利用數(shù)據(jù)包的TCP序列號(hào)對(duì)數(shù)據(jù)包的合法性(TCP序列號(hào)的合法性)進(jìn)行檢測(cè),以盡可能地保證收到的數(shù)據(jù)包不是利用偽造的序列號(hào)發(fā)送的數(shù)據(jù)包,并可以對(duì)非法數(shù)據(jù)包進(jìn)行實(shí)時(shí)的預(yù)警,方便定制相應(yīng)的安全策略,提高系統(tǒng)的穩(wěn)定性和安全性。本發(fā)明實(shí)施例通過(guò)記錄并跟蹤TCP連接雙方的發(fā)送序列號(hào)、確認(rèn)序列號(hào)以及雙方的接收窗口長(zhǎng)度,以判斷數(shù)據(jù)包是否合法。進(jìn)一步的,可以引入對(duì)TCP序列號(hào)邊界值的檢測(cè),進(jìn)一步提高確定出的數(shù)據(jù)包是否合法的結(jié)果的準(zhǔn)確性。下面結(jié)合說(shuō)明書(shū)附圖和各實(shí)施例對(duì)本發(fā)明方案進(jìn)行說(shuō)明。實(shí)施例一、本發(fā)明實(shí)施例一提供一種網(wǎng)絡(luò)攻擊識(shí)別方法,具體的,以進(jìn)行網(wǎng)絡(luò)攻擊識(shí)別的網(wǎng)絡(luò)設(shè)備為路由器為例進(jìn)行說(shuō)明。該方法的步驟流程可以如圖3所示,包括步驟101、路由器接收數(shù)據(jù)包。在本步驟中,路由器可以接收第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議數(shù)據(jù)包,其中,N為正整數(shù)。其中,第一設(shè)備可以為客戶(hù)端,第二設(shè)備可以為服務(wù)器。當(dāng)然,也可以是第一設(shè)備為服務(wù)器,第二設(shè)備為客戶(hù)端。步驟102、路由器確定序列號(hào)。在路由器接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包之后,向第二設(shè)備轉(zhuǎn)發(fā)該數(shù)據(jù)包之前,可以對(duì)該數(shù)據(jù)包的合法性進(jìn)行檢測(cè)。在利用TCP序列號(hào)進(jìn)行攻擊的過(guò)程中,攻擊者可以不需要猜測(cè)出準(zhǔn)確的發(fā)送序列號(hào),只需要猜測(cè)出的發(fā)送序列號(hào)落在第二設(shè)備接收窗口的范圍內(nèi),即可以利用該猜測(cè)出的發(fā)送序列號(hào)發(fā)送數(shù)據(jù)包。由此非??赡軐?dǎo)致發(fā)送的數(shù)據(jù)包的數(shù)據(jù)長(zhǎng)度不符合第二設(shè)備接收窗口長(zhǎng)度或第一設(shè)備發(fā)送窗口長(zhǎng)度的要求。針對(duì)這種情況,本實(shí)施例提出可以通過(guò)利用TCP序列號(hào)檢測(cè)數(shù)據(jù)包的實(shí)際數(shù)據(jù)長(zhǎng)度的方法來(lái)確定用于發(fā)送數(shù)據(jù)包的序列號(hào)是否是偽造的,從而可以確定是否受到了網(wǎng)絡(luò)攻擊。并可以在確定用于發(fā)送數(shù)據(jù)包的序列號(hào)是偽造的時(shí),將利用偽造的序列號(hào)發(fā)送該數(shù)據(jù)包的第一設(shè)備發(fā)送的下一個(gè)數(shù)據(jù)包確定為非法數(shù)據(jù)包,阻止第一設(shè)備實(shí)施的網(wǎng)絡(luò)攻擊。
在本步驟中,路由器可以確定第一設(shè)備向第二設(shè)備發(fā)送的第N傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)和第二設(shè)備接收到第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào)。具體的,路由器可以從狀態(tài)表記錄的TCP連接雙方(第一設(shè)備和第二設(shè)備)的序列號(hào)中查找確定所述發(fā)送序列號(hào)和所述確認(rèn)序列號(hào)。步驟103、路由器確定數(shù)據(jù)包的合法性。在本步驟中,路由器在確定所述確認(rèn)序列號(hào)與所述發(fā)送序列號(hào)的差值不大于設(shè)定窗口長(zhǎng)度值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。所述設(shè)定窗口的長(zhǎng)度值為第一設(shè)備發(fā)送窗口的長(zhǎng)度值,或第二設(shè)備接收窗口的長(zhǎng)度值,或第一設(shè)備發(fā)送窗口的長(zhǎng)度值與第二設(shè)備接收窗口的長(zhǎng)度值中的最小值??梢岳斫鉃椋酚善骺梢栽谒龃_認(rèn)序列號(hào)與所述發(fā)送序列號(hào)的差值不大于第一設(shè)備發(fā)送窗口的長(zhǎng)度值,和/或所述確認(rèn)序列號(hào)與所述發(fā)送序列號(hào)的差值不大于第二設(shè)備 接收窗口的長(zhǎng)度值時(shí),即在利用TCP序列號(hào)確定第一設(shè)備向第二設(shè)備發(fā)送的第N傳輸控制協(xié)議數(shù)據(jù)包的實(shí)際數(shù)據(jù)長(zhǎng)度不大于第一設(shè)備發(fā)送窗口的長(zhǎng)度值,和/或第二設(shè)備接收窗口的長(zhǎng)度值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。進(jìn)一步的,在確定數(shù)據(jù)包為非法的數(shù)據(jù)包時(shí),可以丟棄該數(shù)據(jù)包,在確定數(shù)據(jù)包為合法的數(shù)據(jù)包時(shí),可以保留該數(shù)據(jù)包,用于后續(xù)向第二設(shè)備轉(zhuǎn)發(fā)。具體的,所述第一設(shè)備發(fā)送窗口的長(zhǎng)度值即為第一設(shè)備向第二設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的窗口長(zhǎng)度值。且路由器可以將距離自身接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備向第一設(shè)備發(fā)送數(shù)據(jù)包的窗口長(zhǎng)度值確定為所述第二設(shè)備接收窗口的長(zhǎng)度值。第一設(shè)備向第二設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的窗口長(zhǎng)度值,和距離路由器接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備向第一設(shè)備發(fā)送數(shù)據(jù)包的窗口長(zhǎng)度值可以是路由器在第一設(shè)備和第二設(shè)備進(jìn)行通信的過(guò)程中記錄的,并可以將記錄的窗口長(zhǎng)度值保存在指定位置。步驟104、路由器進(jìn)行數(shù)據(jù)包合法性標(biāo)識(shí)。 本步驟是一個(gè)優(yōu)選步驟。在確定出數(shù)據(jù)包的合法性之后,路由器可以進(jìn)行數(shù)據(jù)包的合法性標(biāo)識(shí)操作。如圖4所示,一個(gè)TCP數(shù)據(jù)包包括TCP首部(20字節(jié))和TCP數(shù)據(jù)兩個(gè)部分,且一個(gè)TCP數(shù)據(jù)包一般被增加一個(gè)IP首部(20字節(jié))封裝在一個(gè)IP數(shù)據(jù)包中傳輸,因此,路由器可以利用TCP數(shù)據(jù)包的TCP首部來(lái)標(biāo)識(shí)該TCP數(shù)據(jù)包的合法性。具體的,路由器可以利用TCP數(shù)據(jù)包的TCP首部中的保留位標(biāo)識(shí)該數(shù)據(jù)包是否合法,從而進(jìn)行網(wǎng)絡(luò)攻擊預(yù)警。當(dāng)然,如果該數(shù)據(jù)包為非法數(shù)據(jù)包,則可以清空該數(shù)據(jù)包的TCP數(shù)據(jù)部分,從而在利用TCP數(shù)據(jù)包進(jìn)行網(wǎng)絡(luò)攻擊預(yù)警的情況下,減少數(shù)據(jù)傳輸量,減少對(duì)網(wǎng)絡(luò)資源的占用。為了進(jìn)一步提高對(duì)數(shù)據(jù)包合法性檢測(cè)的準(zhǔn)確性,在步驟101之后,對(duì)數(shù)據(jù)包的合法性檢測(cè)過(guò)程中,可以進(jìn)一步結(jié)合TCP序列號(hào)的邊界值進(jìn)行數(shù)據(jù)包的合法性檢測(cè),包括但不限于包括以下三種方式中的至少一種方式一、路由器確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)不小于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)的最大值。假設(shè)第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議數(shù)據(jù)包的序列號(hào)范圍為S,S+N,則此時(shí)需要確認(rèn)S>=MAX (ACK),其中,ACK表示第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)。通過(guò)本方式的檢測(cè)可以防止已經(jīng)確認(rèn)接收到的數(shù)據(jù)的重傳。由于這種重傳是不必要的,因此,可以在即將發(fā)生此類(lèi)重傳時(shí),認(rèn)為發(fā)生了網(wǎng)絡(luò)攻擊,將第N+1傳輸控制協(xié)議數(shù)據(jù)包確認(rèn)為非法數(shù)據(jù)包,從而可以及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)攻擊。方式二、路由器確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的結(jié)束序列號(hào)不大于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)與第二設(shè)備接收窗口的長(zhǎng)度之和的最大值,所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。以第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議數(shù)據(jù)包的序列號(hào)范圍為S,S+N為例,則此時(shí)需要確認(rèn)S+N〈=MAX(ACK+WIN),其中,ACK表示第二設(shè)備已發(fā)送的確認(rèn)序列號(hào),WIN表示第二設(shè)備發(fā)送的自身接收窗口的長(zhǎng)度。通過(guò)本方式的檢測(cè)可以防止超出第二設(shè)備接收能力的數(shù)據(jù)發(fā)送至第二設(shè)備。在即將發(fā)送的數(shù)據(jù)包的結(jié)束序列號(hào)大于第二設(shè)備 已發(fā)送的確認(rèn)序列號(hào)與第二設(shè)備接收窗口的長(zhǎng)度之和的最大值時(shí),可以認(rèn)為發(fā)生了網(wǎng)絡(luò)攻擊,將第N+1傳輸控制協(xié)議數(shù)據(jù)包確認(rèn)為非法數(shù)據(jù)包,確保網(wǎng)絡(luò)攻擊的實(shí)時(shí)發(fā)現(xiàn)。方式三、路由器確定距離自身接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備返回的確認(rèn)序列號(hào)不大于結(jié)束序列號(hào),所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。仍以第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議數(shù)據(jù)包的序列號(hào)范圍為S,S+N為例,則此時(shí)需要確認(rèn)A〈=S+N,其中,A表示距離路由器接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備返回的確認(rèn)序列號(hào)。通過(guò)本方式的檢測(cè)可以保證沒(méi)有發(fā)送的數(shù)據(jù)不被確認(rèn)。如果沒(méi)有發(fā)送的數(shù)據(jù)被確認(rèn),即可以認(rèn)為發(fā)生了網(wǎng)絡(luò)攻擊,將第N+1傳輸控制協(xié)議數(shù)據(jù)包確認(rèn)為非法數(shù)據(jù)包。根據(jù)以上三種方式中的至少一種進(jìn)行數(shù)據(jù)包的合法性檢測(cè)可以在確定確認(rèn)序列號(hào)與發(fā)送序列號(hào)的差值是否不大于第一設(shè)備發(fā)送窗口的長(zhǎng)度值,和/或是否不大于第二設(shè)備接收窗口的長(zhǎng)度值之前執(zhí)行,當(dāng)然,也可以在確定確認(rèn)序列號(hào)與發(fā)送序列號(hào)的差值是否不大于第一設(shè)備發(fā)送窗口的長(zhǎng)度值,和/或是否不大于第二設(shè)備接收窗口的長(zhǎng)度值之后執(zhí)行。如果利用多種方式進(jìn)行了數(shù)據(jù)包合法性的檢測(cè),則步驟104中,在利用TCP首部的保留位進(jìn)行網(wǎng)絡(luò)攻擊預(yù)警時(shí),可以產(chǎn)生針對(duì)利用不同的方式檢測(cè)出數(shù)據(jù)包非法的預(yù)警類(lèi)型TCP首部格式如圖5所示,其中在進(jìn)行數(shù)據(jù)包合法性標(biāo)識(shí)時(shí),保留位分配可以如圖6所示??梢詫⒈A粑恢械牡谝粋€(gè)字節(jié)用做預(yù)警標(biāo)識(shí)位,可以在該字節(jié)為O時(shí),標(biāo)識(shí)該數(shù)據(jù)包為合法數(shù)據(jù)包;可以在該字節(jié)為I時(shí),標(biāo)識(shí)該數(shù)據(jù)包為非法數(shù)據(jù)包。并可以將保留位中的后五個(gè)字節(jié)作為預(yù)警類(lèi)型位,用于標(biāo)識(shí)不同的預(yù)警類(lèi)型(即確定該數(shù)據(jù)包為非法數(shù)據(jù)包的依據(jù))。例如,可以利用00001表示發(fā)生了 S〈MAX(ACK)類(lèi)型的預(yù)警,利用00010表示發(fā)生了S+N>MAX (ACK+WIN)類(lèi)型的預(yù)警,利用00011表示發(fā)生了 A>S+N類(lèi)型的預(yù)警,利用00100表不發(fā)生了確認(rèn)序列號(hào)與發(fā)送序列號(hào)的差值大于第一設(shè)備發(fā)送窗口的長(zhǎng)度值,和確認(rèn)序列號(hào)與發(fā)送序列號(hào)的差值大于第二設(shè)備接收窗口的長(zhǎng)度值類(lèi)型的預(yù)警。接收到TCP數(shù)據(jù)包的設(shè)備可以通過(guò)解析TCP首部了解數(shù)據(jù)包是否合法,以及預(yù)警類(lèi)型,從而可以做出相應(yīng)處理,進(jìn)行網(wǎng)絡(luò)攻擊的預(yù)防,減少網(wǎng)絡(luò)攻擊的發(fā)生。
與本發(fā)明實(shí)施例一基于同一發(fā)明構(gòu)思,提供以下的裝置。 實(shí)施例二、本發(fā)明實(shí)施例二提供一種網(wǎng)絡(luò)攻擊識(shí)別裝置,所述裝置可以集成在路由器的防火墻中,該裝置的結(jié)構(gòu)可以如圖7所示,包括接收模塊11用于接收第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議TCP數(shù)據(jù)包,其中,N為正整數(shù);確定模塊12用于在接收模塊接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí),確定第二設(shè)備接收到第一設(shè)備發(fā)送的第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào),與第一設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)的差值;合法性檢測(cè)模塊13用于根據(jù)確定模塊確定出的所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包,其中,所述設(shè)定窗口的長(zhǎng)度值為第一設(shè)備發(fā)送窗口的長(zhǎng)度值,或第二設(shè)備接收窗口的長(zhǎng)度值,或第一設(shè)備發(fā)送窗口的長(zhǎng)度值與第二設(shè)備接收窗口的長(zhǎng)度值中的最小值。所述合法性檢測(cè)模塊13具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。所述合法性檢測(cè)模塊13具體用于將第一設(shè)備向第二設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的窗口長(zhǎng)度值確定為所述第一設(shè)備發(fā)送窗口的長(zhǎng)度值,將距離接收模塊接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備向第一設(shè)備發(fā)送數(shù)據(jù)包的窗口長(zhǎng)度值確定為所述第二設(shè)備接收窗口的長(zhǎng)度值。所述合法性檢測(cè)模塊13具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)不小于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)的最大值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。所述合法性檢測(cè)模塊13具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的結(jié)束序列號(hào)不大于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)與第二設(shè)備接收窗口的長(zhǎng)度之和的最大值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包,其中,所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。所述合法性檢測(cè)模塊13具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定距離接收模塊接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備返回的確認(rèn)序列號(hào)不大于結(jié)束序列號(hào)時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包,其中,所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。所述裝置還包括標(biāo)識(shí)模塊14 標(biāo)識(shí)模塊14用于在合法性檢測(cè)模塊確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包之后,利用TCP數(shù)據(jù)包的TCP首部中的保留位標(biāo)識(shí)該數(shù)據(jù)包是否合法。根據(jù)本發(fā)明實(shí)施例一 實(shí)施例二提供的方案,可以通過(guò)對(duì)數(shù)據(jù)包進(jìn)行序列號(hào)的邊界值檢測(cè)、利用序列號(hào)進(jìn)行數(shù)據(jù)包的數(shù)據(jù)長(zhǎng)度的檢測(cè)等來(lái)檢測(cè)數(shù)據(jù)包的合法性,從而進(jìn)行實(shí)時(shí)、動(dòng)態(tài)的跟蹤和分析,實(shí)時(shí)地丟棄利用不合法序列號(hào)發(fā)送的數(shù)據(jù)包,并發(fā)出相應(yīng)的異常預(yù)警通告,提供實(shí)時(shí)的序列號(hào)的健康狀態(tài),減少TCP序列號(hào)攻擊的發(fā)生,為提高系統(tǒng)的安全性,提供一種合理的、有效的實(shí)時(shí)診斷方法和機(jī)制,提高網(wǎng)絡(luò)的穩(wěn)定性和可靠性。突破傳統(tǒng)的網(wǎng)絡(luò)攻擊識(shí)別方案無(wú)法及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)攻擊的瓶頸,提供實(shí)時(shí)、動(dòng)態(tài)的TCP序列號(hào)合法性檢測(cè)方案。同時(shí),利用TCP數(shù)據(jù)包的TCP首部中的保留位進(jìn)行網(wǎng)絡(luò)攻擊預(yù)警具有很好擴(kuò)展性,可以根據(jù)需要豐富預(yù)警內(nèi)容,使用戶(hù)實(shí)時(shí)、動(dòng)態(tài)的掌握序列號(hào)的健康狀態(tài),定制相應(yīng)的安全策略。本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)攻擊識(shí)別方法,適用于目前的IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí) 施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)攻擊識(shí)別方法,其特征在于,所述方法包括 網(wǎng)絡(luò)設(shè)備接收第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議TCP數(shù)據(jù)包,其中,N為正整數(shù); 網(wǎng)絡(luò)設(shè)備確定第二設(shè)備接收到第一設(shè)備發(fā)送的第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào),與第一設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)的差值; 網(wǎng)絡(luò)設(shè)備根據(jù)所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包 ; 其中,所述設(shè)定窗口的長(zhǎng)度值為第一設(shè)備發(fā)送窗口的長(zhǎng)度值,或第二設(shè)備接收窗口的長(zhǎng)度值,或第一設(shè)備發(fā)送窗口的長(zhǎng)度值與第二設(shè)備接收窗口的長(zhǎng)度值中的最小值。
2.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)絡(luò)設(shè)備根據(jù)所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包,具體包括 網(wǎng)絡(luò)設(shè)備在確定所述差值不大于設(shè)定窗口長(zhǎng)度值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。
3.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)絡(luò)設(shè)備將第一設(shè)備向第二設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的窗口長(zhǎng)度值確定為所述第一設(shè)備發(fā)送窗口的長(zhǎng)度值,將距離自身接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備向第一設(shè)備發(fā)送數(shù)據(jù)包的窗口長(zhǎng)度值確定為所述第二設(shè)備接收窗口的長(zhǎng)度值。
4.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)絡(luò)設(shè)備根據(jù)所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包,具體包括 網(wǎng)絡(luò)設(shè)備在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)不小于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)的最大值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。
5.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)絡(luò)設(shè)備根據(jù)所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包,具體包括 網(wǎng)絡(luò)設(shè)備在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的結(jié)束序列號(hào)不大于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)與第二設(shè)備接收窗口的長(zhǎng)度之和的最大值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包,其中,所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。
6.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)絡(luò)設(shè)備根據(jù)所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包,具體包括 網(wǎng)絡(luò)設(shè)備在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定距離自身接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備返回的確認(rèn)序列號(hào)不大于結(jié)束序列號(hào)時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包,其中,所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。
7.如權(quán)利要求1飛任一所述的方法,其特征在于,網(wǎng)絡(luò)設(shè)備根據(jù)所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包之后,所述方法還包括網(wǎng)絡(luò)設(shè)備利用TCP數(shù)據(jù)包的TCP首部中的保留位標(biāo)識(shí)該數(shù)據(jù)包是否合法。
8.—種網(wǎng)絡(luò)攻擊識(shí)別裝置,其特征在于,所述裝置包括接收模塊,用于接收第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議TCP數(shù)據(jù)包,其中,N為正整數(shù); 確定模塊,用于在接收模塊接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí),確定第二設(shè)備接收到第一設(shè)備發(fā)送的第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào),與第一設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)的差值; 合法性檢測(cè)模塊,用于根據(jù)確定模塊確定出的所述差值與設(shè)定窗口長(zhǎng)度值的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包,其中,所述設(shè)定窗口的長(zhǎng)度值為第一設(shè)備發(fā)送窗口的長(zhǎng)度值,或第二設(shè)備接收窗口的長(zhǎng)度值,或第一設(shè)備發(fā)送窗口的長(zhǎng)度值與第二設(shè)備接收窗口的長(zhǎng)度值中的最小值。
9.如權(quán)利要求8所述的裝置,其特征在于,所述合法性檢測(cè)模塊,具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。
10.如權(quán)利要求8所述的裝置,其特征在于,所述合法性檢測(cè)模塊,具體用于將第一設(shè)備向第二設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包的窗口長(zhǎng)度值確定為所述第一設(shè)備發(fā)送窗口的長(zhǎng)度值,將距離接收模塊接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備向第一設(shè)備發(fā)送數(shù)據(jù)包的窗口長(zhǎng)度值確定為所述第二設(shè)備接收窗口的長(zhǎng)度值。
11.如權(quán)利要求8所述的裝置,其特征在于,所述合法性檢測(cè)模塊,具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的發(fā)送序列號(hào)不小于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)的最大值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包。
12.如權(quán)利要求8所述的裝置,其特征在于,所述合法性檢測(cè)模塊,具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定所述第N+1傳輸控制協(xié)議數(shù)據(jù)包的結(jié)束序列號(hào)不大于第二設(shè)備已發(fā)送的確認(rèn)序列號(hào)與第二設(shè)備接收窗口的長(zhǎng)度之和的最大值時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包,其中,所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。
13.如權(quán)利要求8所述的裝置,其特征在于,所述合法性檢測(cè)模塊,具體用于在確定所述差值不大于設(shè)定窗口長(zhǎng)度值,且確定距離接收模塊接收到第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí)刻最近一次第二設(shè)備返回的確認(rèn)序列號(hào)不大于結(jié)束序列號(hào)時(shí),確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包,否則,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為非法數(shù)據(jù)包,其中,所述結(jié)束序列號(hào)為第N+1傳輸控制協(xié)議數(shù)據(jù)包中最后一個(gè)字節(jié)的序列號(hào)。
14.如權(quán)利要求8 13任一所述的裝置,其特征在于,所述裝置還包括標(biāo)識(shí)模塊,用于在合法性檢測(cè)模塊確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包或非法數(shù)據(jù)包之后,利用TCP數(shù)據(jù)包的TCP首部中的保留位標(biāo)識(shí)該數(shù)據(jù)包是否合法。
全文摘要
本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)攻擊識(shí)別方法及裝置,包括網(wǎng)絡(luò)設(shè)備在接收到第一設(shè)備向第二設(shè)備發(fā)送的第N+1傳輸控制協(xié)議數(shù)據(jù)包時(shí),確定第一設(shè)備向第二設(shè)備發(fā)送第N傳輸控制協(xié)議數(shù)據(jù)包時(shí)的發(fā)送序列號(hào)和第二設(shè)備接收到該第N傳輸控制協(xié)議數(shù)據(jù)包返回的確認(rèn)序列號(hào),通過(guò)確認(rèn)序列號(hào)與發(fā)送序列號(hào)的差值與設(shè)定窗口長(zhǎng)度的關(guān)系,確定第N+1傳輸控制協(xié)議數(shù)據(jù)包為合法數(shù)據(jù)包還是非法數(shù)據(jù)包。
文檔編號(hào)H04L29/06GK102655509SQ20121013874
公開(kāi)日2012年9月5日 申請(qǐng)日期2012年5月7日 優(yōu)先權(quán)日2012年5月7日
發(fā)明者鐘岳林, 黃志忠 申請(qǐng)人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司