Ping of Death攻擊是什么?
Ping of Death俗稱“死拼”,其攻擊原理是攻擊者A向受害者B發(fā)送一些尺寸超大的ICMP(Ping命令使用的是ICMP報文)報文對其進行攻擊(對于有些路由器或系統(tǒng),在接收到一個這樣的報文后,由于處理不當,會造成系統(tǒng)崩潰、死機或重啟)。
為了讓大家更好的理解Ping of Death攻擊原理,下面補充介紹下IP報文和ICMP報文的封裝格式。如下圖所示:
1).4位版本:標識IP協(xié)議的版本。如果是IPV4,則為ox4,二進制為0100。如果是IPV6,則為ox6,二進制為0110;
2).4位首部長度:標識IP首部的長度,單位是DWord(4字節(jié))。4位二進制數(shù)組成的最大數(shù)為1111,十進制為15,所以IP首部的最大長度為:15*4=60字節(jié)。
普通IP報文的首部長度為20字節(jié),所以該四位首部長度標識位一般為:0101;
3).8位服務類型(TOS):TOS是Type Of Services的縮寫。具體含義如下圖所示:
第2、3、4、5位分別代表最小費用、最高可靠性、最大吞吐量和最小延時,4種服務中只能同時選擇一種,置“0”代表選中,如全部為“0”,則代表一般服務。高三位用來標識報文的優(yōu)先級,“111”代表最高優(yōu)先級。
4).16位報文總長度:用來標識IP報文的長度,216-1=65535,所以單片IP報文的最大長度不能超過65535個字節(jié);
5).8位生存時間(TTL):TTL即Time To Live,報文的最大生存時間為28-1=255,單位是跳,報文每經過一次路由器,TTL自動減1,當TTL減到0時,報文自動被丟棄;
6).16位標識:標識字段唯一地標識主機發(fā)送的每一份數(shù)據報。通常每發(fā)送一份報文它的值就會加1;
7).3位標識:用來標識報文分片的相關信息,具體如下所示;
8).13位分片偏移:用來標識分片報文的分片偏移量,偏移的數(shù)量必須是8的整數(shù)倍;
9).8位協(xié)議號:用來標識IP種封裝的報文種類。
- 1代表是ICMP報文
- 2代表是IGMP報文
- 6代表是TCP報文
- 17代表是UDP報文
10).16位首部校驗和:對IP首部的校驗字段,只對首部校驗,不管數(shù)據部分。
Ping of Death攻擊,上面已經介紹了,IP報文的最大長度是216-1=65535個字節(jié),那么去除IP首部的20個字節(jié)和ICMP首部的8個字節(jié),實際數(shù)據部分長度最大為:65535-20-8=65507個字節(jié)。所謂的尺寸超大的ICMP報文就是指數(shù)據部分長度超過65507個字節(jié)的ICMP報文
針對Ping of Death攻擊,網絡安全設備僅僅通過超大包過濾方法不能達到很好的防御效果,因為在線網種傳輸?shù)拇蟛糠謭笪亩冀涍^了分片,所以單片報文不會超過65507個字節(jié),只是在接收端完成組合后才會超過65507個字節(jié)。所以針對Ping of Death攻擊,最有效防御方式是禁止ICMP報文通過網絡安全設備。