華文網

網易易盾:詳解DDoS防護之TCP(二)

本章我們瞭解DDoS防護的TCP部分,上篇詳見:詳解ddos防護之TCP,上篇主要介紹了syn_flood攻擊,今天介紹其他主要類型的攻擊方式和防禦原理。

1.synack/ack/reset flood 攻擊和防禦

synack flood攻擊:

syn_ack報文出現在連接建立的第2個報文,

用來確認第一次握手的syn包。當伺服器收到syn_ack報文後會在系統裡查詢是否屬於3次握手的範疇。如果屬於則回復ack,並將連接設為連接狀態。若沒有查到相關資訊,則回復reset。(這裡window協議實現與Linux有所不同,這裡僅討論Linux)。當攻擊者發送大量的syn_ack進行攻擊時,伺服器將會為處理這些報文而消耗大量的資源。

也許你發現這裡可能還有另一種潛在的危害,就是當伺服器主動外聯時,發送完syn,等待synack包時,

收到了攻擊者發送的synack報文而導致,連接建立失敗。其實嚴格意義上說這種情況是存在的。可這種情形發送在攻擊的報文五元組匹配並且seq-ack也正確匹配的情況。概率極低,忽略不計。

synack flood 防禦:

1.如果伺服器沒有主動發起連接的需求,直接將所以syn_ack包丟棄即可。

2.如果有對外連接的需求,則可利用源認證的方式防禦,具體防護原理為:

向syn_ack的目標IP,埠發送syn報文,能在固定時間內返回,

並且序號匹配則說明該IP,埠確實提高了服務,加入白名單。多次未防護的加入黑名單。

其他包類型的flood攻擊:

主要的攻擊原理都為利用大量的無效資料包,消耗伺服器資源。由於攻擊報文命中五元組和序號的概率極低,所以對正常連接破壞有限(伺服器資源充足的情況下)。

針對這些類型的攻擊的處理方式也正是利用上面的特點。在連接建立的時候,利用syn_reset,syn_cookie認證,認證通過之後,

為每個tcp連接建立一個會話,保存五元組和序號資訊,只有匹配的包才轉發到伺服器,不匹配的丟棄。

2.TCP連接耗盡攻擊/慢連接攻擊。

連接耗盡攻擊:這種攻擊方式也許是TCP攻擊中,消耗資源最嚴重的攻擊方式。通常駭客發起連接耗盡型的攻擊的代價也比上述的要高的多。

那麼讓我們先來瞭解一下,一個TCP連接,將大致佔用多少資源,通常伺服器又能接受多少的連接的?下面以Linux系統為例,

我們做一下簡要的分析:

在三次握手完成之後,內核會為每個連接分配相應的結構,保存TCP連接相應的控制資訊,接收緩衝和發送緩衝。預設情況下佔用大概10K的記憶體。

通常的連接耗盡攻擊會發起10~ 100w的連接,大致佔用100M ~ 1G的記憶體,也許你會覺得很少。但大量的空連接佔用的不只是這些,攻擊者通常還會建立後立馬會fin報文結束連接。每個TCP連接都需要維護狀態。不斷的發起和斷開,

系統將不斷分配和釋放資源,將會大大增加系統的調度負擔,同時上層應用也將在建立和斷開連接上消耗大量的CPU,造成伺服器不可以用。

該類型還有另一種演化的攻擊方式,慢連接攻擊:例如通常的post請求都會在http頭部設置content-length欄位表明。請求的位元組數,伺服器應用通常獲取到之後,會在連接上持續接收內容直到獲取到指定長度的資料。駭客正是利用這個處理過程,比如:連接建立後,發送的http頭指定長度content-length:10000,如何每秒發送1位元組的資料。這樣一樣很少的連接就可能造成伺服器佔用嚴重,無法提供服務。

防禦原理:

報文經過防禦系統後防禦系統將記錄每個IP的連接行為做出標記:比如可分為正常,異常,可疑等級別。達到一定次數加入黑名單。

具體如空連接異常的判斷標準為在連接建立和關閉過程中,或者建立後長時間,沒有正常的資料交互過程,則可判定為空連接。

慢連接:建立後報文交互緩慢,一定時間內總傳輸資料小於特定值,則視為慢連接異常。

3.異常報文攻擊

TCP為了實現全雙工的流傳輸,定義了負載的各種流控,並且整個傳輸過程都根據資料包中的標誌位元,進行狀態機的狀態切換。發送大量的異常報文,可能導致協議棧處理的過程中發送錯誤,而使系統奔潰。

防禦方式較為簡單:1.是基於上述提到過的tcp會話機制,加入狀態的檢查,特定狀態下只接收特意的允許的類型的報文。

2.過濾畸形報文,如syn,synack報文中一定不帶負載。過濾分片報文等(有一定概率誤攔截)。

總的來說,利於上述的防禦原理,基於TCP的特性,在頻寬充足的情況下,防禦效果基本良好。針對連接耗盡類型的攻擊,還需要根據業務的特徵,來定制連接的識別。比如基於使用者的登錄資訊等等。

以上由網易企業郵箱經銷商(163hmail.com)湖南領先網路科技整理發佈。

網易企業郵箱,是網易專為企業使用者定制的電子郵箱產品,根植于中文郵箱第一品牌,擁有國內最高等級郵件系統安全證書,具備頂級反垃圾實力、安全穩定、海外暢郵、高效管理、簡單易用等優良品質。湖南領先網路科技是網易企業郵箱授權經銷商,專業為企業提供網易企業郵箱、網易辦公套件等一站式企業資訊化專業解決方案。

比如:連接建立後,發送的http頭指定長度content-length:10000,如何每秒發送1位元組的資料。這樣一樣很少的連接就可能造成伺服器佔用嚴重,無法提供服務。

防禦原理:

報文經過防禦系統後防禦系統將記錄每個IP的連接行為做出標記:比如可分為正常,異常,可疑等級別。達到一定次數加入黑名單。

具體如空連接異常的判斷標準為在連接建立和關閉過程中,或者建立後長時間,沒有正常的資料交互過程,則可判定為空連接。

慢連接:建立後報文交互緩慢,一定時間內總傳輸資料小於特定值,則視為慢連接異常。

3.異常報文攻擊

TCP為了實現全雙工的流傳輸,定義了負載的各種流控,並且整個傳輸過程都根據資料包中的標誌位元,進行狀態機的狀態切換。發送大量的異常報文,可能導致協議棧處理的過程中發送錯誤,而使系統奔潰。

防禦方式較為簡單:1.是基於上述提到過的tcp會話機制,加入狀態的檢查,特定狀態下只接收特意的允許的類型的報文。

2.過濾畸形報文,如syn,synack報文中一定不帶負載。過濾分片報文等(有一定概率誤攔截)。

總的來說,利於上述的防禦原理,基於TCP的特性,在頻寬充足的情況下,防禦效果基本良好。針對連接耗盡類型的攻擊,還需要根據業務的特徵,來定制連接的識別。比如基於使用者的登錄資訊等等。

以上由網易企業郵箱經銷商(163hmail.com)湖南領先網路科技整理發佈。

網易企業郵箱,是網易專為企業使用者定制的電子郵箱產品,根植于中文郵箱第一品牌,擁有國內最高等級郵件系統安全證書,具備頂級反垃圾實力、安全穩定、海外暢郵、高效管理、簡單易用等優良品質。湖南領先網路科技是網易企業郵箱授權經銷商,專業為企業提供網易企業郵箱、網易辦公套件等一站式企業資訊化專業解決方案。