分布式D.O.S攻擊(DDOS)的威脅-入門級介紹
作者:(張海航)
該攻擊方式稱為分布式D.O.S(Distributed Denial Of Service)攻擊,
D.D.o.S攻擊的威脅入門級介紹
。國外一些高性能的商業網絡和教育網絡遭受到了這種攻擊。它利用攻擊者已經侵入并控制的主機(可能是數百臺),對某一單機發起攻擊。在懸殊的帶寬力量對比下,被攻擊的主機會很快失去反應。這種攻擊方式被證實是非常有效的,而且非常難以抵擋。一般的人比較難以順利實現這些攻擊。因為攻擊者必須熟悉一些入侵技巧。出現在一些 網站上的兩個已知工具可以幫助實現這種攻擊。它們是trin00和Tribe Flood Network。源代碼包的安裝使用過程是比較復雜的,因為編譯者首先要找一些internet上有漏洞的主機,通過一些典型而有效的遠程溢出漏洞攻擊程序,獲取其系統控制權,然后在這些機器上裝上并運行分布端的攻擊守護進程,下面簡單地介紹一下trin00的結構:
trin00由三部分組成:
1、客戶端
2、主控端(master)
3、分布端(broadcast)---攻擊守護進程
------------------------------------
1、客戶端可以是telnet之類的常用連接軟件,客戶端的作用是向主控端(master)發送命令。它通過連接master的27665端口,然后向master發送對目標主機的攻擊請求。
2、主控端(master)偵聽兩個端口,其中27655是接收攻擊命令,這個會話是需要密碼的。缺省的密碼是"betaalmostdone"。master啟動的時候還會顯示一個提示符:"??",等待輸入密碼。密碼為 "gOrave",另一個端口是31335,等候分布端的UDP報文。
在7月份的時候這些master的機器是:
129.237.122.40
207.228.116.19
209.74.175.130
3、分布端是執行攻擊的角色。分布端安裝在攻擊者已經控制的機器上,分布端編譯前植入了主控端master的IP地址,分布端與主控端用UDP報文通信,發送到主控端的31355端口,其中包含"*HELLO*"的字節數據。主控端把目標主機的信息通過27444 UDP端口發送給分布端,分布端即發起flood攻擊。
攻擊者-->master-->分布端-->目標主機
通信端口:
攻擊者 to Master(s): 27665/tcp
Master to 分布端: 27444/udp
分布端 to Master(s): 31335/udp
從分布端向受害者目標主機發送的D.O.S都是UDP報文,每一個包含4個空字節,這些報文都從一個端口發出,但隨機地襲擊目標主機上的不同端口。目標主機對每一個報文回復一個ICMP Port Unreachable的信息,大量不同主機發來的這些洪水般的報文源源不斷,目標主機將很快慢下來,直至剩余帶寬變為0。
DDos式攻擊的步驟
透過尋常網路(網絡)連線,使用者傳送訊息要求服務器予以確認。服務器于是將連線許可回傳給使用者。使用者確認后,獲準登入服務器。
但在“拒絕服務”式攻擊的情況下,使用者傳送眾多要求確認的訊息到服務器,使服務器充斥這種垃圾訊息。所有的訊息都附上捏造的地址,以至于服務器設圖回傳確認許可時,無法找到使用者。服務器于是暫時等候,有時超過一分鐘,然后再切斷連線。服務器切斷連線時,駭客再度傳送新一波佯裝成要求確認的訊息,再度啟動上述過程,導致服務器無法動彈,服務無限期停擺。這種攻擊行動使網站服務器充斥大量要求答覆的訊息,導致系統不勝負荷以至于當機。
這種分布式拒絕服務攻擊示意圖如下:
*----------*
| |
| 攻擊者 |
| |
*----------*
|
|
*----------*
| |
| 主控端 |
| |
*----------*
|
(指揮各個分節點進行攻擊)
|
*------------*------*------*------------*
| | | |
| | | |
v v v v
*----------* *----------* *----------* *----------*
| | | | | | | |
| 代理端 | | 代理端 | | 代理端 | | 代理端 |
| | | | | | | |
*----------* *----------* *----------* *----------*
/ /
/ /
/ /
(大量的垃圾數據包進行攻擊)
/ /
/ /
/ /
V V V V
*-----------------------*
| |
| 被攻擊服務器 |
| |
*-----------------------*
根據網絡通訊異常現象監測分布式拒絕服務攻擊
許多人或工具在監測分布式拒絕服務攻擊時常犯的錯誤是只搜索那些DDoS工具的缺省特征字符串、缺省端口、缺省口令等,
電腦資料
《D.D.o.S攻擊的威脅入門級介紹》(http://salifelink.com)。要建立網絡入侵監測系統(NIDS)對這些工具的監測規則,必須著重觀察分析DDoS網絡通訊的普遍特征,不管是明顯的,還是模糊的。DDoS工具產生的網絡通訊信息有兩種:控制信息通訊(在DDoS客戶端與服務器端之間)和攻擊時的網絡通訊(在DDoS服務器端與目標主機之間)。
根據以下異常現象在網絡入侵監測系統建立相應規則,能夠較準確地監測出DDoS攻擊。
異常現象0:雖然這不是真正的"DDoS"通訊,但卻能夠用來確定DDoS攻擊的來源。根據分析,攻擊者在進行DDoS攻擊前總要解析目標的主機名。BIND域名服務器能夠記錄這些請求。由于每臺攻擊服務器在進行一個攻擊前會發出PTR反向查詢請求,也就是說在DDoS攻擊前域名服務器會接收到大量的反向解析目標IP主機名的PTR查詢請求。
異常現象1:當DDoS攻擊一個站點時,會出現明顯超出該網絡正常工作時的極限通訊流量的現象。現在的技術能夠分別對不同的源地址計算出對應的極限值。當明顯超出此極限值時就表明存在DDoS攻擊的通訊。因此可以在主干路由器端建立ACL訪問控制規則以監測和過濾這些通訊。
異常現象2:特大型的ICP和UDP數據包。正常的UDP會話一般都使用小的UDP包,通常有效數據內容不超過10字節。正常的ICMP消息也不會超過64到128字節。那些尺寸明顯大得多的數據包很有可能就是控制信息通訊用的,主要含有加密后的目標地址和一些命令選項。一旦捕獲到(沒有經過偽造的)控制信息通訊,DDoS服務器的位置就暴露出來了,因為控制信息通訊數據包的目標地址是沒有偽造的。
異常現象3:不屬于正常連接通訊的TCP和UDP數據包。最隱蔽的DDoS工具隨機使用多種通訊協議(包括基于連接的協議)通過基于無連接通道發送數據。優秀的防火墻和路由規則能夠發現這些數據包。另外,那些連接到高于1024而且不屬于常用網絡服務的目標端口的數據包也是非常值得懷疑的。
異常現象4:數據段內容只包含文字和數字字符(例如,沒有空格、標點和控制字符)的數據包。這往往是數據經過BASE64編碼后而只會含有base64字符集字符的特征。TFN2K發送的控制信息數據包就是這種類型的數據包。TFN2K(及其變種)的特征模式是在數據段中有一串A字符(AAA……),這是經過調整數據段大小和加密算法后的結果。如果沒有使用BASE64編碼,對于使用了加密算法數據包,這個連續的字符就是“”。
異常現象5:數據段內容只包含二進制和high-bit字符的數據包。雖然此時可能在傳輸二進制文件,但如果這些數據包不屬于正常有效的通訊時,可以懷疑正在傳輸的是沒有被BASE64編碼但經過加密的控制信息通訊數據包。(如果實施這種規則,必須將20、21、80等端口上的傳輸排除在外。)