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

1、在發動Stacheldraht攻擊時,攻擊者訪問master程序,向它發送一個或多個攻擊目標的IP地址。Master程序再繼續與所有代理程序進行通訊,指示它們發動攻擊。

Stacheldrahtmaster程序與代理程序之間的通訊主要是由ICMP回音和回音應答信息包來完成的。配置路由器或入侵檢測係統,不允許一切ICMP回音和回音應答信息包進入網絡,這樣可以挫敗Stacheldraht代理。但是這樣會影響所有要使用這些功能的Internet程序,例如ping。

2、代理程序要讀取一個包含有效master程序的IP地址列表。這個地址列表使用了Blowfish加密程序進行加密。代理會試圖與列表上所有的master程序進行聯係。如果聯係成功,代理程序就會進行一個測試,以確定它被安裝到的係統是否會允許它改變"偽造"信息包的源地址。通過配置入侵檢測係統或使用嗅探器來搜尋它們的簽名信息,可以探測出這兩個行為。

代理會向每個master發送一個ICMP回音應答信息包,其中有一個ID域包含值666,一個數據域包含字符串"skillz"。如果master收到了這個信息包,它會以一個包含值667的ID域和一個包含字符串"ficken"的數據域來應答。代理和master通過交換這些信息包來實現周期性的基本接觸。通過對這些信息包的監控,可以探測出Stacheldraht。

一旦代理找到了一個有效master程序,它會向master發送一個ICMP信息包,其中有一個偽造的源地址,這是在執行一個偽造測試。這個假地址是"3.3.3.3"。如果master收到了這個偽造地址,在它的應答中,用ICMP信息包數據域中的"spoofworks"字符串來確認偽造的源地址是奏效的。通過監控這些值,也可以將Stacheldraht檢測出來。

3、Stacheldraht代理並不檢查ICMP回音應答信息包來自哪裏,因此就有可能偽造ICMP信息包將其排除。

4、Stacheldraht代理程序與TFN和trinoo一樣,都可以用一個C程序來探測,它的地址是:http://staff.washington.edu/dittrich/misc/ddos_scan.tar。

五、如何配置路由器、防火牆和入侵檢測係統來抵禦常見DDoS攻擊?

1、抵禦Smurf

·確定你是否成為了攻擊平台:對不是來自於你的內部網絡的信息包進行監控;監控大容量的回音請求和回音應答信息包。

·避免被當做一個攻擊平台:在所有路由器上禁止IP廣播功能;將不是來自於內部網絡的信息包過濾掉。

·減輕攻擊的危害:在邊界路由器對回音應答信息包進行過濾,並丟棄;對於Cisco路由器,使用CAR來規定回音應答信息包可以使用的帶寬最大值。

2、抵禦trinoo

·確定你是否成為攻擊平台:在master程序和代理程序之間的通訊都是使用UDP協議,因此對使用UDP協議(類別17)進行過濾;攻擊者用TCP端口27655與master程序連接,因此對使用TCP(類別6)端口27655連接的流進行過濾;master與代理之間的通訊必須要包含字符串"l44",並被引導到代理的UDP端口27444,因此對與UDP端口27444連接且包含字符串l44的數據流進行過濾。

·避免被用作攻擊平台:將不是來自於你的內部網絡的信息包過濾掉。

·減輕攻擊的危害:從理論上說,可以對有相同源IP地址的、相同目的IP地址的、相同源端口的、不通目的端口的UDP信息包序列進行過濾,並丟棄它們。

3、抵禦TFN和TFN2K

·確定你是否成為攻擊平台:對不是來自於內部網絡的信息包進行監控。

·避免被用作攻擊平台:不允許一切到你的網絡上的ICMP回音和回音應答信息包,當然這會影響所有要使用這些功能的Internet程序;將不是來源於內部網絡的信息包過濾掉。

4、抵禦Stacheldraht

·確定你是否成為攻擊平台:對ID域中包含值666、數據域中包含字符串"skillz"或ID域中包含值667、數據域中包含字符串"ficken"的ICMP回音應答信息包進行過濾;對源地址為"3.3.3.3"的ICMP信息包和ICMP信息包數據域中包含字符串"spoofworks"的數據流進行過濾。

·避免被用作攻擊平台:不允許一切到你的網絡上的ICMP回音和回音應答信息包,當然這會影響所有要使用這些功能的Internet程序;將不是來源於內部網絡的信息包過濾掉;將不是來源於內部網絡的信息包過濾掉。