複製鏈接
請複製以下鏈接發送給好友

泛洪

鎖定
泛洪(Flooding)是交換機和網橋使用的一種數據流傳遞技術,將從某個接口收到的數據流向除該接口之外的所有接口發送出去
中文名
泛洪
外文名
Flooding
適用範圍
交換機和網橋
領    域
信息科學

泛洪泛洪的過程

交換機根據收到數據幀中的源MAC地址建立該地址同交換機端口的映射,並將其寫 入MAC地址表中。交換機數據幀中的目的MAC地址同已建立的MAC地址表進行比較,以決定由哪個端口進行轉發。如數據幀中的目的MAC地址不在MAC地址表中,則向所有端口轉發 [1] 

泛洪泛洪的分類

泛洪SYN泛洪攻擊

SYN攻擊利用的是TCP三次握手機制,攻擊端利用偽造的IP地址向被攻擊端發出請求,而被攻擊端發出的響應 [2]  報文將永遠發送不到目的地,那麼被攻擊端在等待關閉這個連接的過程中消耗了資源,如果有成千上萬的這種連接,主機資源將被耗盡,從而達到攻擊的目的。我們可以利用路由器的TCP攔截功能,使網絡上的主機受到保護(以Cisco路由器為例)。 [3] 

泛洪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堆棧崩潰,致使接受方宕機。 [4] 

泛洪相關區別

廣播幀的產生:網絡中存在有廣播幀是不可避免的,比如開啓了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時往往需要有特定的主機來響應,當然太多的廣播對於網絡是有害的,容易造成廣播風暴。總的來説,主要有以下兩點區別:
泛洪操作廣播的是普通數據幀而不是廣播幀。
廣播是向同一子網內所有的端口(包括自己的那個端口)發送消息;泛洪只是在所有的端口中不包括髮送消息的(自己的)那個端口發送消息。
參考資料
  • 1.    楊朔, 李長庚. 無線傳感器網絡泛洪時間同步協議安全算法[J]. 傳感器與微系統, 2014, 33(1):137-140.
  • 2.    泛洪和數據庫同步 
  • 3.    黃貽望, 萬良, 李祥. 基於IP欺騙的SYN泛洪攻擊[J]. 計算機技術與發展, 2008, 18(12):159-161.
  • 4.    劉愛東, 盧中武, 顧佼佼. LEACH防禦HELLO泛洪攻擊的方案研究[J]. 傳感技術學報, 2012, 25(3):402-405.