自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

對ICMP洪水攻擊認識描述

安全 黑客攻防
此文章主要介紹的是互聯(lián)網(wǎng)的巨大威脅之ICMP洪水攻擊,以下就是對ICMP洪水攻擊的相關(guān)內(nèi)容的描述。以下就是文章的主要內(nèi)容講述。

我們今天主要向大家講述的是互聯(lián)網(wǎng)的巨大威脅之ICMP洪水攻擊,幾年前的某天晚上9時,突然有兩個“大蝦”進入一個聊天室,提議里面的50多個網(wǎng)民“去響應號召,做愛國的事”,以下是原話摘錄:

大蝦甲:今晚10點,大家一起去ping白宮!

大蝦乙:嗯嗯!ping死白宮!

網(wǎng)民:怎么做?

大蝦甲:你怎么這么笨?開MS-DOS窗口,輸入 ping xxx.xxx.xxx.xxx -l 65500 -t就可以了!

網(wǎng)民:這樣有什么用?

大蝦甲:只要這樣做,白宮網(wǎng)站就進不去了。

網(wǎng)民:哦~~原來如此~~~這樣做是什么原理?高手可以解釋一下嗎?

大蝦甲:這個嘛……還是讓他來說吧!

大蝦乙:這個……這個……咳,總之別問這么多,照著做就是了,上頭說過好像是什么DOS攻擊吧,這樣做,白宮網(wǎng)站的服務器就會垮掉。

大蝦甲:總之到時候你們一起這樣做就可以了!10點準時開始,我們先去準備了!

網(wǎng)民:不懂……

不懂歸不懂,當晚10點,愛國的網(wǎng)民們一起用上面“高手”給出的命令開始了雄偉的“愛國反擊戰(zhàn)”——一場無聊的鬧劇!

他們這樣做是什么原理?那樣的“攻擊”有效嗎?要解釋這些,就要從ICMP協(xié)議說起。

一、什么是ICMP協(xié)議?

ICMP全稱Internet Control Message Protocol(網(wǎng)際控制信息協(xié)議)。提起ICMP,一些人可能會感到陌生,實際上,ICMP與我們息息相關(guān)。在網(wǎng)絡體系結(jié)構(gòu)的各層次中,都需要控制,而不同的層次有不同的分工和控制內(nèi)容,IP層的控制功能是最復雜的,主要負責差錯控制、擁塞控制等,任何控制都是建立在信息的基礎(chǔ)之上的,在基于IP數(shù)據(jù)報的網(wǎng)絡體系中,網(wǎng)關(guān)必須自己處理數(shù)據(jù)報的傳輸工作,而IP協(xié)議自身沒有內(nèi)在機制來獲取差錯信息并處理。

為了處理這些錯誤,TCP/IP設(shè)計了ICMP協(xié)議,當某個網(wǎng)關(guān)發(fā)現(xiàn)傳輸錯誤時,立即向信源主機發(fā)送ICMP報文,報告出錯信息,讓信源主機采取相應處理措施,它是一種差錯和控制報文協(xié)議,不僅用于傳輸差錯報文,還傳輸控制報文。

二、ICMP報文格式

ICMP報文包含在IP數(shù)據(jù)報中,屬于IP的一個用戶,IP頭部就在ICMP報文的前面,所以一個ICMP報文包括IP頭部、ICMP頭部和ICMP報文(見圖表,ICMP報文的結(jié)構(gòu)和幾種常見的ICMP報文格式),IP頭部的Protocol值為1就說明這是一個ICMP報文,ICMP頭部中的類型(Type)域用于說明ICMP報文的作用及格式,此外還有一個代碼(Code)域用于詳細說明某種ICMP報文的類型,所有數(shù)據(jù)都在ICMP頭部后面。RFC定義了13種ICMP報文格式,具體如下:

類型代碼 類型描述

0 響應應答(ECHO-REPLY)

3 不可到達

4 源抑制

5 重定向

8 響應請求(ECHO-REQUEST)

11 超時

12 參數(shù)失靈

13 時間戳請求

14 時間戳應答

15 信息請求(*已作廢)

16 信息應答(*已作廢)

17 地址掩碼請求

18 地址掩碼應答

其中代碼為15、16的信息報文已經(jīng)作廢。

下面是幾種常見的ICMP報文:

1.響應請求

我們?nèi)粘J褂米疃嗟膒ing,就是響應請求(Type=8)和應答(Type=0),一臺主機向一個節(jié)點發(fā)送一個Type=8的ICMP報文,如果途中沒有異常(例如被路由器丟棄、目標不回應ICMP或傳輸失敗),則目標返回Type=0的ICMP報文,說明這臺主機存在,更詳細的tracert通過計算ICMP報文通過的節(jié)點來確定主機與目標之間的網(wǎng)絡距離。

2.目標不可到達、源抑制和超時報文

這三種報文的格式是一樣的,目標不可到達報文(Type=3)在路由器或主機不能傳遞數(shù)據(jù)報時使用,例如我們要連接對方一個不存在的系統(tǒng)端口(端口號小于1024)時,將返回Type=3、Code=3的ICMP報文,它要告訴我們:“嘿,別連接了,我不在家的!”,常見的不可到達類型還有網(wǎng)絡不可到達(Code=0)、主機不可到達(Code=1)、協(xié)議不可到達(Code=2)等。源抑制則充當一個控制流量的角色,它通知主機減少數(shù)據(jù)報流量,由于ICMP沒有恢復傳輸?shù)膱笪?,所以只要停止該報文,主機就會逐漸恢復傳輸速率。最后,無連接方式網(wǎng)絡的問題就是數(shù)據(jù)報會丟失,或者長時間在網(wǎng)絡游蕩而找不到目標,或者擁塞導致主機在規(guī)定時間內(nèi)無法重組數(shù)據(jù)報分段,這時就要觸發(fā)ICMP超時報文的產(chǎn)生。超時報文的代碼域有兩種取值:Code=0表示傳輸超時,Code=1表示重組分段超時。

3.時間戳

時間戳請求報文(Type=13)和時間戳應答報文(Type=14)用于測試兩臺主機之間數(shù)據(jù)報來回一次的傳輸時間。傳輸時,主機填充原始時間戳,接收方收到請求后填充接收時間戳后以Type=14的報文格式返回,發(fā)送方計算這個時間差。一些系統(tǒng)不響應這種報文。

三、回到正題:這樣的攻擊有效嗎?

在前面講過了,ping使用的是ECHO應答,不知道大家注意過沒有,ping的返回很慢,用NetXRAY抓包僅為1--5包/秒,這是為什么呢?事實上,ICMP本身并不慢(由于ICMP是SOCK_RAW產(chǎn)生的原始報文,速度比SOCK_STREAM的SYN和SOCK_DGRAM的UDP要快幾乎10倍!),這樣的速度是ping程序故意延遲的(為什么?M$可不想每個人都能用ping來干壞事),同樣,我測試過一些號稱“ping洪水”的程序,發(fā)現(xiàn)它們的效率和ping.exe沒什么兩樣。

經(jīng)過Dependency Walker查看程序調(diào)用的函數(shù)發(fā)現(xiàn),他們用的是icmp.dll提供的IcmpSendEcho這個API,這個函數(shù)是計算ECHO時間的,速度當然慢!而那兩個“高手”號召的ping攻擊實際上就是為了實現(xiàn)ICMP洪水攻擊,但是他們用的方法……想想洪水的速度和山澗小溪的速度相差多少吧!就用ping.exe和IcmpSendEcho這種小溪慢慢流淌的速度能做什么?還不是讓人家看笑話!這種攻擊根本就是浪費自己的時間!(如今還經(jīng)常有人問ping -l 65500 -t的攻擊威力如何……哎,悲哀啊悲哀……)

四、什么是ICMP洪水?

1.ICMP洪水的成因

ping.exe和IcmpSendEcho速度慢的另一個原因是它們必須等待目標主機返回REPLY信息,這個過程需要花費大量時間,而Flood——洪水,顧名思義,是速度極快的,當一個程序發(fā)送數(shù)據(jù)包的速度達到了每秒1000個以上,它的性質(zhì)就成了洪水產(chǎn)生器,洪水數(shù)據(jù)是從洪水產(chǎn)生器里出來的,但這樣還不夠,沒有足夠的帶寬,再猛的洪水也只能像公路塞車那樣慢慢移動,成了雞肋。要做真正的洪水,就需要有一條足夠?qū)挼母咚俟凡趴梢?。極慢的發(fā)送速度+56Kbps小貓等于什么?等于一個未關(guān)緊的水龍頭,根本沒用。

由于ping.exe無法提速,這就需要專門的工具來做洪水了。足夠快的數(shù)據(jù)包速度+足夠的帶寬,這才是洪水。

2.實現(xiàn)ICMP洪水的前提

最大的前提是攻擊者的速度!如果你要用56K撥號去攻擊一個512Kbps ADSL用戶,后果和一只螞蟻伸腿想絆倒大象的天方夜譚是一樣的!其次是你的機器運行速度和數(shù)據(jù)吞吐量,由于涉及IP校驗和的計算(先設(shè)置頭校驗和域的數(shù)值為0,然后對整個數(shù)據(jù)報頭按每16位求異或,再把結(jié)果取反,就得到了校驗和),如果數(shù)據(jù)處理能力不夠,在這步就慢了一個級別,效果當然大打折扣。

最后就是目標機器的帶寬!如果對方比你大很多(例如你2M ADSL,別人用DDN或T1),那么任何Flood都是無病呻吟,撓癢都不夠!(希望不要再問“小金,你的R-Series怎么不好用啊”、“我用小金的AnGryPing攻擊別人半天都沒事!”、“獨裁者的攻擊怎么無效啊?”這樣的問題了,天啊,我頭都大了!)

還有許多人都忽略的問題:發(fā)送的速度與數(shù)據(jù)包大小成反比,而且太大的數(shù)據(jù)包會被路由器等設(shè)備過濾掉!找到一個合適的數(shù)據(jù)包大小,對提高Flood的效率有很大幫助!

3.洪水——兩敗俱傷的攻擊方式

別以為洪水無所不能,實際上,你展開ICMP洪水攻擊時,攻擊程序在消耗對方帶寬和資源時,也在消耗你的帶寬和資源。這只是個看誰撐得住的攻擊而已。實際上,有經(jīng)驗的攻擊者都是用被控制的服務器(肉雞)來代替自己的機器發(fā)動攻擊的,不到萬不得已或者你對自己的機器網(wǎng)速有自信,否則盡量少用自己的機器來拼搏!

五、不同方式的ICMP洪水

1.直接Flood

要做這個的首要條件是你的帶寬夠,然后就是要一個好用的ICMP Flooder,別用ping.exe那種探路用的垃圾,例如我以前發(fā)布的AnGryPing,發(fā)包速度達到6000---9000包/秒(512 Kbps ADSL),默認是32bytes的ECHO報文洪水,用它即使不能flood別人下去,防火墻也叫得夠慘的了。直接攻擊會暴露自己IP(如果對方?jīng)]有還擊能力那還無所謂,固定IP用戶不推薦使用這種Flood),直接Flood主要是為了顧及Win9x/Me不能偽造IP的缺陷,否則一般還是別用為妙。

簡單示意圖:

ICMP

攻擊者[IP=211.97.54.3]--------------------------------->受害者[截獲攻擊者IP=211.97.54.3]==>換IP回來反擊,嘿嘿

2.偽造IP的Flood

如果你是Win2000/XP并且是Administrator權(quán)限,可以試試看FakePing,它能隨意偽造一個IP來Flood,讓對方摸不到頭腦,屬于比較隱蔽陰險的Flood。

簡單示意圖:

偽造IP=1.1.1.1的ICMP

攻擊者[IP=211.97.54.3]--------------------------------->受害者[截獲攻擊者IP=1.1.1.1]==>倒死

3.反射

用采取這種方式的第一個工具的名稱來命名的“Smurf”洪水攻擊,把隱蔽性又提高了一個檔次,這種攻擊模式里,最終淹沒目標的洪水不是由攻擊者發(fā)出的,也不是偽造IP發(fā)出的,而是正常通訊的服務器發(fā)出的!

實現(xiàn)的原理也不算復雜,Smurf方式把源IP設(shè)置為受害者IP,然后向多臺服務器發(fā)送ICMP報文(通常是ECHO請求),這些接收報文的服務器被報文欺騙,向受害者返回ECHO應答(Type=0),導致垃圾阻塞受害者的門口……

從示意圖可以看出,它比上面兩種方法多了一級路徑——受騙的主機(稱為“反射源”),所以,一個反射源是否有效或者效率低下,都會對Flood效果造成影響!

簡單示意圖:

偽造受害者的ICMP 應答

攻擊者[IP=211.97.54.3]-------------------------->正常的主機--------------->受害者[截獲攻擊者IP=……網(wǎng)易?!]==>哭啊……

以上是幾種常見的Flood方式,在測試中,我發(fā)現(xiàn)一個有趣的現(xiàn)象:一些防火墻(如天網(wǎng))只能攔截ECHO請求(Ping)的ICMP報文,對于其他ICMP報文一概睜只眼閉只眼,不知道其他防火墻有沒有這個情況。所以想神不知鬼不覺對付你的敵人時,請盡量避開直接ECHO Flood,換用Type=0的ECHO應答或Type=14的時間戳應答最好,其他類型的ICMP報文沒有詳細測試過,大家可以試試看Type=3、4、11的特殊報文會不會有更大效果。

六、ICMP Flood能防嗎?

先反問你一個問題:洪水迅猛的沖來時,你能否拿著一個臉盆來抵擋?(坐上臉盆做現(xiàn)代魯賓遜倒是個不錯的主意,沒準能漂到MM身邊呢)

軟件的網(wǎng)絡防火墻能對付一些漏洞、溢出、OOB、IGMP攻擊,但是對于洪水類型的攻擊,它們根本無能為力,我通常對此的解釋是“傾倒垃圾”:“有蟑螂或老鼠在你家門前逗留,你可以把它們趕走,但如果有人把一車垃圾傾倒在你家門口呢?”前幾天看到mikespook大哥對此有更體面的解釋,轉(zhuǎn)載過來——“香蕉皮原理:如果有人給你一個香蕉和一個香蕉皮你能區(qū)分,并把沒有用的香蕉皮扔掉。

(一般軟件防火墻就是這么判斷并丟棄數(shù)據(jù)包的。)但是如果有人在同一時間內(nèi)在你身上倒一車香蕉皮,你再能區(qū)分有用沒用也沒啥作用了~~因為你被香蕉皮淹沒了~~~~(所以就算防火墻能區(qū)分是DoS的攻擊數(shù)據(jù)包,也只能識別,根本來不及丟棄~~死了,死了,死了~~)”

所以,洪水沒法防!能做的只有提高自己的帶寬和預防洪水的發(fā)生(雖然硬件防火墻和分流技術(shù)能做到,但那價格是太昂貴的,而且一般人也沒必要這樣做)。

 

 

以上的相關(guān)內(nèi)容就是對互聯(lián)網(wǎng)的巨大威脅之ICMP洪水攻擊的介紹,望你能有所收獲。

 

責任編輯:佚名 來源: 中國IT實驗室
相關(guān)推薦

2010-09-16 11:05:43

2010-07-30 16:06:41

2010-09-25 15:36:42

2021-09-03 07:23:59

哈希洪水攻擊黑客DDoS

2011-03-17 10:04:29

2010-09-08 15:10:48

2010-09-08 13:31:24

2010-07-30 16:17:53

2010-09-08 12:54:42

2014-04-09 14:15:23

2009-11-17 18:09:15

2010-09-25 16:08:40

2010-09-25 15:52:01

2010-07-02 12:22:37

2010-09-17 15:24:02

2010-08-02 15:32:01

ICMP路由跟蹤

2010-09-15 10:30:01

2010-09-29 14:27:06

2010-10-09 10:39:49

2021-07-19 06:06:04

勒索軟件網(wǎng)絡攻擊數(shù)據(jù)泄露
點贊
收藏

51CTO技術(shù)棧公眾號