拒絕服務***是最常見的一類網路***型別。在這一***原理下,它又派生了許多種不同的***方式。正確了解這些不同的拒絕***方式,就可以為正確、系統地為自己所在企業部署完善的安全防護系統。
***檢測的最基本手段是採用模式匹配的方法來發現******行為。要有效的進行反***,首先必須了解***的原理和工作機理,只有這樣才能做到知己知彼,從而有效的防止******行為的發生。下面我們針對幾種典型的拒絕服務***原理進行簡要分析,並提出相應的對策。
l 死亡之
ping
(ping of death
)***
由於在早期的階段,路由器對包的最大大小是有限制的,許多作業系統
tcp/ip
棧規定icmp
包的大小限制在
64kb
以內。在對
icmp
資料報的標題頭進行讀取之後,是根據該標題頭里包含的資訊來為有效載荷生成緩衝區。當大小超過
64kb
的icmp
包,就會出現記憶體分配錯誤,導致
tcp/ip
堆疊崩潰,從而使接受方計算機宕機。這就是這種
「死亡之
ping」
***的原理所在。根據這一***原理,***們只需不斷地通過
ping
命令向***目標傳送超過
64kb
的資料報,就可使目標計算機的
tcp/ip
堆疊崩潰,致使接受方宕機。
防禦方法:現在所有的標準
tcp/ip
協議都已具有對付超過
64kb
大小資料報的處理能力,並且大多數防火牆能夠通過對資料報中的資訊和時間間隔分析,自動過濾這些***。
windows 98
、windows nt 4.0
(sp3
之後)、
windows 2000/xp/
server 2003
、linux
、solaris
和mac os
等系統都已具有抵抗一般
「ping of death」
拒絕服務***的能力。此外,對防火牆進行配置,阻斷
icmp
以及任何未知協議資料報,都可以防止此類***發生。 l
淚滴(teardrop
)***
對於一些大的
ip資料報,往往需要對其進行拆分傳送,這是為了迎合鏈路層的
mtu(最大傳輸單元)的要求。比如,乙個
6000
位元組的ip
包,在mtu
為2000
的鏈路上傳輸的時候,就需要分成三個
ip包。在
ip報頭中有乙個偏移欄位和乙個拆分標誌(
mf)。如果
mf標誌設定為
1,則表面這個
ip包是乙個大
ip包的片斷,其中偏移字段指出了這個片斷在整個
ip包中的位置。例如,對乙個
6000
位元組的ip
包進行拆分(
mtu為
2000
),則三個片斷中偏移欄位的值依次為:0,
2000
,4000
。這樣接收端在全部接收完
ip資料報後,就可以根據這些資訊重新組裝這幾個分次接收的拆分
ip包。在這裡就又乙個安全漏洞可以利用了,就是如果***們在擷取
ip資料報後,把偏移字段設定成不正確的值,這樣接收端在收後這些分拆的資料報後就不能按資料報中的偏移字段值正確重合這些拆分的資料報,但接收端會不斷償試,這樣就可能致使目標計算朵作業系統因資源耗盡而崩潰。
淚滴***利用修改在
tcp/ip
堆疊實現中信任
ip碎片中的包的標題頭所包含的資訊來實現自己的***。
ip分段含有指示該分段所包含的是原包的哪一段的資訊,某些作業系統(如
sp4以前的
windows nt 4.0
)的tcp/ip
在收到含有重疊偏移的偽造分段時將崩潰,不過新的作業系統已基本上能自己抵禦這種***了。
防禦方法:盡可能採用最新的作業系統,或者在防火牆上設定分段重組功能,由防火牆先接收到同一原包中的所有拆分資料報,然後完成重組工作,而不是直接**。因為防火牆上可以設定當出現重疊欄位時所採取的規則。 l
tcp syn
洪水(tcp syn flood
)***
tcp/ip
棧只能等待有限數量
ack(應答)訊息,因為每台計算機用於建立
tcp/ip
連線的記憶體緩衝區都是非常有限的。如果這一緩衝區充滿了等待響應的初始資訊,則該計算機就會對接下來的連線停止響應,直到緩衝區裡的連線超時。
tcp syn
洪水***正是利用了這一系統漏洞來實施***的。***者利用偽造的
ip位址向目標發出多個連線(
syn)請求。目標系統在接收到請求後傳送確認資訊,並等待回答。由於***們傳送請示的
ip位址是偽造的,所以確認資訊也不會到達任何計算機,當然也就不會有任何計算機為此確認資訊作出應答了。而在沒有接收到應答之前,目標計算機系統是不會主動放棄的,繼續會在緩衝區中保持相應連線資訊,一直等待。當達到一定數量的等待連線後,緩區部記憶體資源耗盡,從而開始拒絕接收任何其他連線請求,當然也包括本來屬於正常應用的請求,這就是***們的最終目的。
防禦方法:在防火牆上過濾來自同一主機的後續連線。不過
「syn
洪水***
」還是非常令人擔憂的,由於此類***並不尋求響應,所以無法從乙個簡單高容量的傳輸中鑑別出來。防火牆的具體抵禦
tcp syn
洪水***的方法將在本書的第三章最後有詳細介紹。 l
land
***
這類***中的資料報源位址和目標位址是相同的,當作業系統接收到這類資料報時,不知道該如何處理,或者迴圈傳送和接收該資料報,以此來消耗大量的系統資源,從而有可能造成系統崩潰或宕機等現象。
防禦方法:
這類***的檢測方法相對來說比較容易,因為它可以直接從判斷網路資料報的源位址和目標位址是否相同得出是否屬於***行為。反***的方法當然是適當地配置防火牆裝置或包過濾路由器的包過濾規則。並對這種***進行審計,記錄事件發生的時間,源主機和目標主機的
mac位址和ip
l smurf
***
這是一種由有趣的**人物而得名的拒絕服務***。
smurf
***利用多數路由器中具有同時向許多計算機廣播請求的功能。***者偽造乙個合法的
ip位址,然後由網路上所有的路由器廣播要求向受***計算機位址做出回答的請求。由於這些資料包表面上看是來自已知位址的合法請求,因此網路中的所有系統向這個位址做出回答,
最終結果可導致該網路的所有主機都對此
icmp
應答請求作出答覆,導致網路阻塞,
這也就達到了***們追求的目的了。這種
smurf
***比起前面介紹的
「ping of death」
洪水的流量高出一至兩個數量級,更容易***成功。還有些新型的
smurf
***,將源位址改為第三方的受害者(不再採用偽裝的
ip位址),最終導致第三方雪崩。
防禦方法:關閉外部路由器或防火牆的廣播位址特性,並在防火牆上設定規則,丟棄掉
icmp
協議型別資料報。 l
fraggle
***
fraggle
***只是對
smurf
***作了簡單的修改,使用的是
udp協議應答訊息,而不再是
icmp
協議了(因為***們清楚
udp協議更加不易被使用者全部禁止)。同時
fraggle
***使用了特定的埠(通常為
7號埠,但也有許多使用其他埠實施
fraggle
***的),***與
smurf
***基本類似,不再贅述。
防禦方法:
關閉外部路由器或防火牆的廣播位址特性。
在防火牆上過濾掉
udp報文,或者遮蔽掉一些常被***們用來進行
fraggle
***的埠。 l
電子郵件炸彈
電子郵件炸彈是最古老的匿名***之一,通過設定一台計算機不斷地向同一位址傳送大量電子郵件來達到***目的,此類***能夠耗盡郵件接受者網路的頻寬資源。
防禦方法:對郵件位址進行過濾規則配置,自動刪除來自同一主機的過量或重複的訊息。
廉價拒絕服務
我想各位一定有過這樣的經歷,當噴嚏就要一觸即發的時候,當你沐浴在火花的世界正要抓住乙個漂亮的靈感的時候,會突然跑出乙個人來拉著你討論問題或者向你發出乙個中斷請求。而這時你不得不暫停 那怕是半秒鐘 下來告訴他稍後訪問.而恰恰就在這個瞬間,先前的堆疊已經灰飛煙滅了 此時我們應該羨慕計算機的強勁堆疊機制。...
拒絕服務攻擊
dos denial of service 指拒絕服務,是一種常用來使伺服器或網路癱瘓的網路攻擊手段。在平時更多提到的是分布式拒絕服務 ddos,distributed denial of service 攻擊,該攻擊是指利用足夠數量的傀儡計算機產生數量巨大的攻擊資料報,對網路上的一台或多台目標實施...
拒絕服務攻擊 DOS)
拒絕服務攻擊 dos dos是denial of service的簡稱,即拒絕服務,造成dos的攻擊行為被稱為dos攻擊,其目的是使計算機或網路無法提供正常的服務。最常見的dos攻擊有計算機網路頻寬攻擊和連通性攻擊。頻寬攻擊指以極大的通訊量衝擊網路,使得所有可用網路資源都被消耗殆盡,最後導致合法的使...