泛洪的過程
泛洪的分類
SYN泛洪攻擊
SYN攻擊利用的是
TCP的
三次握手機制,攻擊端利用偽造的
IP地址向被攻擊端發出請求,而被攻擊端發出的回響
報文將永遠傳送不到目的地,那么被攻擊端在等待關閉這個連線的過程中消耗了資源,如果有成千上萬的這種連線,
主機資源將被耗盡,從而達到攻擊的目的。我們可以利用
路由器的TCP攔截功能,使網路上的
主機受到保護(以
Cisco路由器為例)。
DHCP報文泛洪攻擊
DHCP報文泛洪攻擊是指:惡意用戶利用工具偽造大量DHCP報文傳送到伺服器,一方面惡意耗盡了IP資源,使得合法用戶無法獲得IP資源;另一方面,如果
交換機上開啟了DHCP Snooping功能,會將接收到的DHCP報文上送到
CPU。因此大量的DHCP
報文攻擊設備會使DHCP伺服器高負荷運行,甚至會導致設備癱瘓。
ARP報文泛洪攻擊
ARP報文泛洪類似DHCP泛洪,同樣是惡意用戶發出大量的
ARP報文,造成L3設備的ARP表項溢出,影響正常用戶的轉發。
泛洪攻擊方法
ICMP泛洪
ICMP泛洪(ICMP flood)是利用ICMP報文 進行攻擊的一種方法。如果攻擊者向目標主機發 送大量的ICMP ECHO報文,將產生ICMP泛洪, 目標主機會將大量的時間和資源用於處理ICMP ECHO報文,而無法處理正常的請求或回響,從而實現對目標主機的攻擊。
ICMP反射泛洪
Smurf IP利用廣播地址傳送ICMP包,一旦廣播出去,就會被廣播域內的所有主機回應,當然這些包都回應給了偽裝的IP位址(指向被攻擊主機),偽裝IP位址可以是網際網路上的任何地址,不一定在本地;假如駭客不停地傳送此種類型的包,就會造成DoS攻擊。
TCP SYN 泛洪
對於TCP協定,當客戶端向伺服器發起連線請求並初始化時,伺服器一端的協定棧會留一塊緩衝區來處理“握手”過程中的信息交換。請求建立連線時傳送的數據包的包頭SYN位就表明了數據包的順序,攻擊者可以利用在短時間內快速發起大量連線請求,以致伺服器來不及回響。同時攻擊者還可以偽造源IP位址。也就是說攻擊者發起大量連線請求,然後掛起在半連線狀態,以此來占用大量伺服器資源直到拒絕服務。雖然緩衝區中的數據在一段時間內(通常是三分鐘)都沒有回應的話,就會被丟棄,但在這段時間內,大量半連線足以耗盡伺服器資源。
TCP LAND
LAND攻擊利用了TCP連線建立的三次握手過程,通過向一個目標主機傳送一個用於建立請求連線的TCP SYN報文而實現對目標主機的攻擊。與正常的TCP SYN報文不同的是:LAND攻擊報文的源IP位址和目的IP位址是相同的,都是目標主機的IP位址。這樣目標主機接在收到這個SYN 報文後,就會向該報文的源地址傳送一個ACK報文,並建立一個TCP連線控制結構,而該報文的源地址就是自己。由於目的IP位址和源IP位址是相同的,都是目標主機的IP位址,因此這個ACK 報文就發給了目標主機本身。
UDP FLOOD
UDP泛洪(UDP flood)的實現原理與ICMP泛洪類似,攻擊者通過向目標主機傳送大量的UDP報文,導致目標主機忙於處理這些UDP報文,而無法處理正常的報文請求或回響。
死亡之ping
由於在早期的階段,路由器對包的最大尺寸都有限制,許多作業系統對TCP/IP棧的實現為ICMP包上都是規定64KB,並且在對包的標題頭進行讀取之後,要根據該標題頭裡包含的信息來為有效載荷生成緩衝區,當產生畸形的,聲稱自己的尺寸超過ICMP上限的包也就是載入的尺寸超過64K上限時,就會出現記憶體分配錯誤,導致TCP/IP堆疊崩潰,致使接受方當機。
相關區別
廣播幀的產生:網路中存在有廣播幀是不可避免的,比如開啟了DHCP伺服器,每次請求,都會有以”FF.FF.FF.FF.FF.FF”的幀格式出現,它向所有連線埠轉發,假設主機A與B在同一個網路內,當主機A要向主機B傳送信息,那么需要知道主機B的IP位址和MAC地址,這裡面我們假定A只知道B的IP位址,而不知道 B的MAC地址,那么這時A就需要向網路中傳送一個ARP請求,來獲取B的MAC地址,這個ARP請求實際上就是一個廣播包。
而泛洪和MAC列表相關,在快取中是存在的,有確定的MAC地址。只是在MAC表中找不到具體轉發的連線埠和MAC的配對,才開始泛洪處理,但是泛洪並不是廣播幀(FF.FF.FF.FF.FF.FF)。廣播是有一個具體的行為,它的對象是整個網路,在ARP時往往需要有特定的主機來回響,當然太多的廣播對於網路是有害的,容易造成廣播風暴。總的來說,主要有以下兩點區別:
泛洪操作廣播的是普通數據幀而不是廣播幀。
廣播是向同一子網內所有的連線埠(包括自己的那個連線埠)傳送訊息;泛洪只是在所有的連線埠中不包括傳送訊息的(自己的)那個連線埠傳送訊息。