第二十一章 典型DoS攻擊原理及抵禦措施(1 / 3)

第二十一章 典型DoS攻擊原理及抵禦措施

smurf、trinoo、tfn、tfn2k以及stacheldraht是比較常見的DoS攻擊程序,本文將對它們的原理以及抵禦措施進行論述,以幫助管理員有效地抵禦DoS風暴攻擊,維護站點安全。

一、何為"smurf攻擊",如何抵禦?

Smurf是一種簡單但有效的DDoS攻擊技術,它利用了ICMP(Internet控製信息協議)。ICMP在Internet上用於錯誤處理和傳遞控製信息。它的功能之一是與主機聯係,通過發送一個"回音請求"(echorequest)信息包看看主機是否"活著"。最普通的ping程序就使用了這個功能。Smurf是用一個偷來的帳號安裝到一個計算機上的,然後用一個偽造的源地址連續ping一個或多個計算機網絡,這就導致所有計算機所響應的那個計算機並不是實際發送這個信息包的那個計算機。這個偽造的源地址,實際上就是攻擊的目標,它將被極大數量的響應信息量所淹沒。對這個偽造信息包做出響應的計算機網絡就成為攻擊的不知情的同謀。

下麵是SmurfDDoS攻擊的基本特性以及建議采用的抵禦策略:

1、Smurf的攻擊平台:smurf為了能工作,必須要找到攻擊平台,這個平台就是:其路由器上啟動了IP廣播功能。這個功能允許smurf發送一個偽造的ping信息包,然後將它傳播到整個計算機網絡中。

2、為防止係統成為smurf攻擊的平台,要將所有路由器上IP的廣播功能都禁止。一般來講,IP廣播功能並不需要。

3、攻擊者也有可能從LAN內部發動一個smurf攻擊,在這種情況下,禁止路由器上的IP廣播功能就沒有用了。為了避免這樣一個攻擊,許多操作係統都提供了相應設置,防止計算機對IP廣播請求做出響應。

4、如果攻擊者要成功地利用你成為攻擊平台,你的路由器必須要允許信息包以不是從你的內網中產生的源地址離開網絡。配置路由器,讓它將不是由你的內網中生成的信息包過濾出去,這是有可能做到的。這就是所謂的網絡出口過濾器功能。

5、ISP則應使用網絡入口過濾器,以丟掉那些不是來自一個已知範圍內IP地址的信息包。

6、挫敗一個smurf攻擊的最簡單方法對邊界路由器的回音應答(echoreply)信息包進行過濾,然後丟棄它們,這樣就能阻止"命中"Web服務器和內網。對於那些使用Cisco路由器的人,另一個選擇是CAR(CommittedAccessRate,承諾訪問速率)。

丟棄所有的回音應答信息包能使網絡避免被淹沒,但是它不能防止來自上遊供應者通道的交通堵塞。如果你成為了攻擊的目標,就要請求ISP對回音應答信息包進行過濾並丟棄。如果不想完全禁止回音應答,那麼可以有選擇地丟棄那些指向你的公用Web服務器的回音應答信息包。CAR技術由Cisco開發,它能夠規定出各種信息包類型使用的帶寬的最大值。例如,使用CAR,我們就可以精確地規定回音應答信息包所使用的帶寬的最大值。

二、何為"trinoo",如何抵禦它?

trinoo是複雜的DDoS攻擊程序,它使用"master"程序對實際實施攻擊的任何數量的"代理"程序實現自動控製。攻擊者連接到安裝了master程序的計算機,啟動master程序,然後根據一個IP地址的列表,由master程序負責啟動所有的代理程序。接著,代理程序用UDP信息包衝擊網絡,從而攻擊目標。在攻擊之前,侵入者為了安裝軟件,已經控製了裝有master程序的計算機和所有裝有代理程序的計算機。

下麵是trinooDDoS攻擊的基本特性以及建議采用的抵禦策略:

1、在master程序與代理程序的所有通訊中,trinoo都使用了UDP協議。入侵檢測軟件能夠尋找使用UDP協議的數據流(類型17)。

2、Trinoomaster程序的監聽端口是27655,攻擊者一般借助telnet通過TCP連接到master程序所在計算機。入侵檢測軟件能夠搜索到使用TCP(類型6)並連接到端口27655的數據流。

3、所有從master程序到代理程序的通訊都包含字符串"l44",並且被引導到代理的UDP端口27444。入侵檢測軟件檢查到UDP端口27444的連接,如果有包含字符串l44的信息包被發送過去,那麼接受這個信息包的計算機可能就是DDoS代理。

4、Master和代理之間通訊受到口令的保護,但是口令不是以加密格式發送的,因此它可以被"嗅探"到並被檢測出來。使用這個口令以及來自DaveDittrich的trinot腳本,要準確地驗證出trinoo代理的存在是很可能的。

一旦一個代理被準確地識別出來,trinoo網絡就可以安裝如下步驟被拆除: