緩解攻擊方法、序列號提供方法及設備的制作方法
【專利摘要】本發明公開了一種緩解攻擊方法、序列號提供方法及設備,屬于網絡安全領域。所述方法包括:服務器接收TCP?SYN數據包,所述TCP?SYN數據包中包含初始序列號;所述服務器判斷所述初始序列號是否為預先分配的預設序列號;如果所述初始序列號是預設序列號,則將所述TCP?SYN數據包存儲至高優先級隊列;如果所述初始序列號不是預設序列號,則將所述TCP?SYN數據包存儲至低優先級隊列。本發明通過對三次握手機制中的第一個TCP?SYN數據包的初始序列號采用預設序列號,使得服務器可以對客戶端進行正常訪問的TCP?SYN數據包和拒絕服務攻擊進行非正常訪問的TCP?SYN數據包具有了一定程度的辨別能力,結合優先級隊列的處理方式,達到了即便服務器承受高強度的TCP?SYN洪水攻擊時,也能夠為客戶端提供正常的訪問服務的效果。
【專利說明】緩解攻擊方法、序列號提供方法及設備
【技術領域】
[0001]本發明涉及網絡安全領域,特別涉及ー種緩解攻擊方法、序列號提供方法及設備。【背景技術】
[0002]傳輸控制協議(英文全稱為Transmission Control Protocol,英文縮寫為TCP)是ー種面向連接的、可靠的、基于字節流的運輸層(英文全稱為Transport layer)通信協議,在簡化的計算機網絡OSI模型中,它完成第四層運輸層所指定的功能。
[0003]請參考圖1,其示出了現有技術中的ー種TCP連接建立方法的方法流程圖。該TCP連接建立方法包括:第一,客戶端向服務器發送包含初始序列號為X的傳輸控制協議同步(英文全稱為 Transmission Control Protocol synchronize,英文縮寫為 TCP SYN)數據包,該TCP SYN數據包中包含有該客戶端的識別信息,用于發起TCP請求;第二,服務器接收到客戶端發送的該包含初始序列號為X的TCP SYN數據包后,反饋ー個ACK+SYN數據包,所述ACK+SYN數據包是指ACK位和SYN位都置為I的TCP數據包,所述ACK+SYN數據包是TCP規定的對TCP SYN數據包的相應,該ACK+SYN數據包中包含確認序列號X+1和另ー個初始序列號Y ;第三,客戶端接收到服務器發送的ACK+SYN數據包之后,反饋ー個確認序列號為Y+1的ACK確認數據包。至此,ー個TCP連接將被成功建立。其中,序列號是32bit的無符號數,取值范圍為“(T4294967295”。初始序列號X由客戶端隨機提供,具體的提供方式為:客戶端啟動時先隨機生成一個初始序號(英文全稱為Initial Sequence Number,英文縮寫為ISN)然后按照每4ms+l的方式累加并維護這個初始序號,在需要發送TCP SYN數據包吋,使用當前維護的初始序號作為該TCP SYN數據包中的初始序列號X。客戶端的識別信息通常為IP地址和端口號。上述過程也即常說的“三次握手機制”
[0004]TCP SYN洪水攻擊(英文全稱為TCP SYN Flood)是ー種通過客戶端來向服務器頻繁發送大量包含偽識別信息的TCP SYN數據包,使得服務器中的半連接資源被耗盡,從而使用戶正常的連接請求無法得到服務的網絡攻擊。由于TCP SYN洪水攻擊簡單有效,是黑客常用的ー種手段,已經多次給大型門戶網站和商業網站帶來巨大損失。針對TCP SYN洪水攻擊,現有技術中較為常用的緩解攻擊方法主要是:第一,預先在服務器和客戶端之間設置一防火墻,由該防火墻來代理服務器接收客戶端的TCP請求;第二,防火墻與ー個客戶端成功建立TCP連接后,再向服務器建立ー個TCP連接,然后防火墻將客戶端和服務器之間的數據進行互相轉發。顯然,如果防火墻沒有與客戶端成功建立TCP連接,則不向服務器建立TCP連接。
[0005]在實現本發明的過程中,發明人發現現有技術至少存在以下問題:雖然由防火墻來代理服務器接收客戶端的TCP請求可以一定程度緩解TCP SYN洪水攻擊,但是實質上只是由防火墻來代替服務器承擔TCP SYN洪水攻擊。當TCP SYN洪水攻擊的攻擊カ度達到防火墻能夠承受的極限吋,防火墻也會癱瘓,仍然不能解決TCP SYN洪水攻擊所帯來的問題。
【發明內容】
[0006]為了緩解TCP SYN洪水攻擊所帯來的問題,本發明實施例提供了一種緩解攻擊方法、數據包生成方法、序列號提供方法及設備。所述技術方案如下:
[0007]根據本發明的ー個方面,本發明實施例提供ー種緩解攻擊方法,所述方法包括:
[0008]服務器接收傳輸控制協議同步TCP SYN數據包,所述TCP SYN數據包中包含初始序列號,所述TCP SYN數據包是針對統ー資源定位符的,所述統ー資源定位符包括服務器信息和文件信息;
[0009]所述服務器確定所述初始序列號是否為預先分配的預設序列號;
[0010]如果所述初始序列號是所述預設序列號,則所述服務器將所述TCP SYN數據包存儲至高優先級隊列;
[0011]如果所述初始序列號不是所述預設序列號,則所述服務器將所述TCP SYN數據包存儲至低優先級隊列。
[0012]可選地,所述接收傳輸控制協議同步TCP SYN數據包之前,所述方法還包括:
[0013]所述服務器為客戶端分配所述預設序列號,以便所述客戶端發送攜帯所述預設序列號的TCP SYN數據包。
[0014]可選地,所述為客戶端分配所述預設序列號,具體包括:
[0015]所述服務器向所述客戶端發送攜帯所述預設序列號的網頁。
[0016]可選地,所述為客戶端分配所述預設序列號,具體包括:
[0017]向搜索引擎提供所述統ー資源定位符和所述預設序列號之間的對應關系,以便所述搜索引擎確定所述客戶端捜索所述統ー資源定位符或所述統ー資源定位符對應的資源吋,將對應的所述預設序列號提供給所述客戶端。
[0018]根據本發明的另一方面,本發明實施例還提供ー種序列號提供方法,其包括:
[0019]接收用戶的搜索請求;
[0020]根據所述搜索請求搜索與所述搜索請求對應的統ー資源定位符;
[0021]判斷是否存在與捜索到的統ー資源定位符對應的預設序列號;
[0022]如果存在與捜索到的統ー資源定位符對應的預設序列號,則將所述搜索到的統ー資源定位符和所述與所述搜索到的統ー資源定位符對應的預設序列號同時進行反饋。
[0023]可選地,所述接收用戶的搜索請求之前,所述方法還包括:
[0024]接收并存儲服務器提供的統ー資源定位符與預設序列號的對應關系。
[0025]根據本發明的再一方面,本發明實施例還提供ー種緩解攻擊裝置,所述裝置包括:
[0026]數據接收模塊,用于接收傳輸控制協議同步TCP SYN數據包,所述TCP SYN數據包中包含初始序列號,所述TCP SYN數據包是針對統ー資源定位符的,所述統ー資源定位符包括服務器信息和文件信息;
[0027]初始序列號判斷模塊,用于判斷所述初始序列號是否為預先分配的預設序列號;
[0028]數據保存模塊,用于如果所述初始序列號判斷模塊判斷到所述初始序列號是所述預設序列號,則將所述TCP SYN數據包存儲至高優先級隊列;
[0029]所述數據保存模塊,還用于如果所述初始序列號判斷模塊判斷到所述初始序列號不是所述預設序列號,則將所述TCP SYN數據包存儲至低優先級隊列。
[0030]可選地,所述緩解攻擊裝置,還包括:[0031]序號提供ホ旲塊;
[0032]所述序號提供模塊,用于為客戶端分配所述預設序列號,以便所述客戶端發送攜帶所述預設序列號的TCP SYN數據包。
[0033]可選地,所述序號提供模塊,具體包括:
[0034]第一序號提供單元;
[0035]所述第一序號提供単元,用于向所述客戶端發送攜帯所述預設序列號的網頁。
[0036]可選地,所述序號提供模塊,具體包括:
[0037]第二序號提供單元;
[0038]所述第二序號提供単元,用于向搜索引擎提供所述統ー資源定位符和所述預設序列號之間的對應關系,以便所述搜索引擎確定所述客戶端捜索所述統ー資源定位符或所述統ー資源定位符對應的資源時,將對應的所述預設序列號提供給所述客戶端。
[0039]根據本發明的又一方面,本發明實施例還提供一種服務器,所述服務器包括上述緩解攻擊裝置。
[0040]根據本發明的另一方面,本發明實施例還提供ー種序列號提供裝置,其包括:
[0041]請求接收模塊,用于接收用戶的搜索請求;
[0042]請求搜索模塊,用于根據所述搜索請求搜索與所述搜索請求對應的統ー資源定位符;
[0043]捜索判斷模塊,用于判斷是否存在與捜索到的統ー資源定位符對應的預設序列號;
[0044]結果反饋模塊,用于如果存在與捜索到的統ー資源定位符對應的預設序列號,則將所述捜索到的統ー資源定位符和所述與所述搜索到的統ー資源定位符對應的預設序列號同時進行反饋。
[0045]可選地,所述序列號提供裝置,還包括:關系存儲模塊;
[0046]所述關系存儲模塊,用于接收并存儲服務器提供的統ー資源定位符與預設序列號的對應關系。
[0047]根據本發明的還一方面,本發明實施例還提供ー種搜索引擎服務器,所述搜索引擎服務器包括上述序列號提供裝置。
[0048]本發明實施例提供的技術方案帶來的有益效果是:
[0049]通過對三次握手機制中的第一個TCP SYN數據包的初始序列號采用預設序列號,使得服務器可以對客戶端進行正常訪問的TCP SYN數據包和拒絕服務攻擊進行非正常訪問的TCP SYN數據包具有了一定程度的辨別能力,結合優先級隊列的處理方式,達到了即便服務器承受高強度的TCP SYN洪水攻擊時,也能夠為客戶端提供正常的訪問服務的效果。
【專利附圖】
【附圖說明】
[0050]為了更清楚地說明本發明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0051]圖1是現有技術中的ー種TCP連接建立方法的方法流程圖;[0052]圖2是本發明實施例一提供的緩解攻擊方法的方法流程圖;
[0053]圖3是本發明實施例ニ提供的緩解攻擊方法的方法流程圖;
[0054]圖4是本發明實施例ニ提供的緩解攻擊方法的實施示意圖;
[0055]圖5是本發明實施例三提供的數據生成方法的方法示意圖;
[0056]圖6是本發明實施例四提供的序列號提供方法的方法流程圖;
[0057]圖7是本發明實施例四提供的序列號提供方法的實施示意圖;
[0058]圖8是本發明實施例五提供的ー種緩解攻擊裝置的結構方框圖;
[0059]圖9是本發明實施例五提供的另ー種緩解攻擊裝置的結構方框圖;
[0060]圖10是本發明實施例六提供的數據生成裝置的結構方框圖;
[0061]圖11是本發明實施例七提供的ー種序列號提供裝置的結構方框圖;
[0062]圖12是本發明實施例七提供的另ー種序列號提供裝置的結構方框圖。
【具體實施方式】
[0063]為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進ー步地詳細描述。
[0064]實施例一
[0065]請參考圖2,其示出了本發明實施例一提供的緩解攻擊方法的方法流程圖。該緩解攻擊方法可以用于服務器中,該緩解攻擊方法可以包括以下內容。
[0066]步驟202,服務器接收傳輸控制協議同步(英文縮寫為TCP SYN)數據包,該TCP SYN數據包中包含初始序列號,該TCP SYN數據包是針對統ー資源定位符的,統ー資源定位符包括服務器信息和文件信息;
[0067]服務器可以接收客戶端發送的TCP SYN數據包,該TCP SYN數據包中包含初始序列號。該TCP SYN數據包用于請求訪問統ー資源定位符(英文全稱為Uniform ResourceLocator,英文縮寫為URL)對應的網頁或者資源,統ー資源定位符可以認為是網頁地址,其包括服務器信息和文件信息,服務器信息為服務器的域名,文件信息不能為空。比如,ー個統一資源定位符為 //www.XXXXX.com/view/245485, htm,那么 www.XXXXX.com 為服務器信息,245485.htm為文件信息。
[0068]步驟204,服務器判斷該初始序列號是否為預先分配的預設序列號,如果是,則進入步驟206 ;如果否,則進入步驟208 ;
[0069]服務器可以判斷該初始序列號是否為預設序列號,該預設序列號可以是服務器預先分配給客戶端的序列號,預設序列號的取值范圍可以是“(T4294967295”的子集。
[0070]步驟206,如果該初始序列號是預設序列號,則將TCP SYN數據包存儲至高優先級隊列;
[0071]服務器可以同時維護兩個隊列,其中ー個是高優先級隊列、另ー個是低優先級隊列。服務器也可以同時維護兩個以上的隊列,其中ー個是高優先級隊列,優先級低于所述高優先級隊列的一個或多個隊列均可以被視為是低優先級隊列。如果服務器判斷該初始序列號是預設序列號時,可以將該TCP SYN數據包存儲至高優先級隊列。
[0072]此后,服務器可以優先處理高優先級隊列中的TCP SYN數據包并建立連接,該建立連接的過程包括服務器向客戶端發送ACK+SYN數據包的過程,也包括接收客戶端發送的ACK確認數據包的過程。
[0073]步驟208,如果該初始序列號不是預設序列號,則將TCP SYN數據包存儲至低優先級隊列。
[0074]如果服務器判斷該初始序列號不是預設序列號時,可以將該TCP SYN數據包存儲至低優先級隊列。
[0075]此后,服務器可以等待空閑時間才處理或者不處理低優先級隊列中的TCP SYN數據包,并且在低優先級隊列存儲滿之后,丟棄初始序列號不是預設序列號的ー個或多個TCPSYN數據包。
[0076]綜上所述,本發明實施例一提供的緩解攻擊方法通過對三次握手機制中的第一個TCP SYN數據包的初始序列號采用預設序列號,使得服務器可以對客戶端進行正常訪問的TCP SYN數據包和拒絕服務攻擊進行非正常訪問的TCP SYN數據包具有了 一定程度的辨別能力,結合優先級隊列的處理方式,達到了即便服務器承受高強度的TCP SYN洪水攻擊吋,也能夠為客戶端提供正常的訪問服務的效果。
[0077]實施例ニ
[0078]請參考圖3,其示出了本發明實施例ニ提供的緩解攻擊方法的方法流程圖。該緩解攻擊方法可以用于服務器中,也即本實施例主要以服務器ー側來描述,該緩解攻擊方法可以包括以下內容。
[0079]步驟302,為客戶端分配預設序列號,以便客戶端發送攜帯有預設序列號的TCPSYN數據包;
[0080]服務器可以向客戶端分配預設序列號,以便客戶端發送攜帯有預設序列號的TCPSYN數據包。
[0081]可選地,服務器向客戶端發送攜帯預設序列號的網頁,這樣便可以直接地將預設序列號分配給客戶端。這樣,當客戶端發送針對統ー資源定位符的TCP SYN數據包時,就可以將獲取的預設序列號添加到待發送的TCP SYN數據包中。
[0082]為了提高有效性,服務器可以動態提供預設序列號,也即可以每隔預定時間間隔,隨機選取ー組序列號作為預設序列號。
[0083]可選地,服務器也可以向搜索引擎提供統ー資源定位符和預設序列號之間的對應關系,以便搜索引擎確定客戶端搜索所述統ー資源定位符或所述統ー資源定位符對應的資源時,將對應的預設序列號提供給客戶端。
[0084]步驟304,接收TCP SYN數據包,該TCP SYN數據包中包含初始序列號,該TCP SYN數據包是針對統ー資源定位符的,統ー資源定位符包括服務器信息和文件信息;
[0085]服務器可以接收到客戶端發送的TCP SYN數據包,該TCP SYN數據包都包含有初始序列號。該TCP SYN數據包用于請求訪問統ー資源定位符(英文全稱為Uniform ResourceLocator,英文縮寫為URL)對應的網頁或者資源,統ー資源定位符可以認為是網頁地址,其包括服務器信息和文件信息,服務器信息為服務器的域名,文件信息不能為空。比如,ー個統一資源定位符為 //www.XXXXX.com/view/245485, htm,那么 www.XXXXX.com 為服務器信息,245485.htm為文件信息。
[0086]如果該TCP SYN數據包是由正常用戶的客戶端發送而來,其中的初始序列號應當是服務器提供的預設序列號;如果是拒絕服務攻擊提供的TCP SYN數據包,則其中的初始序列號一般都不是預設序列號。
[0087]步驟306,判斷該初始序列號是否為預先分配的預設序列號,如果是,則進入步驟308 ;如果否,則進入步驟310 ;
[0088]服務器可以判斷接收到的TCP SYN數據包中的初始序列號是否為預先分配給客戶端的預設序列號。
[0089]步驟308,如果該初始序列號是預設序列號,則將TCP SYN數據包存儲至高優先級隊列;
[0090]服務器可以同時維護兩個隊列,其中ー個是高優先級隊列、另ー個是低優先級隊列。服務器也可以同時維護兩個以上的隊列,其中ー個是高優先級隊列,優先級低于所述高優先級隊列的一個或多個隊列均可以被視為是低優先級隊列。如果服務器判斷接收到的TCP SYN數據包中的初始序列號是預設序列號時,可以將該TCP SYN數據包存儲至高優先級隊列。
[0091]當然,在更為優選的實施例中,優先級隊列可以不止兩個,而是多個。比如:優先級隊列可以是四個,分別是第一優先級隊列、第二優先級隊列、第三優先級隊列和第四優先級隊列,各個隊列的優先級依次降低。服務器可以首先對TCP SYN數據包的來源IP進行分類,對于來自預定IP地址的TCP SYN數據包可以存儲入第一優先級隊列和第二優先級隊列,對于來自非預定IP地址的TCP SYN數據包可以存儲入第三優先級隊列和第四優先級隊列。然后將TCP SYN數據包存儲入第一優先級隊列和第二優先級隊列,或者第三優先級隊列和第四優先級隊列時,才按照TCP SYN數據包中的初始序列號進行再次分類。其中,假設服務器位于總公司,預定IP地址可以是子公司的IP地址。
[0092]步驟310,如果該初始序列號不是預設序列號,則將TCP SYN數據包存儲至低優先級隊列;
[0093]如果服務器判斷接收到的TCP SYN數據包中的初始序列號不是預設序列號時,可以將該TCP SYN數據包存儲至低優先級隊列。當低優先級隊列存儲滿之后,可以對其內的TCP SYN數據包進行丟棄處理。
[0094]步驟312,優先處理高優先級隊列中的TCP SYN數據包并建立連接。
[0095]服務器可以優先處理高優先級隊列中的TCP SYN數據包并建立連接,該建立連接的過程包括服務器向客戶端發送ACK+SYN確認數據包的過程,也包括接收客戶端發送的ACK確認數據包的過程。然后,服務器也可以在將高優先級隊列中的TCP SYN數據包處理完畢后,再處理低優先級隊列中的SYN數據包。由于高優先級隊列中的TCP SYN數據包通常都是客戶端進行正常訪問的TCP SYN數據包,而低優先級隊列中的SYN數據包通常都是拒絕服務攻擊進行非正常訪問的TCP SYN數據包,所以可以優先保證客戶端的正常訪問,而TCP SYN洪水攻擊發送的大量TCP SYN數據包將會在低優先級隊列中被丟棄。
[0096]綜上所述,本發明實施例ニ提供的緩解攻擊方法通過對三次握手機制中的第一個TCP SYN數據包的初始序列號采用預設序列號,使得服務器可以對客戶端進行正常訪問的TCP SYN數據包和拒絕服務攻擊進行非正常訪問的TCP SYN數據包具有了 一定程度的辨別能力,結合優先級隊列的處理方式,達到了即便服務器承受高強度的TCP SYN洪水攻擊吋,也能夠為客戶端提供正常的訪問服務的效果。
[0097]實施例三[0098]請參考圖5,其示出了本發明實施例三提供的數據包生成方法的方法流程圖。該數據包生成方法可以用于圖4所示客戶端中,用于生成包含預設數據包的TCP SYN數據包。該數據包生成方法包括:
[0099]步驟502,接收用戶為ー個統ー資源定位符輸入的預設序列號;
[0100]用戶在使用客戶端訪問ー個由服務器提供的URL時,可以將服務器同時提供給的預設序列號輸入給客戶端。客戶端可以接收到用戶為該URL輸入的預設序列號。
[0101]步驟504,將預設序列號作為初始序列號以生成TCP SYN數據包,該TCP SYN數據包為請求連接該統ー資源定位符對應的服務器的TCP SYN數據包。
[0102]客戶端在接收到該預設序列號后,可以將該預設序列號作為初始序列號來生成一個TCPSYN數據包,該TCP SYN數據包是用于請求連接上述URL對應的服務器的TCP SYN數據包。
[0103]綜上所述,本發明實施例三提供的數據包生成方法可以利用服務器提供的預設序列號來生成TCP SYN數據包,使得客戶端向服務器發送的TCP SYN數據包具有了一定程度的可識別性,以便于服務器進行后續處理。
[0104]由于服務器提供至少ー個預設序列號,以便客戶端根據預設序列號發送TCP SYN數據包也可以采用其它實現方式來實現,為此請繼續參考如下實施例。
[0105]實施例四
[0106]請參考圖6,其示出了本發明實施例三提供的序列號提供方法的方法流程圖。該序列號提供方法可以用于搜索引擎服務器中,該序列號提供方法可以包括以下內容。
[0107]步驟602,接收并存儲服務器提供的統ー資源定位符與預設序列號的對應關系;
[0108]服務器可以預先向搜索引擎服務器提供至少ー對自身提供的URL和預設序列號之間的對應關系,具體地講,服務器提供的每ー個URL都可以分別各自對應ー個預設序列號,這種對應關系也即URL和預設序列號之間的對應關系。其中,“預先”的時刻可以是在服務器接收到拒絕服務攻擊時;服務器提供的預設序列號也可以是動態提供的。搜索引擎服務器可以接收到服務器提供的該URL與預設序列號的對應關系,然后搜索引擎服務器可以存儲該URL與預設序列號的對應關系。
[0109]步驟604,接收用戶的搜索請求;
[0110]搜索引擎服務器可以接收用戶的搜索請求,比如用戶通過其使用的客戶端向捜索請求服務器發送一個有關服務器提供的內容的搜索請求。
[0111]步驟606,根據該搜索請求搜索與所述搜索請求對應的統ー資源定位符;
[0112]搜索引擎服務器在接收到用戶的搜索請求之后,可以根據該搜索請求搜索URL。簡單來講,就是搜索引擎服務器根據用戶的搜索請求,捜索相關的網頁內容。通常,捜索引擎服務器可以搜索到很多相關URL,這些URL —部分是有上述服務器來提供的。
[0113]步驟608,判斷是否存在與捜索到的統ー資源定位符對應的預設序列號;
[0114]搜索引擎服務器可以判斷捜索到的每個URL是否存在對應的預設序列號。具體地講,如果搜索引擎服務器判斷的URL是由上述服務器提供的,則可以根據預先存儲的URL與預設序列號的對應關系查找到相對應的預設序列號。如果搜索引擎服務器判斷的URL不是由上述服務器提供的,則根據預先存儲的URL與預設序列號的對應關系是無法查找到相對應的預設序列號的。[0115]步驟610,如果存在與捜索到的統ー資源定位符對應的預設序列號,則將搜索到的統ー資源定位符和與捜索到的統ー資源定位符對應的預設序列號同時進行反饋。
[0116]如果搜索引擎服務器判斷到存在與捜索到的URL對應的預設序列號,則可以將該URL和預設序列號同時反饋,比如在ー個具體的示例中,搜索引擎服務器可以先將捜索到的URL按照列表方式提供給用戶使用的客戶端,當用戶的鼠標點擊到上述服務器提供的URL時,搜索引擎服務器可以彈出ー個加擾圖片和輸入框。如圖7所示,該加擾圖片上顯示有簡單的加法算式,該加法算式的計算結果即為與這個URL相對應的預設序列號。
[0117]然后客戶端可以利用該預設序列號生成TCP SYN數據包向服務器發起TCP請求,相應的步驟如上述實施例與步驟502和步驟504類似。服務器接收到該TCP SYN數據包后,可以建立TCP連接,相應的步驟與上述實施例中步驟304和步驟312類似。此處不再——贅述。
[0118]綜上所述,本發明實施例四提供的序列號提供方法可以利用搜索引擎服務器來向客戶端提供預設序列號,以便客戶端來生成包含預設序列號的TCP SYN數據包,使得客戶端向服務器發送的TCP SYN數據包具有了一定程度的可識別性。同時,本發明實施例四提供的序列號提供方法利用搜索引擎服務器來提供預設序列號,可以將提供預設序列號的過程和服務器處理TCP SYN數據包的過程互相分離,即便服務器此刻正在承受較強的TCP SYN洪水攻擊,也能由搜索引擎服務器為客戶端正常地提供預設序列號,達到了更好的抗攻擊效果。
[0119]實施例五
[0120]請參考圖8,其示出了本發明實施例五提供的緩解攻擊裝置的結構方框圖。該緩解攻擊裝置可以用于服務器中。該緩解攻擊裝置可以包括數據接收模塊820、初始序列號判斷模塊840和數據保存模塊860。
[0121]數據接收模塊820用于接收傳輸控制協議TCP SYN數據包,該TCP SYN數據包中包含初始序列號,TCP SYN數據包是針對統ー資源定位符的,統ー資源定位符包括服務器信息和文件信息。
[0122]初始序列號判斷模塊840用于判斷數據接收模塊820接收到的初始序列號是否為預先分配的預設序列號。
[0123]數據保存模塊860用于如果初始序列號判斷模塊840判斷到該初始序列號是預設序列號,則將TCP SYN數據包存儲至高優先級隊列。數據保存模塊860也用于如果初始序列號判斷模塊840判斷到初始序列號不是預設序列號,則將TCP SYN數據包存儲至低優先級隊列。
[0124]更為優選地,該緩解攻擊裝置還可以包括序號提供模塊810,如圖9所示。序號提供模塊810用于為客戶端分配預設序列號,以便客戶端發送攜帯所述預設序列號的TCPSYN數據包。序號提供模塊810可以包括第一序號提供単元812。其中,第一序號提供単元812用于向客戶端發送攜帯預設序列號的網頁。或者,序號提供模塊810可以包括第二序號提供単元814,第二序號提供単元814用于向搜索引擎提供所述統ー資源定位符和所述預設序列號之間的對應關系,以便搜索引擎確定所述客戶端捜索所述統ー資源定位符或所述統ー資源定位符對應的資源時,將對應的所述預設序列號提供給客戶端。
[0125]綜上所述,本發明實施例五提供的緩解攻擊裝置通過對三次握手機制中的第一個TCP SYN數據包的初始序列號采用預設序列號,使得服務器可以對客戶端進行正常訪問的TCP SYN數據包和拒絕服務攻擊進行非正常訪問的SYN數據包具有了一定程度的辨別能力,結合優先級隊列的處理方式,達到了即便服務器承受高強度的TCP洪水攻擊時,也能夠為客戶端提供正常的訪問服務的效果。
[0126]需要說明的是:上述實施例提供的緩解攻擊裝置在緩解拒絕服務攻擊時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的緩解攻擊裝置與緩解攻擊方法實施例屬于同一構思,其具體實現過程詳見方法實施例,這里不再贅述。
[0127]實施例六
[0128]請參考圖10,其示出了本發明實施例六提供的數據包生成裝置的結構方框圖。該數據包生成裝置可以用于客戶端中,該數據包生成裝置可以包括序號接收模塊1020和數據生成模塊1040。
[0129]序號接收模塊1020用于接收用戶為ー個統ー資源定位符輸入的預設序列號。
[0130]數據生成模塊1040用于將序號接收模塊1020接收到的預設序列號作為初始序列號以生成TCP SYN數據包,該TCP SYN數據包為請求連接該統ー資源定位符對應的服務器的TCP SYN數據包。
[0131 ] 綜上所述,本發明實施例六提供的數據包生成裝置可以利用服務器提供的預設序列號來生成TCP SYN數據包,使得客戶端向服務器發送的TCP SYN數據包具有了一定程度的可識別性,以便于服務器進行后續處理。
[0132]需要說明的是:上述實施例提供的數據包生成裝置在生成TCP SYN數據包時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的數據包生成裝置與數據包生成方法實施例屬于同一構思,其具體實現過程詳見方法實施例,這里不再贅述。
[0133]實施例七
[0134]請參考圖11,其示出了本發明實施例七提供的序列號提供裝置的結構方框圖。該序列號提供裝置可以用于搜索引擎服務器中,該序列號提供裝置包括請求接收模塊1120、請求搜索模塊1140、搜索判斷模塊1160和結果反饋模塊1180。
[0135]請求接收模塊1120用于接收用戶的搜索請求。
[0136]請求搜索模塊1140用于根據請求接收模塊1120接收到的搜索請求搜索與所述搜索請求對應的統ー資源定位符。
[0137]搜索判斷模塊1160用于判斷是否存在與請求搜索模塊1140搜索到的統ー資源定位符對應的預設序列號。
[0138]結果反饋模塊1180用于如果搜索判斷模塊1160判斷到存在與請求搜索模塊1140捜索到的統ー資源定位符對應的預設序列號,則將所述搜索到的統ー資源定位符和所述與所述搜索到的統ー資源定位符對應的預設序列號同時進行反饋。
[0139]更為優選地,該序列號提供裝置還可以包括關系存儲模塊1110,如圖12所示。關系存儲模塊1110用于接收并存儲服務器提供的統ー資源定位符與預設序列號的對應關糸。
[0140]綜上所述,本發明實施例七提供的序列號提供裝置可以利用搜索引擎服務器來向客戶端提供預設序列號,以便客戶端來生成包含預設序列號的TCP SYN數據包,使得客戶端向服務器發送的TCP SYN數據包具有了一定程度的可識別性。同時,本發明實施例七提供的序列號提供裝置利用搜索引擎服務器來提供預設序列號,可以將提供預設序列號的過程和服務器處理TCP SYN數據包的過程互相分離,即便服務器此刻正在承受較強的TCP SYN洪水攻擊,也能由搜索引擎服務器為客戶端正常地提供預設序列號,達到了更好的抗攻擊效果。
[0141]需要說明的是:上述實施例提供的序列號提供裝置在提供序列號時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的序列號提供裝置與序列號提供方法實施例屬于同一構思,其具體實現過程詳見方法實施例,這里不再贅述。
[0142]本領域普通技術人員可以理解實現上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于ー種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。
[0143]以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.ー種緩解攻擊方法,其特征在于,所述方法包括: 服務器接收傳輸控制協議同步TCP SYN數據包,所述TCP SYN數據包中包含初始序列號,所述TCP SYN數據包是針對統ー資源定位符的,所述統ー資源定位符包括服務器信息和文件信息; 所述服務器確定所述初始序列號是否為預先分配的預設序列號; 如果所述初始序列號是所述預設序列號,則所述服務器將所述TCP SYN數據包存儲至高優先級隊列; 如果所述初始序列號不是所述預設序列號,則所述服務器將所述TCP SYN數據包存儲至低優先級隊列。
2.根據權利要求1所述的緩解攻擊方法,其特征在于,所述接收傳輸控制協議同步TCPSYN數據包之前,還包括: 所述服務器為客戶端分配所述預設序列號,以便所述客戶端發送攜帯所述預設序列號的TCP SYN數據包。
3.根據權利要求2所述的緩解攻擊方法,其特征在于,所述為客戶端分配所述預設序列號,具體包括: 所述服務器向所述客戶端發送攜帯所述預設序列號的網頁。
4.根據權利要求2所述的緩解攻擊方法,其特征在于,所述為客戶端分配所述預設序列號,具體包括: 向搜索引擎提供所述統ー資源定位符和所述預設序列號之間的對應關系,以便所述搜索引擎確定所述客戶端捜索所述統ー資源定位符或所述統ー資源定位符對應的資源時,將對應的所述預設序列號提供給所述客戶端。
5.ー種序列號提供方法,其特征在于,其包括: 接收用戶的搜索請求; 根據所述搜索請求搜索與所述搜索請求對應的統ー資源定位符; 判斷是否存在與捜索到的統ー資源定位符對應的預設序列號; 如果存在與捜索到的統ー資源定位符對應的預設序列號,則將所述搜索到的統ー資源定位符和所述與所述搜索到的統ー資源定位符對應的預設序列號同時進行反饋。
6.根據權利要求5所述的序列號提供方法,其特征在干,所述接收用戶的搜索請求之前,還包括: 接收并存儲服務器提供的統ー資源定位符與預設序列號的對應關系。
7.ー種緩解攻擊裝置,其特征在于,所述裝置包括: 數據接收模塊,用于接收傳輸控制協議同步TCP SYN數據包,所述TCP SYN數據包中包含初始序列號,所述TCP SYN數據包是針對統ー資源定位符的,所述統ー資源定位符包括服務器信息和文件信息; 初始序列號判斷模塊,用于判斷所述初始序列號是否為預先分配的預設序列號; 數據保存模塊,用于如果所述初始序列號判斷模塊判斷到所述初始序列號是所述預設序列號,則將所述TCP SYN數據包存儲至高優先級隊列; 所述數據保存模塊,還用于如果所述初始序列號判斷模塊判斷到所述初始序列號不是所述預設序列號,則將所述TCP SYN數據包存儲至低優先級隊列。
8.根據權利要求7所述的緩解攻擊裝置,其特征在于,所述緩解攻擊裝置,還包括: 序號提供ホ吳塊; 所述序號提供模塊,用于為客戶端分配所述預設序列號,以便所述客戶端發送攜帯所述預設序列號的TCP SYN數據包。
9.根據權利要求8所述的緩解攻擊裝置,其特征在于,所述序號提供模塊,具體包括: 第一序號提供単元; 所述第一序號提供単元,用于向所述客戶端發送攜帯所述預設序列號的網頁。
10.根據權利要求8所述的緩解攻擊裝置,其特征在于,所述序號提供模塊,具體包括: 第二序號提供単元; 所述第二序號提供単元,用于向搜索引擎提供所述統ー資源定位符和所述預設序列號之間的對應關系,以便所述搜索引擎確定所述客戶端捜索所述統ー資源定位符或所述統ー資源定位符對應的資源時,將對應的所述預設序列號提供給所述客戶端。
11.一種服務器,其特征在于,所述服務器包括如權利要求7至10任一所述的緩解攻擊裝置。
12.—種序列號提供裝置,其特征在于,其包括: 請求接收模塊,用于接收用戶的搜索請求;請求搜索模塊,用于根據所述搜索請求搜索與所述搜索請求對應的統ー資源定位符;捜索判斷模塊,用于判斷是否存在與捜索到的統ー資源定位符對應的預設序列號;結果反饋模塊,用于如果存在與捜索到的統ー資源定位符對應的預設序列號,則將所述搜索到的統ー資源定位符和所述與所述搜索到的統ー資源定位符對應的預設序列號同時進行反饋。
13.根據權利要求12所述的序列號提供裝置,其特征在于,所述序列號提供裝置,還包括:關系存儲模塊; 所述關系存儲模塊,用于接收并存儲服務器提供的統ー資源定位符與預設序列號的對應關系。
14.ー種搜索引擎服務器,其特征在于,所述搜索引擎服務器包括如權利要求12或13所述的序列號提供裝置。
【文檔編號】H04L29/06GK103491061SQ201210195034
【公開日】2014年1月1日 申請日期:2012年6月13日 優先權日:2012年6月13日
【發明者】陳國海, 謝于明 申請人:華為技術有限公司