利用ICMP報文進行網絡***主要分爲三種類型:死亡之Ping、ICMP DoS***、基於重定向的路由欺騙。
一、死亡之Ping
1.1 ***原理
· 以太網報文有長度限制,超大報文網絡採取分片傳輸
· 報文分片後第一分片只包含各個分片報文長度
· 接收端對分片報文接收後重組
· 報文分片後大小總和大於分片前報文
· IP協議規定IP包最大尺寸
· 大部分處理程序假定報文不會超過最大尺寸
· 超大報文重組所佔內存塊大於IP包最大尺寸
· 重組過程引發緩衝區溢出,系統進入非穩定狀態
· 導致TCP/IP堆棧崩潰
1.2 防禦防範
對OS打上最新補丁(一般爲解決D死亡之Ping漏洞版本即可)即可。
二、ICMP DoS***
ICMP DoS***根據***方式的不同可以分爲針對帶寬的DoS和針對連接的DoS。
2.1 針對帶寬的DoS
2.1.1 ***原理
· ICMP echo reply報文具有高轉發優先級
· ***者向被***主機發送大量源IP僞造(不存在)的ICMP echo request報文
· 被***主機回覆主機不可達(echo reply)
· ***主機帶寬被佔用,不能響應正常服務
這種***方式要求***主機處理能力和帶寬要大於被***主機,否則自身被DoS了。
另外,在這種***基礎上可發起DDoS***(Smurf***),具體步驟如下:
1. ***者向“放大網絡”廣播echo request報文
2. ***者指定廣播報文的源IP爲被***主機
3. “放大網絡”回覆echo reply給被***主機
4. 形成DDoS***場景
這裏的“放大網絡”可以理解爲具有很多主機的網絡,這些主機的操作系統需要支持對目的地址爲廣播地址的某種ICMP請求數據包進行響應。
2.1.2 防禦方法
對於針對帶寬的ICMP DoS***可以設置ICMP限速,或者使用防火牆來過濾非法ICMP報文。
2.2 針對鏈接的ICMP DoS
針對連接的DoS***,可以終止現有的網絡連接。針對網絡連接的DoS***會影響所有的IP設備,因爲它使用了合法的ICMP消息。Nuke通過發送一個僞造的ICMP Destination Unreachable或Redirect消息來終止合法的網絡連接。更具惡意的***,如puke和smack,會給某一個範圍內的端口發送大量的數據包,毀掉大量的網絡連接,同時還會消耗受害主機CPU的時鐘週期。
2.3 基於ICMP重定向的路由欺騙技術
***者可利用ICMP重定向報文破壞路由,並以此增強其竊聽能力。除了路由器,主機必須服從ICMP重定向。如果一臺機器想網絡中的另一臺機器發送了一個ICMP重定向消息,這就可能引起其他機器具有一張無效的路由表。如果一臺機器僞裝成路由器截獲所有到某些目標網絡或全部目標網絡的IP數據包,這樣就形成了竊聽。通過ICMP技術還可以抵達防火牆後的機器進行***和竊聽。
注:重定向路由欺騙技術尚無實際應用。