DDOS TCP反射及可行對抗

2021-09-10 08:53:03 字數 1822 閱讀 5947

tcp反射及可行對抗

1 背景

隱。2 原理

主要利用了tcp協議比較嘮叨的特性。

正常情況下,tcp三次握手如下:

被利用的情況下,攻擊者對tcp協議利用的具體情況如下:

網際網路內包含大量開放埠提供服務的機器,除了常用的80,443,22,23等長期處於等待監聽狀態的常用程式,還包括其他更多的開放埠等待提供服務的程式,如果被利用,則幾乎沒有方法能夠防禦效果良好且保持比較低的誤殺率,此時就需要乙個比較好的權衡,是要防範還是要正常的客戶請求。

3 資源

所需要的資源為常見的ddos攻擊資源:

能夠偽造源ip的主機

開放埠的伺服器列表

使用威脅情報,查詢了80/443/22常用埠開放數量,80埠查詢結果如下圖所示,同時,對這幾個埠的數量進行了粗略統計,數量達到了1.5億以上(結果包含重合情況,即機器可能同時開放了80/443/22/23這四個埠的兩個或兩個以上,但是粗略統計,因此暫時忽略)。

埠號可利用資源的數量

8081617495

44348,393,070

2220,083,018

236,006,201

總計156099784

4 防禦難點

所有源都為真實源,數量巨大;

利用協議棧的特性,接近正常業務,透傳率高,攻擊行為隱蔽;

雲上業務一般上行和下行不為同一條線路,基於會話難以監控記錄或者說,監控記錄會話代價較高。

5 對抗方法

5.1 源限速

此種方法可以針對**ip進行限速。在反射源有限的情況做源ip維度的限速,具體可以統計到達的包,發現syn+ack比例較高(超過正常值)的異常源ip,將此ip加黑進行攻擊緩解。

5.2 基於會話

同時檢測到達目的ip的上行流量(即目的ip的傳送資料報)和下行流量(即目的ip的接收資料報),基於tcp會話協議的特徵,當未檢測到下行流量卻有上行流量時,即攔截此會話。

此種方法為相對有效的方法,當時由於行為包含會話記錄、資料報解析、會話分析等多個行為,對裝置和程式的效能要求比較高,比較難以實現。

5.3 邊界防禦

正常情況下,客戶的請求使用的為非常用埠向常用埠的請求,基於這一特性,可以阻斷源埠為常用埠的會話。

5.4 包限速(常用方法)

這種是一種比較通用的方法,也就是在一段時間內限制到達目的ip的資料報速率,但缺陷也是很明顯的,會造成大量的正常業務會話被中斷,有比較高的誤攔截率。

5.5 基線學習(不太準確,但指代日常行為學習)

這種方法是根據使用者平時的業務流量情況(比如一般情況的客戶**、一般客戶請求的流量等行為)進行流量限速,但其使用的限制條件為客戶通常的業務流量大小,一旦超過正常的業務流量,就會開始進行攔截限速,同樣會造成正常業務會話的中斷。

6 總結

一般情況下,tcp反射很難防禦,但由於基本上無放大能力,需要達到的攻擊量和初始傳送的攻擊量基本一致,攻擊的代價較高,因此也較少使用。但是對於後端頻寬不足夠的伺服器來說,會造成正常業務的中斷。

異常處理及反射

反射 dir obj,property method 列出物件的屬性名和方法名 hasatter obj,property method 判斷是否存在屬性和方法 getatter obj,property method,default 呼叫屬性或方法 setatter obj,property me...

反射及元類

什麼是反射,其實是反省,自省的意思 反射指的是乙個物件應該具備,可以檢測,修改,增加自身屬性的能力 反射就是通過字串操作屬性 涉及的四個函式,這四個函式就是普通的內建函式 沒有雙下劃線,與print等等沒有區別 class person def init self,name,age,gender s...

Android 反射的使用及如何防止反射

1 獲取系統toast的內部資源 layout view toast的布局檔案 com.android.internal.r.layout.transient notification toast的文字檢視 com.android.internal.r.id.message layoutinflat...