Syn攻擊防護的方法及裝置的制造方法
【專利摘要】本發(fā)明是關于SYN攻擊防護的方法及裝置,所述方法包括:根據(jù)SYN請求連接報文的報文特征對白名單和黑名單進行檢索;若在白名單中檢索到,則轉發(fā)SYN請求連接報文;若在黑名單中檢索到,則丟棄SYN請求連接報文;若在白名單與黑名單中均未檢索到,且接收到ACK確認連接報文,允許客戶端與服務器之間建立TCP連接,并將SYN請求連接報文的報文特征添加到白名單;若未接收到ACK確認連接報文,則將SYN請求連接報文的報文特征添加到黑名單。本發(fā)明可以有效地避免服務器遭受到SYN攻擊,并有效地降低了安全設備在抵御SYN攻擊時所承擔的壓力,同時提高了安全設備抵御SYN攻擊的效率。
【專利說明】
SYN攻擊防護的方法及裝置
技術領域
[0001]本發(fā)明設及網(wǎng)絡通信技術領域,尤其設及SYN(SynchronC)US,同步)攻擊防護的方 法及裝置。
【背景技術】
[0002] SYN攻擊屬于孤oS(Dist;r;Lbuted Denial of Service,分布式拒絕服務)攻擊的一 種,其利用TCP(化ansmission Con化〇1 Protocol,傳輸控制協(xié)議)協(xié)議缺陷,通過發(fā)送大量 的半連接請求,耗費網(wǎng)絡設備的CPU性能和內(nèi)存資源。例如,攻擊者控制客戶端發(fā)起SYN攻 擊,客戶端在短時間內(nèi)偽造大量不存在的IP地址,向服務器不斷地發(fā)送SYN請求連接報文, 服務器回復確認報文并等待客戶端的確認,由于源IP地址是不存在的,服務器接收不到客 戶端的確認,則服務器需要不斷地重發(fā)確認報文直至超時。該種情況下,服務器的CPU性能 降低;而且運些SY的青求連接報文將長時間占用服務器的未連接隊列,耗費服務器的內(nèi)存資 源,很有可能導致正常的SY的青求連接報文被丟棄,造成網(wǎng)絡異常。
[0003] 現(xiàn)有技術中,為了防護SYN攻擊,可W采取兩種方式。方式一,可W限制單位時間內(nèi) (例如每秒內(nèi))服務器接收到SYN請求連接報文的個數(shù);方式二,可W通過防火墻先與客戶端 之間建立起完整的TCP連接后,再使得防火墻與服務器之間建立起TCP連接,使得客戶端與 服務器之間可W進行通信。然而,當采用方式一時,很有可能會限制正常的SY的青求連接報 文,導致正常的TCP連接無法建立,造成網(wǎng)絡異常;采用方式二時,并沒有從本質上做到防護 SYN攻擊,而是將SYN攻擊從服務器轉移到了防火墻,即客戶端發(fā)起SYN攻擊時,仍會降低防 火墻的CPU性能,并耗費防火墻的內(nèi)存資源。
【發(fā)明內(nèi)容】
[0004] 為克服相關技術中存在的問題,本發(fā)明提供了SYN攻擊防護的方法及裝置,W有效 地避免服務器遭受到SYN攻擊,并有效地降低了安全設備(例如防火墻)在為服務器抵御SYN 攻擊時所承擔的壓力,同時提高了安全設備抵御SYN攻擊的效率。
[0005] 根據(jù)本發(fā)明的第一方面,提供一種SYN攻擊防護的方法,所述方法應用于安全設 備,所述安全設備分別連接客戶端和服務器,用于控制所述客戶端和服務器之間建立傳輸 控制協(xié)議TCP連接;所述方法包括:
[0006] 接收到客戶端發(fā)送的SY的青求連接報文時,根據(jù)所述SY的青求連接報文的報文特征 對保存的白名單和黑名單進行檢索;
[0007] 若在所述白名單中檢索到所述報文特征,允許所述客戶端和服務器之間根據(jù)所述 SYN請求連接報文建立TCP連接;若在所述黑名單中檢索到所述報文特征,拒絕所述客戶端 和服務器之間根據(jù)所述SYN請求連接報文建立TCP連接;
[000引若在所述白名單與所述黑名單中均未檢索到所述報文特征,則根據(jù)所述SYN請求 連接報文向所述客戶端發(fā)送SYN+AO(確認連接報文,若在設定時限內(nèi)接收到所述客戶端發(fā) 送的ACK確認連接報文,則認為不存在SYN攻擊,控制所述客戶端與服務器之間建立TCP連 接,并將所述SY的青求連接報文的報文特征添加到所述白名單;
[0009] 若在設定時限內(nèi)未接收到所述ACK確認連接報文,則認為存在SYN攻擊,將所述SYN 請求連接報文的報文特征添加到所述黑名單。
[0010] 作為改進,所述控制所述客戶端與所述服務器之間根建立TCP連接,包括:
[0011] 根據(jù)所述SYN請求連接報文與所述SYN+ACK確認連接報文記錄TCP連接信息,所述 TCP連接信息包括所述SYN請求連接報文中的源IP地址、目的IP地址、源端口號、目的端口 號、請求序列號及所述SYN+ACK確認連接報文中的回應序列號,并保存所述接收到的ACK確 認連接報文;
[0012] 根據(jù)所述TCP連接信息構造新的SYN請求連接報文,并將所述新的SYN請求連接報 文與所述TCP連接信息中的回應序列號發(fā)送至所述服務器;
[0013]在接收到所述服務器根據(jù)所述新的SYN請求連接報文發(fā)送的SYN+ACK確認報文之 后,將所述保存的ACK確認連接報文發(fā)送至服務器,所述服務器發(fā)送的SYN+ACK確認報文攜 帶所述回應序列號。
[0014] 作為改進,所述控制所述客戶端與服務器之間建立TCP連接,包括:
[0015] 向所述客戶端發(fā)送RS巧良文,所述RS巧良文用于通知所述客戶端重新向所述服務器 發(fā)送SY的青求連接報文;
[0016] 接收到所述客戶端發(fā)送的所述SY的青求連接報文,根據(jù)所述SY的青求連接報文的報 文特征在所述白名單中,將所述SY的青求連接報文轉發(fā)至所述服務器。
[0017] 作為改進,所述方法還包括:
[0018] 在認為存在SYN攻擊時,釋放所述SYN請求連接報文所對應的連接。
[0019] 作為改進,所述方法還包括:
[0020] 控制所述客戶端與服務器之間建立TCP連接之后,若接收到基于所述TCP連接傳輸 的數(shù)據(jù)報文,根據(jù)所述數(shù)據(jù)報文的報文特征對保存的白名單和黑名單進行檢索;
[0021] 若在所述白名單中檢索到所述報文特征,則根據(jù)所述數(shù)據(jù)報文的報文特征轉發(fā)所 述數(shù)據(jù)報文,若在所述黑名單中檢索到所述報文特征,則丟棄所述數(shù)據(jù)報文。
[0022] 根據(jù)本發(fā)明的第二方面,提供一種SYN攻擊防護的裝置,所述裝置應用于安全設 備,所述安全設備分別連接客戶端和服務器,用于控制所述客戶端和服務器之間建立TCP連 接;所述裝置包括:
[0023] 第一檢索模塊,用于在接收到客戶端發(fā)送的SYN請求連接報文時,根據(jù)所述SY的青 求連接報文的報文特征對保存的白名單和黑名單進行檢索;
[0024] 第一處理模塊,用于在所述白名單中檢索到所述報文特征時,允許所述客戶端和 服務器之間根據(jù)所述SY的青求連接報文建立TCP連接;若在所述黑名單中檢索到所述報文特 征,拒絕所述客戶端和服務器之間根據(jù)所述SY的青求連接報文建立TCP連接;
[0025] 第二處理模塊,用于在所述白名單與所述黑名單中均未檢索到所述報文特征,貝U 根據(jù)所述SY的青求連接報文向所述客戶端發(fā)送SYN+AC閒角認連接報文,若在設定時限內(nèi)接收 到所述客戶端發(fā)送的ACK確認連接報文,則認為不存在SYN攻擊,控制所述客戶端與服務器 之間建立TCP連接,并將所述SY的青求連接報文的報文特征添加到所述白名單;
[0026] 若在設定時限內(nèi)未接收到所述ACK確認連接報文,則認為存在SYN攻擊,將所述SYN 請求連接報文的報文特征添加到所述黑名單。
[0027]作為改進,所述第二處理模塊包括:
[002引記錄子模塊,用于根據(jù)所述SYN請求連接報文與所述SYN+ACK確認連接報文記錄 TCP連接信息,所述TCP連接信息包括所述SYN請求連接報文中的源IP地址、目的IP地址、源 端口號、目的端口號、請求序列號及所述SYN+ACK確認連接報文中的回應序列號,并保存所 述接收到的ACK確認連接報文;
[0029] 構造子模塊,用于根據(jù)所述TCP連接信息構造新的SY的青求連接報文,并將所述新 的SY的青求連接報文與所述TCP連接信息中的回應序列號發(fā)送至所述服務器;
[0030] 第一發(fā)送子模塊,用于在接收到所述服務器根據(jù)所述新的SYN請求連接報文發(fā)送 的SYN+ACK確認報文之后,將所述保存的ACK確認連接報文發(fā)送至服務器,所述服務器發(fā)送 的SYN+ACK確認報文攜帶所述回應序列號。
[0031] 作為改進,所述第二處理模塊,包括:
[0032] 第二發(fā)送子模塊,用于向所述客戶端發(fā)送RS巧良文,所述RS巧良文用于通知所述客 戶端重新向所述服務器發(fā)送SY的青求連接報文;
[0033] 處理子模塊,用于接收到所述客戶端發(fā)送的所述SYN請求連接報文,根據(jù)所述SYN 請求連接報文的報文特征在所述白名單中,將所述SY的青求連接報文轉發(fā)至所述服務器。
[0034] 作為改進,所述裝置還包括:
[0035] 釋放連接模塊,用于在認為存在SYN攻擊時,釋放所述SYN請求連接報文所對應的 連接。
[0036] 作為改進,所述裝置還包括:
[0037] 第二檢索模塊,用于在控制所述客戶端與服務器之間建立TCP連接之后,若接收到 基于所述TCP連接傳輸?shù)臄?shù)據(jù)報文,根據(jù)所述數(shù)據(jù)報文的報文特征對保存的白名單和黑名 單進行檢索;
[0038] 第S處理模塊,用于若在所述白名單中檢索到所述報文特征,則根據(jù)所述數(shù)據(jù)報 文的報文特征轉發(fā)所述數(shù)據(jù)報文,若在所述黑名單中檢索到所述報文特征,則丟棄所述數(shù) 據(jù)報文。
[0039] 本發(fā)明實施例中,通過在接收到SYN請求連接報文時,首先根據(jù)保存的白名單和黑 名單,可W快速地識別出不存在SYN攻擊和存在SYN攻擊的SYN請求連接報文,從而有效地避 免了服務器遭受到SYN攻擊,并降低了安全設備為服務器抵御SYN攻擊時所承擔的壓力,且 提高了安全設備抵御SYN攻擊的效率;在根據(jù)保存的白名單和黑名單,并未確定SY的青求連 接報文是否存在SYN攻擊時,安全設備可W代替服務器嘗試與客戶端建立TCP連接,W檢測 是否存在SYN攻擊,并根據(jù)檢測結果允許或拒絕客戶端與服務器之間建立TCP連接,W及更 新所述白名單和黑名單,從而有效地避免了服務器遭受到SYN攻擊。
【附圖說明】
[0040] 此處的附圖被并入說明書中并構成本說明書的一部分,示出了符合本發(fā)明的實施 例,并與說明書一起用于解釋本發(fā)明的原理。
[0041] 圖1示例了本發(fā)明實施例實現(xiàn)SYN攻擊防護的方法的應用場景示意圖。
[0042] 圖2示例了本發(fā)明SYN攻擊防護的方法的一個實施例流程圖。
[0043] 圖3A示例了本發(fā)明SYN攻擊防護的方法的另一個實施例流程圖。
[0044] 圖3B為安全設備12所接收到的SY的青求連接報文的示意圖。
[0045] 圖3C為安全設備12所發(fā)送的SYN+ACK確認連接報文的示意圖。
[0046] 圖4示例了本發(fā)明SYN攻擊防護的方法的又一個實施例流程圖。
[0047] 圖5是本發(fā)明實施例中SYN攻擊防護的裝置所在的安全設備的硬件結構框圖。
[0048] 圖6示例了本發(fā)明SYN攻擊防護的裝置的一個實施例框圖。
[0049] 圖7示例了本發(fā)明SYN攻擊防護的裝置的另一個實施例框圖。
[0050] 圖8示例了本發(fā)明SYN攻擊防護的裝置的又一個實施例框圖。
[0051] 圖9示例了本發(fā)明SYN攻擊防護的裝置的又一個實施例框圖。
【具體實施方式】
[0052] 運里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述設及 附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。W下示例性實施例 中所描述的實施方式并不代表與本發(fā)明相一致的所有實施方式。相反,它們僅是與如所附 權利要求書中所詳述的、本發(fā)明的一些方面相一致的裝置和方法的例子。
[0053] 由于現(xiàn)有技術中,在防護SYN攻擊時,很有可能會限制正常的SY的青求連接報文,導 致正常的TCP連接無法建立,造成網(wǎng)絡異常;或者無法從本質上實現(xiàn)防護SYN攻擊。為了有效 地實現(xiàn)防護SYN攻擊,并有效地避免上述問題發(fā)生,本發(fā)明提出一種SYN攻擊防護的方法。如 下的圖1,示例了本發(fā)明實施例實現(xiàn)SYN攻擊防護的方法的應用場景示意圖。
[0054] 圖1中包括:客戶端11、安全設備12、服務器13。其中,客戶端11有可能為攻擊者所 控制的攻擊客戶端,若其為攻擊客戶端,那么其可W通過技術手段,在短時間內(nèi)偽造大量不 存在的IP地址,向服務器13不斷發(fā)送SYN請求連接報文,從而可W使得服務器13遭受到SYN 攻擊;安全設備12可W為防火墻等設備。在圖1中,客戶端11在向服務器13發(fā)送SY的青求連接 報文時,該SYN請求連接報文可W首先傳輸至安全設備12,則安全設備12可W執(zhí)行本發(fā)明 SYN攻擊防護的方法,確??蛻舳?1所請求建立的TCP連接不存在SYN攻擊時,才控制客戶端 11與服務器13之間建立起TCP連接,從而有效地避免了服務器13遭受到SYN攻擊,并可W有 效地降低安全設備12在為服務器13抵御SYN攻擊時所承擔的壓力,同時還可W提高安全設 備12抵御SYN攻擊的效率??蒞理解的是,圖1所示的應用場景中,僅W存在一個客戶端11, 一個服務器13為例,實際應用中,還可W存在多個客戶端W及多個服務器,本發(fā)明對此不作 限制。
[0055] 如下的圖2,示例了本發(fā)明SYN攻擊防護的方法的一個實施例流程圖,該圖2所示的 流程基于上述圖1所示的應用場景,W安全設備12執(zhí)行該方法為例,說明了本發(fā)明是如何實 現(xiàn)SYN攻擊防護的,可W包括W下步驟:
[0056] 步驟S201:接收到客戶端發(fā)送的SYN請求連接報文時,根據(jù)所述SYN請求連接報文 的報文特征對保存的白名單和黑名單進行檢索;若在所述白名單或黑名單中檢索到所述報 文特征,則執(zhí)行步驟S202;若在所述白名單或黑名單中均未檢索到所述報文特征,則執(zhí)行步 驟S203。
[0057] 在本發(fā)明中,安全設備12上可W保存有白名單和黑名單,該白名單和黑名單中可 W包括報文特征,例如,報文的五元組信息(源IP地址、目的IP地址、源端口號、目的端口號、 協(xié)議類型)。安全設備12可W根據(jù)該白名單和黑名單判別出所接收到的報文是否安全,具體 地,若所接收到的報文的報文特征存在于白名單中,可W認為該報文安全,若所接收到的報 文的報文特征存在于黑名單中,可W認為該報文并不安全。且該白名單和黑名單是可W維 護更新的,具體是如何更新該白名單和黑名單的,可W參見下述描述,在此先不作詳述。
[005引根據(jù)圖1所示的應用場景,客戶端11請求與服務器13建立TCP連接時,客戶端11向 服務器13發(fā)送SY的青求連接報文,該SYN請求連接報文首先傳輸至安全設備12。安全設備12 接收到該SY的青求連接報文時,可W根據(jù)該SY的青求連接報文的報文特征,檢索上述白名單 和黑名單,若在該白名單或黑名單中檢索到該報文特征,則執(zhí)行步驟S202,否則,執(zhí)行步驟 S2030
[0059] 步驟S202:若在所述白名單中檢索到所述報文特征,允許所述客戶端和服務器之 間根據(jù)所述SY的青求連接報文建立TCP連接;若在所述黑名單中檢索到所述報文特征,拒絕 所述客戶端和服務器之間根據(jù)所述SY的青求連接報文建立TCP連接;結束流程。
[0060] 由步驟S201中所述的白名單和黑名單,本步驟中,若在白名單中檢索到所述SYN請 求連接報文中的報文特征,可W認為其不存在SYN攻擊,那么,安全設備12允許所述客戶端 和服務器之間根據(jù)所述SYN請求連接報文建立TCP連接,即可W將該SYN請求連接報文直接 轉發(fā)至服務器13,從而可W使得客戶端11與服務器13建立TCP連接。
[0061] 若在黑名單中檢索到所述SYN請求連接報文中的報文特征,可W認為其存在SYN攻 擊,那么,安全設備12拒絕所述客戶端和服務器之間根據(jù)所述SY的青求連接報文建立TCP連 接,即可W直接丟棄該SYN請求連接報文。由此可見,安全設備12在確定接收到的SYN請求連 接報文存在SYN攻擊時,直接將其丟棄,從而避免了服務器13接收到該SYN請求連接報文,導 致服務器13遭受到SYN攻擊;同時,由于安全設備12直接將其做丟棄處理,并不耗費自身的 性能與內(nèi)存資源,從而降低了安全設備12抵御SYN攻擊時所承擔的壓力,并提高了安全設備 12抵御SYN攻擊的效率。
[0062] 步驟S203:根據(jù)所述SYN請求連接報文向所述客戶端發(fā)送SYN+ACK確認連接報文, 確定在設定時限內(nèi)是否接收到所述客戶端發(fā)送的ACK確認連接報文,若是,則執(zhí)行步驟 S204;否則,執(zhí)行步驟S205。
[0063] 本步驟中,安全設備12可W代替服務器13向客戶端11發(fā)送SYN+ACK確認連接報文, 后續(xù),若安全設備12在預設的時限內(nèi),例如2秒內(nèi),接收到客戶端11根據(jù)該SYN+AO(報文所發(fā) 送的ACK確認連接報文,可W認為所述SY的青求連接報文不存在SYN攻擊,可W繼續(xù)執(zhí)行步驟 S204;若安全設備12在預設的時限內(nèi)未接收到客戶端11根據(jù)該SYN+AO(報文所發(fā)送的AO(確 認連接報文,可W認為所述SYN請求連接報文存在SYN攻擊,可W繼續(xù)執(zhí)行步驟S205。
[0064] 步驟S204:認為不存在SYN攻擊,控制所述客戶端與服務器之間建立TCP連接,并將 所述SY的青求連接報文的報文特征添加到所述白名單;結束流程。
[0065] 由于安全設備12可W認為接收到的SYN請求連接報文不存在SYN攻擊,即客戶端11 所請求建立的TCP連接為正常的TCP連接,則安全設備12可W控制客戶端11與服務器13之間 建立TCP連接,具體是如何建立的,可W參見下述實施例中的相關描述,在此先不作詳述。
[0066] 并且,由于已確定該SYN請求連接報文并不存在SYN攻擊,則可W將其報文特征添 加到上述白名單中,W維護該白名單,使得安全設備12后續(xù)可W根據(jù)該白名單,快速識別出 不存在安全隱患的報文,提高了安全設備12抵御SYN攻擊的效率。
[0067] 步驟S205:認為存在SYN攻擊,將所述SYN請求連接報文的報文特征添加到所述黑 名單。
[0068] 由于安全設備12可W認為接收到的SYN請求連接報文存在SYN攻擊,則可W將其報 文特征添加到上述黑名單中,W維護該黑名單,使得安全設備12后續(xù)可W根據(jù)該黑名單,快 速識別出存在安全隱患的報文,提高了安全設備12抵御SYN攻擊的效率。另外,相較于現(xiàn)有 技術,本發(fā)明中,當安全設備12在預設的時限內(nèi)未接收到ACX報文時,即認為存在SYN攻擊, 并不再重復且多次地向客戶端11發(fā)送SYN+ACK確認連接報文,從而節(jié)省了安全設備12的性 能,降低了安全設備12抵御SYN攻擊時所承擔的壓力。
[0069] 此外,由于安全設備12已認為接收到的SYN請求連接報文存在SYN攻擊,即客戶端 11所請求建立的TCP連接為不正常的TCP連接,則安全設備12可W釋放所述SYN請求連接報 文所對應的連接,例如,安全設備12可W將該SY的青求連接報文所對應的連接從未連接隊列 中刪除,W節(jié)省內(nèi)存資源,避免未連接隊列過滿,導致正常的SY的青求連接報文被丟棄,正常 的TCP連接無法建立,造成網(wǎng)絡異常。
[0070] 此外,當客戶端11與服務器13之間建立起完整的TCP連接之后,客戶端11與服務器 13之間可W進行通信。W客戶端11向服務器13發(fā)送數(shù)據(jù)報文為例,由于該數(shù)據(jù)報文基于客 戶端11與服務器13之間所建立的TCP連接進行傳輸,該數(shù)據(jù)報文的報文特征與客戶端11最 初所發(fā)送的SY的青求連接報文的報文特征一致;且由上所述,上述步驟S204中,安全設備12 已將確定不存在SYN攻擊的SYN請求連接報文的報文特征保存在白名單中,那么,安全設備 12在接收到客戶端11發(fā)送的數(shù)據(jù)報文時,可W根據(jù)該數(shù)據(jù)報文的報文特征檢索保存的白名 單,若在白名單中檢索到該報文特征,則安全設備12可W直接將該數(shù)據(jù)報文轉發(fā)至服務器 13,同理,若在黑名單中檢索到該報文特征,則安全設備12可W直接將該數(shù)據(jù)報文丟棄。相 較于現(xiàn)有技術中,安全設備12對接收到的數(shù)據(jù)報文進行序列號校驗等流程,本發(fā)明中有效 地提高了安全設備12轉發(fā)數(shù)據(jù)報文的效率。
[0071] 此外,在本發(fā)明中,還可W對白名單和黑名單分別設置一個老化時間,兩者的老化 時間可W相同,也可W不同,本發(fā)明對此不作限制。當白名單(或黑名單)保存的某一報文特 征的生存時間達到其對應的老化時間后,安全設備12可W自動將白名單(或黑名單)中的運 一報文特征設置為已失效狀態(tài),或者將白名單(或黑名單)中的運一報文特征清除。從而可 W通過白名單和黑名單靈活地控制對接收到的報文的轉發(fā)處理。
[0072] 本發(fā)明實施例中,通過在接收到SY的青求連接報文時,首先根據(jù)保存的白名單和黑 名單,可W快速地識別出不存在SYN攻擊和存在SYN攻擊的SYN請求連接報文,從而有效地避 免了服務器遭受到SYN攻擊,并降低了安全設備為服務器抵御SYN攻擊時所承擔的壓力,且 提高了安全設備抵御SYN攻擊的效率;在根據(jù)保存的白名單和黑名單,并未確定SY的青求連 接報文是否存在SYN攻擊時,安全設備可W代替服務器嘗試與客戶端建立TCP連接,W檢測 是否存在SYN攻擊,并根據(jù)檢測結果允許或拒絕客戶端與服務器之間建立TCP連接,W及更 新所述白名單和黑名單,從而有效地避免了服務器遭受到SYN攻擊。
[0073] 如下的圖3A,示例了本發(fā)明SYN攻擊防護的方法的另一個實施例流程圖,該圖3A所 示的流程基于上述圖1所示的應用場景W及上述圖2所示的流程,仍W安全設備12執(zhí)行該方 法為例,詳細說明了本發(fā)明在認為不存在SYN攻擊時,如何使得客戶端與服務器建立TCP連 接,可W包括W下步驟:
[0074] 步驟S301:接收到客戶端發(fā)送的SY的青求連接報文時,根據(jù)所述SYN請求連接報文 的報文特征對保存的白名單和黑名單進行檢索,并根據(jù)所述SY的青求連接報文記錄TCP連接 信息,所述TCP連接信息包括所述SY的青求連接報文中的源IP地址、目的IP地址、源端口號、 目的端口號、請求序列號。
[0075] 本步驟中,根據(jù)接收到的SYN請求連接報文的報文特征對保存的白名單和黑名單 進行檢索的詳細描述可W參見上述實施例中步驟S201中的相關描述,在此不再作詳細寶 述。
[0076] 如下的圖3B,為安全設備12所接收到的SY的青求連接報文的示意圖。
[0077] 本發(fā)明中,安全設備12可W根據(jù)該SY的青求連接報文建立TCP連接信息,如下的表 1,示例了安全設備12所建立的TCP連接信息:
[007引 表1
[0079]
[0080] 由上述表1和圖3B所示,TCP連接信息中所包括的內(nèi)容都是可W從SYN請求連接報 文中提取的,具體是如何提取的,可W參見現(xiàn)有技術中的相關描述,本發(fā)明對此不作詳細寶 述。
[0081] 步驟S302:若在所述白名單與所述黑名單中均未檢索到所述報文特征,根據(jù)所述 SYN請求連接報文向所述客戶端發(fā)送SYN+ACK確認連接報文,并將所述SYN+ACK確認連接報 文中的回應序列號記錄在所述TCP連接信息中。
[0082] 如下的圖3C,為安全設備12所發(fā)送的SYN+ACK確認連接報文的示意圖。
[0083] 本發(fā)明中,安全設備12可W將其向客戶端11發(fā)送的SYN+ACK確認連接報文中的回 應序列號記錄在上述表1所示的TCP連接信息中,如下的表1,示例了包含回應序列號的TCP 連接信息:
[0084] 表 2
[0085]
[0086] 步驟S303:若在設定時限內(nèi)接收到所述客戶端發(fā)送的ACK確認連接報文,則認為不 存在SYN攻擊,并保存所述ACK確認連接報文。
[0087] 步驟S304:根據(jù)所述TCP連接信息構造新的SY的青求連接報文,并將所述新的SY的青 求連接報文與所述TCP連接信息中的回應序列號發(fā)送至所述服務器。
[0088] 為了使得客戶端11與服務器13建立TCP連接,本步驟中,安全設備12可W根據(jù)上述 表2所示的TCP連接信息,構造新的SY的青求連接報文,該新的SY的青求連接報文中攜帶表2所 示的TCP連接信息中的源IP地址、目的IP地址、源端口號、目的端口號W及請求序列號,將該 新的SY的青求連接報文發(fā)送至服務器13。并且,安全設備12可W將表2所示的TCP連接信息中 的回應序列號也發(fā)送至服務器13, W使得服務器13所回復的SYN+ACK連接確認報文中所攜 帶的回應序列號與所記錄的回應序列號保持一致。
[0089] 步驟S305:在接收到所述服務器根據(jù)所述新的SY的青求連接報文發(fā)送的SYN+ACK確 認報文之后,將所述保存的ACK確認連接報文發(fā)送至服務器,所述服務器發(fā)送的SYN+ACK確 認報文攜帶所述回應序列號。
[0090] 當接收到服務器13發(fā)送的SYN+ACK確認報文后,將在步驟S303中所保存的ACK確認 連接報文發(fā)送至服務器13,至此,客戶端11與服務器13之間已完成了 3次握手,從而建立了 TCP連接。
[0091] 此外,當客戶端11與服務器13之間建立起完整的TCP連接之后,安全設備12可W將 上述表2所示例的TCP連接信息刪除,W節(jié)省安全設備12的內(nèi)存資源。
[0092] 本發(fā)明實施例中,通過在白名單和黑名單中均未檢索到所接收到的SYN請求連接 報文的報文特征,W及接收到客戶端發(fā)送的ACK確認連接報文認為不存在SYN攻擊時,根據(jù) 記錄的TCP連接信息重新構造新的SY的青求連接報文并發(fā)送給服務器,在接收到服務器返回 的SYN+ACK確認連接報文后,再將保存的ACK確認連接報文發(fā)送至服務器,W使得客戶端與 服務器完成3次握手,建立完整的TCP連接,有效地避免了服務器遭受至化YN攻擊。
[0093] 如下的圖4,示例了本發(fā)明SYN攻擊防護的方法的又一個實施例流程圖,該圖4所示 的流程基于上述圖1所示的應用場景W及上述圖2所示的流程,仍W安全設備12執(zhí)行該方法 為例,詳細說明了本發(fā)明在認為不存在SYN攻擊時,如何使得客戶端與服務器建立TCP連接, 且該圖4所示的流程不同于上述圖3A所示的流程,可W包括W下步驟:
[0094] 步驟S401:接收到客戶端發(fā)送的SY的青求連接報文時,根據(jù)所述SYN請求連接報文 的報文特征對保存的白名單和黑名單進行檢索。
[0095] 本步驟的詳細描述可W參見上述實施例中步驟S201中的相關描述,在此不再作詳 細寶述。
[0096] 步驟S402:若在所述白名單與所述黑名單中均未檢索到所述報文特征,則根據(jù)所 述SYN請求連接報文向所述客戶端發(fā)送SYN+ACK確認連接報文,若在設定的時限內(nèi)接收到所 述客戶端發(fā)送的ACK確認連接報文,則認為不存在SYN攻擊,并將所述SYN請求連接報文的報 文特征添加到白名單。
[0097] 本步驟的詳細描述可W參見上述實施例中步驟S203至步驟S204中的相關描述,在 此不再作詳細寶述。
[0098] 步驟S403:向所述客戶端發(fā)送RS巧良文,所述RS巧良文用于通知所述客戶端重新向 所述服務器發(fā)送SY的青求連接報文。
[0099] 本發(fā)明中,當認為不存在SYN攻擊時,安全設備12可W向客戶端11發(fā)送RS巧良文,W 使得客戶端11在接收到該RS巧良文后,重新向服務器13發(fā)送SY的青求連接報文。
[0100] 步驟S404:接收到所述客戶端發(fā)送的所述SYN請求連接報文,根據(jù)所述SY的青求連 接報文的報文特征在所述白名單中,將所述SY的青求連接報文轉發(fā)至所述服務器。
[0101] 該重新發(fā)送的SYN請求連接報文與步驟S401中的SYN請求連接報文具有相同的報 文特征,那么,當安全設備12接收到該重新發(fā)送的SY的青求連接報文時,按照步驟S401中所 述,可W在白名單中檢索到該重新發(fā)送的SY的青求連接報文的報文特征,那么,安全設備12 可W直接將其轉發(fā)至服務器13, W使得客戶端11與服務器13之間建立TCP連接。從而,降低 了安全設備12抵御SYN攻擊時所承受的壓力,同時提高了安全設備12抵御SYN攻擊的效率。
[0102] 本發(fā)明實施例中,通過在白名單和黑名單中均未檢索到所接收到的SYN請求連接 報文的報文特征,W及接收到客戶端發(fā)送的ACK確認連接報文認為不存在SYN攻擊時,將所 述報文特征添加到白名單中;并向客戶端發(fā)送RS巧良文,W通知客戶端重新發(fā)送新的SY的青 求連接報文,后續(xù),接收到該新的SY的青求連接報文時,可W根據(jù)該新的SY的青求連接報文的 報文特征在所述白名單中,直接將該新的SY的青求連接報文轉發(fā)至服務器,提高了安全設備 抵御SYN攻擊的效率,同時也降低了安全設備抵御SYN攻擊時所承擔的壓力,有效地避免了 服務器遭受到SYN攻擊。
[0103] 基于與上述方法同一的發(fā)明構思,本發(fā)明實施例還提供了SYN攻擊防護的裝置的 實施例,該裝置可W用于安全設備上。其中,該裝置可W通過軟件實現(xiàn),也可W通過硬件或 者軟硬件結合的方式實現(xiàn)。W軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在安 全設備的處理器,將非易失性存儲器中對應的計算機程序指令讀取到內(nèi)存中運行形成的。 從硬件層面而言,如圖5所示,是本發(fā)明實施例中SYN攻擊防護的裝置所在的安全設備的硬 件結構框圖,除了圖5所示的處理器51、內(nèi)存52、網(wǎng)絡接口53W及非易失性存儲器54外,還可 W包括其他硬件,如攝像裝置、負責處理報文的轉發(fā)忍片等。
[0104] 如下的圖6,示例了本發(fā)明SYN攻擊防護的裝置的一個實施例框圖,該裝置可W包 括:第一檢索模塊61、第一處理模塊62、第二處理模塊63。
[0105] 其中,該第一檢索模塊61,可W用于在接收到客戶端發(fā)送的SY的青求連接報文時, 根據(jù)所述SY的青求連接報文的報文特征對保存的白名單和黑名單進行檢索;
[0106] 該第一處理模塊62,可W用于在所述白名單中檢索到所述報文特征時,允許所述 客戶端與服務器之間根據(jù)所述SY的青求連接報文建立TCP連接;若在所述黑名單中檢索到所 述報文特征,拒絕所述客戶端和服務器之間根據(jù)所述SY的青求連接報文建立TCP連接;
[0107] 該第二處理模塊63,可W用于在所述白名單與所述黑名單中均未檢索到所述報文 特征,則根據(jù)所述SYN請求連接報文向所述客戶端發(fā)送SYN+AO(確認連接報文,若在設定時 限內(nèi)接收到所述客戶端發(fā)送的ACK確認連接報文,則認為不存在SYN攻擊,控制所述客戶端 與服務器之間建立TCP連接,并將所述SY的青求連接報文的報文特征添加到所述白名單;
[0108] 若在設定時限內(nèi)未接收到所述ACK確認連接報文,則認為存在SYN攻擊,將所述SYN 請求連接報文的報文特征添加到所述黑名單。
[0109] 如下的圖7,示例了本發(fā)明SYN攻擊防護的裝置的另一個實施例框圖,該圖7所示的 裝置在上述圖6所示裝置的基礎上,該圖7所示的裝置還可W包括:釋放連接模塊64。
[0110] 該釋放連接模塊64,可W用于在認為存在SYN攻擊時,釋放所述SYN請求連接報文 所對應的連接。
[0111] 在一個實施例中,所述裝置還可W包括:第二檢索模塊65、第=處理模塊66。
[0112] 該第二檢索模塊65,可W用于在控制所述客戶端與服務器之間建立TCP連接之后, 若接收到基于所述TCP連接傳輸?shù)臄?shù)據(jù)報文,根據(jù)所述數(shù)據(jù)報文的報文特征對保存的白名 單和黑名單進行檢索;
[0113] 該第S處理模塊66,可W用于若在所述白名單中檢索到所述報文特征,則根據(jù)所 述數(shù)據(jù)報文的報文特征轉發(fā)所述數(shù)據(jù)報文,若在所述黑名單中檢索到所述報文特征,則丟 棄所述數(shù)據(jù)報文。
[0114] 如下的圖8,示例了本發(fā)明SYN攻擊防護的裝置的另一個實施例框圖,該圖8所示的 裝置在上述圖7所示裝置的基礎上,所述第二處理模塊63可W包括:記錄模塊631、構造子模 塊632、第一發(fā)送子模塊633。
[0115] 該記錄子模塊631,可W用于根據(jù)所述SY的青求連接報文與所述SYN+ACK確認連接 報文記錄TCP連接信息,所述TCP連接信息包括所述SY的青求連接報文中的源IP地址、目的IP 地址、源端口號、目的端口號、請求序列號,W及所述SYN+ACK確認連接報文中的回應序列 號,并保存所述接收到的ACK確認連接報文;
[0116] 其中,該構造子模塊632,可W用于根據(jù)所述TCP連接信息構造新的SY的青求連接報 文,并將所述新的SYN請求連接報文與所述TCP連接信息中的回應序列號發(fā)送至所述服務 器;
[0117] 該第一發(fā)送子模塊633,可W用于在接收到所述服務器根據(jù)所述新的SY的青求連接 報文發(fā)送的SYN+ACK確認報文之后,將所述保存的ACK確認連接報文發(fā)送至服務器,所述服 務器發(fā)送的SYN+ACK確認報文攜帶所述回應序列號。
[0118] 如下的圖9,示例了本發(fā)明SYN攻擊防護的裝置的又一個實施例框圖,該圖8所示的 裝置在上述圖7所示裝置的基礎上,該第二處理模塊63可W包括:第二發(fā)送子模塊634、處理 子模塊635。
[0119] 其中,該第二發(fā)送子模塊634,可W用于向所述客戶端發(fā)送RS巧良文,所述RS巧良文 用于通知所述客戶端重新向所述服務器發(fā)送SY的青求連接報文;
[0120] 該處理子模塊635,可W用于接收到所述客戶端發(fā)送的所述SY的青求連接報文,根 據(jù)所述SY的青求連接報文的報文特征在所述白名單中,將所述SY的青求連接報文轉發(fā)至所述 服務器。
[0121] 本領域技術人員在考慮說明書及實踐運里公開的發(fā)明后,將容易想到本發(fā)明的其 它實施方案。本發(fā)明旨在涵蓋本發(fā)明的任何變型、用途或者適應性變化,運些變型、用途或 者適應性變化遵循本發(fā)明的一般性原理并包括本發(fā)明未公開的本技術領域中的公知常識 或慣用技術手段。說明書和實施例僅被視為示例性的,本發(fā)明的真正范圍和精神由下面的 權利要求指出。
[0122] 應當理解的是,本發(fā)明并不局限于上面已經(jīng)描述并在附圖中示出的精確結構,并 且可W在不脫離其范圍進行各種修改和改變。本發(fā)明的范圍僅由所附的權利要求來限制。
[0123] W上所述僅為本發(fā)明的較佳實施例而已,并不用W限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
【主權項】
1. 一種同步SYN攻擊防護的方法,其特征在于,所述方法應用于安全設備,所述安全設 備分別連接客戶端和服務器,用于控制所述客戶端和服務器之間建立傳輸控制協(xié)議TCP連 接;所述方法包括: 接收到客戶端發(fā)送的SYN請求連接報文時,根據(jù)所述SYN請求連接報文的報文特征對保 存的白名單和黑名單進行檢索; 若在所述白名單中檢索到所述報文特征,允許所述客戶端和服務器之間根據(jù)所述SYN 請求連接報文建立TCP連接;若在所述黑名單中檢索到所述報文特征,拒絕所述客戶端和服 務器之間根據(jù)所述SYN請求連接報文建立TCP連接; 若在所述白名單與所述黑名單中均未檢索到所述報文特征,則根據(jù)所述SYN請求連接 報文向所述客戶端發(fā)送SYN+ACK確認連接報文,若在設定時限內(nèi)接收到所述客戶端發(fā)送的 ACK確認連接報文,則認為不存在SYN攻擊,控制所述客戶端與服務器之間建立TCP連接,并 將所述SYN請求連接報文的報文特征添加到所述白名單; 若在設定時限內(nèi)未接收到所述ACK確認連接報文,則認為存在SYN攻擊,將所述SYN請求 連接報文的報文特征添加到所述黑名單。2. 根據(jù)權利要求1所述的方法,其特征在于,所述控制所述客戶端與服務器之間建立 TCP連接,包括: 根據(jù)所述SYN請求連接報文與所述SYN+ACK確認連接報文記錄TCP連接信息,所述TCP連 接信息包括所述SYN請求連接報文中的源IP地址、目的IP地址、源端口號、目的端口號、請求 序列號及所述SYN+ACK確認連接報文中的回應序列號,并保存所述接收到的ACK確認連接報 文;根據(jù)所述TCP連接信息構造新的SYN請求連接報文,并將所述新的SYN請求連接報文與所 述TCP連接信息中的回應序列號發(fā)送至所述服務器; 在接收到所述服務器根據(jù)所述新的SYN請求連接報文發(fā)送的SYN+ACK確認報文之后,將 所述保存的ACK確認連接報文發(fā)送至服務器,所述服務器發(fā)送的SYN+ACK確認報文攜帶所述 回應序列號。3. 根據(jù)權利要求1所述的方法,其特征在于,所述控制所述客戶端與服務器之間建立 TCP連接,包括: 向所述客戶端發(fā)送RST報文,所述RST報文用于通知所述客戶端重新向所述服務器發(fā)送 SYN請求連接報文; 接收到所述客戶端發(fā)送的所述SYN請求連接報文,根據(jù)所述SYN請求連接報文的報文特 征在所述白名單中,將所述SYN請求連接報文轉發(fā)至所述服務器。4. 根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 在認為存在SYN攻擊時,釋放所述SYN請求連接報文所對應的連接。5. 根據(jù)權利要求1所述的方法,其特征在于,所述方法還包括: 控制所述客戶端與服務器之間建立TCP連接之后,若接收到基于所述TCP連接傳輸?shù)臄?shù) 據(jù)報文,根據(jù)所述數(shù)據(jù)報文的報文特征對保存的白名單和黑名單進行檢索; 若在所述白名單中檢索到所述報文特征,則根據(jù)所述數(shù)據(jù)報文的報文特征轉發(fā)所述數(shù) 據(jù)報文,若在所述黑名單中檢索到所述報文特征,則丟棄所述數(shù)據(jù)報文。6. -種SYN攻擊防護的裝置,其特征在于,所述裝置應用于安全設備,所述安全設備分 別連接客戶端和服務器,用于控制所述客戶端和服務器之間建立TCP連接;所述裝置包括: 第一檢索模塊,用于在接收到客戶端發(fā)送的SYN請求連接報文時,根據(jù)所述SYN請求連 接報文的報文特征對保存的白名單和黑名單進行檢索; 第一處理模塊,用于在所述白名單中檢索到所述報文特征時,允許所述客戶端和服務 器之間根據(jù)所述SYN請求連接報文建立TCP連接;若在所述黑名單中檢索到所述報文特征, 拒絕所述客戶端和服務器之間根據(jù)所述SYN請求連接報文建立TCP連接; 第二處理模塊,用于在所述白名單與所述黑名單中均未檢索到所述報文特征,則根據(jù) 所述SYN請求連接報文向所述客戶端發(fā)送SYN+ACK確認連接報文,若在設定時限內(nèi)接收到所 述客戶端發(fā)送的ACK確認連接報文,則認為不存在SYN攻擊,控制所述客戶端與服務器之間 建立TCP連接,并將所述SYN請求連接報文的報文特征添加到所述白名單; 若在設定時限內(nèi)未接收到所述ACK確認連接報文,則認為存在SYN攻擊,將所述SYN請求 連接報文的報文特征添加到所述黑名單。7. 根據(jù)權利要求6所述的裝置,其特征在于,所述第二處理模塊包括: 記錄子模塊,用于根據(jù)所述SYN請求連接報文與所述SYN+ACK確認連接報文記錄TCP連 接信息,所述TCP連接信息包括所述SYN請求連接報文中的源IP地址、目的IP地址、源端口 號、目的端口號、請求序列號及所述SYN+ACK確認連接報文中的回應序列號,并保存所述接 收到的ACK確認連接報文; 構造子模塊,用于根據(jù)所述TCP連接信息構造新的SYN請求連接報文,并將所述新的SYN 請求連接報文與所述TCP連接信息中的回應序列號發(fā)送至所述服務器; 第一發(fā)送子模塊,用于在接收到所述服務器根據(jù)所述新的SYN請求連接報文發(fā)送的SYN +ACK確認報文之后將所述保存的ACK確認連接報文發(fā)送至服務器,所述服務器發(fā)送的SYN+ ACK確認報文攜帶所述回應序列號。8. 根據(jù)權利要求6所述的裝置,其特征在于,所述第二處理模塊,包括: 第二發(fā)送子模塊,用于向所述客戶端發(fā)送RST報文,所述RST報文用于通知所述客戶端 重新向所述服務器發(fā)送SYN請求連接報文; 處理子模塊,用于接收到所述客戶端發(fā)送的所述SYN請求連接報文,根據(jù)所述SYN請求 連接報文的報文特征在所述白名單中,將所述SYN請求連接報文轉發(fā)至所述服務器。9. 根據(jù)權利要求6所述的裝置,其特征在于,所述裝置還包括: 釋放連接模塊,用于在認為存在SYN攻擊時,釋放所述SYN請求連接報文所對應的連接。10. 根據(jù)權利要求6所述的裝置,其特征在于,所述裝置還包括: 第二檢索模塊,用于在控制所述客戶端與服務器之間建立TCP連接之后,若接收到基于 所述TCP連接傳輸?shù)臄?shù)據(jù)報文,根據(jù)所述數(shù)據(jù)報文的報文特征對保存的白名單和黑名單進 行檢索; 第三處理模塊,用于若在所述白名單中檢索到所述報文特征,則根據(jù)所述數(shù)據(jù)報文的 報文特征轉發(fā)所述數(shù)據(jù)報文,若在所述黑名單中檢索到所述報文特征,則丟棄所述數(shù)據(jù)報 文。
【文檔編號】H04L29/06GK105827646SQ201610329244
【公開日】2016年8月3日
【申請日】2016年5月17日
【發(fā)明人】周迪, 王軍
【申請人】浙江宇視科技有限公司