縱觀網絡安全攻擊的各種方式方法,其中DDoS類的攻擊會給你的網絡系統造成更大的危害。因此,了解DDoS,了解它的工作原理及防范措施,是一個計算機網絡安全技術人員應必修的內容之一。
一、DDoS的概念
要想理解DDoS的概念,我們就必須先介紹一下DoS(拒絕服務),DoS的英文全稱是Denial of Service,也就是“拒絕服務”的意思。從網絡攻擊的各種方法和所產生的破壞情況來看,DoS算是一種很簡單但又很有效的進攻方式。它的目的就是拒絕你的服務訪問,破壞組織的正常運行,最終它會使你的部分Internet連接和網絡系統失效。DoS的攻擊方式有很多種,最基本的DoS攻擊就是利用合理的服務請求來占用過多的服務資源,從而使合法用戶無法得到服務。DoS攻擊的原理如圖1所示。
我們可以看出DoS攻擊的基本過程:首先攻擊者向服務器發送眾多的帶有虛假地址的請求,服務器發送回復信息后等待回傳信息,由于地址是偽造的,所以服務器一直等不到回傳的消息,分配給這次請求的資源就始終沒有被釋放。當服務器等待一定的時間后,連接會因超時而被切斷,攻擊者會再度傳送新的一批請求,在這種反復發送偽地址請求的情況下,服務器資源最終會被耗盡。
DDoS(分布式拒絕服務),它的英文全稱為Distributed Denial of Service,它是一種基于DoS的特殊形式的拒絕服務攻擊,是一種分布、協作的大規模攻擊方式,主要瞄準比較大的站點,象商業公司,搜索引擎和政府部門的站點。從圖1我們可以看出DoS攻擊只要一臺單機和一個modem就可實現,與之不同的是DDoS攻擊是利用一批受控制的機器向一臺機器發起攻擊,這樣來勢迅猛的攻擊令人難以防備,因此具有較大的破壞性。
DDoS攻擊分為3層:攻擊者、主控端、代理端,三者在攻擊中扮演著不同的角色。
1、攻擊者:攻擊者所用的計算機是攻擊主控臺,可以是網絡上的任何一臺主機,甚至可以是一個活動的便攜機。攻擊者操縱整個攻擊過程,它向主控端發送攻擊命令。
2、主控端:主控端是攻擊者非法侵入并控制的一些主機,這些主機還分別控制大量的代理主機。主控端主機的上面安裝了特定的程序,因此它們可以接受攻擊者發來的特殊指令,并且可以把這些命令發送到代理主機上。
3、代理端:代理端同樣也是攻擊者侵入并控制的一批主機,它們上面運行攻擊器程序,接受和運行主控端發來的命令。代理端主機是攻擊的執行者,真正向受害者主機發送攻擊。 攻擊者發起DDoS攻擊的第一步,就是尋找在Internet上有漏洞的主機,進入系統后在其上面安裝后門程序,攻擊者入侵的主機越多,他的攻擊隊伍就越壯大。第二步在入侵主機上安裝攻擊程序,其中一部分主機充當攻擊的主控端,一部分主機充當攻擊的代理端。最后各部分主機各司其職,在攻擊者的調遣下對攻擊對象發起攻擊。由于攻擊者在幕后操縱,所以在攻擊時不會受到監控系統的跟蹤,身份不容易被發現。
二、DDoS攻擊使用的常用工具
DDoS攻擊實施起來有一定的難度,它要求攻擊者必須具備入侵他人計算機的能力。但是很不幸的是一些傻瓜式的黑客程序的出現,這些程序可以在幾秒鐘內完成入侵和攻擊程序的安裝,使發動DDoS攻擊變成一件輕而易舉的事情。下面我們來分析一下這些常用的黑客程序。
1、Trinoo
Trinoo的攻擊方法是向被攻擊目標主機的隨機端口發出全零的4字節UDP包,在處理這些超出其處理能力的垃圾數據包的過程中,被攻擊主機的網絡性能不斷下降,直到不能提供正常服務,乃至崩潰。它對IP地址不做假,采用的通訊端口是:
攻擊者主機到主控端主機:27665/TCP
主控端主機到代理端主機:27444/UDP
代理端主機到主服務器主機:31335/UDP
2、TFN
TFN由主控端程序和代理端程序兩部分組成,它主要采取的攻擊方法為:SYN風暴、Ping風暴、UDP炸彈和SMURF,具有偽造數據包的能力。
3、TFN2K
TFN2K是由TFN發展而來的,在TFN所具有的特性上,TFN2K又新增一些特性,它的主控端和代理端的網絡通訊是經過加密的,中間還可能混雜了許多虛假數據包,而TFN對ICMP的通訊沒有加密。攻擊方法增加了Mix和Targa3。并且TFN2K可配置的代理端進程端口。
4、Stacheldraht
Stacheldraht也是從TFN派生出來的,因此它具有TFN的特性。此外它增加了主控端與代理端的加密通訊能力,它對命令源作假,可以防范一些路由器的RFC2267過濾。Stacheldrah中有一個內嵌的代理升級模塊,可以自動下載并安裝最新的代理程序。
三、DDoS的監測
現在網上采用DDoS方式進行攻擊的攻擊者日益增多,我們只有及早發現自己受到攻擊才能避免遭受慘重的損失。
檢測DDoS攻擊的主要方法有以下幾種:
1、根據異常情況分析
當網絡的通訊量突然急劇增長,超過平常的極限值時,你可一定要提高警惕,檢測此時的通訊;當網站的某一特定服務總是失敗時,你也要多加注意;當發現有特大型的ICP和UDP數據包通過或數據包內容可疑時都要留神??傊?,當你的機器出現異常情況時,你最好分析這些情況,防患于未然。
2、使用DDoS檢測工具
當攻擊者想使其攻擊陰謀得逞時,他首先要掃描系統漏洞,目前市面上的一些網絡入侵檢測系統,可以杜絕攻擊者的掃描行為。另外,一些掃描器工具可以發現攻擊者植入系統的代理程序,并可以把它從系統中刪除。
四、DDoS攻擊的防御策略
由于DDoS攻擊具有隱蔽性,因此到目前為止我們還沒有發現對DDoS攻擊行之有效的解決方法。所以我們要加強安全防范意識,提高網絡系統的安全性??刹扇〉陌踩烙胧┯幸韵聨追N: 1、及早發現系統存在的攻擊漏洞,及時安裝系統補丁程序。對一些重要的信息(例如系統配置信息)建立和完善備份機制。對一些特權帳號(例如管理員帳號)的密碼設置要謹慎。通過這樣一系列的舉措可以把攻擊者的可乘之機降低到最小。
2、在網絡管理方面,要經常檢查系統的物理環境,禁止那些不必要的網絡服務。建立邊界安全界限,確保輸出的包受到正確限制。經常檢測系統配置信息,并注意查看每天的安全日志。
3、利用網絡安全設備(例如:防火墻)來加固網絡的安全性,配置好它們的安全規則,過濾掉所有的可能的偽造數據包。
4、比較好的防御措施就是和你的網絡服務提供商協調工作,讓他們幫助你實現路由的訪問控制和對帶寬總量的限制。
5、當你發現自己正在遭受DDoS攻擊時,你應當啟動您的應付策略,盡可能快的追蹤攻擊包,并且要及時聯系ISP和有關應急組織,分析受影響的系統,確定涉及的其他節點,從而阻擋從已知攻擊節點的流量。
6、當你是潛在的DDoS攻擊受害者,你發現你的計算機被攻擊者用做主控端和代理端時,你不能因為你的系統暫時沒有受到損害而掉以輕心,攻擊者已發現你系統的漏洞,這對你的系統是一個很大的威脅。所以一旦發現系統中存在DDoS攻擊的工具軟件要及時把它清除,以免留下后患。