2000年年初的Yahoo!等大型網(wǎng)站被攻擊,以及幾個月前,美國的CA根服務器遭受攻擊,都是拒絕服務攻擊(DoS)惹的禍,因此,可以毫不夸張地說,目前DoS已然是網(wǎng)絡安全中的一個引人關注的老大難問題。DoS為什么有這么大的“能量”呢?
拒絕服務攻擊分兩種
拒絕服務攻擊,通常是以消耗服務器端資源為目標,通過偽造超過服務器處理能力的請求數(shù)據(jù)造成服務器響應阻塞,使正常的用戶請求得不到應答,以實現(xiàn)攻擊目的。由于DoS攻擊工具的泛濫,及所針對的協(xié)議層的缺陷短時無法改變的事實,DoS也就成為了流傳最廣、最難防范的攻擊方式。
拒絕服務攻擊的兩種方式
拒絕服務攻擊根據(jù)其攻擊的手法和目的不同,有兩種不同的存在形式:一種是以消耗目標主機的可用資源為目的,使目標服務器忙于應付大量的非法的,無用的連接請求,占用了服務器所有的資源,造成服務器對正常的請求無法再做出及時響應,從而形成事實上的服務中斷。這也是最常見的拒絕服務攻擊形式。這種攻擊主要利用的是網(wǎng)絡協(xié)議或者是系統(tǒng)的一些特點和漏洞進行攻擊,主要的攻擊方法有Land、Teardrop、SYN Flood、UDP Flood、ICMP Flood、Smurf等等,針對這些漏洞的攻擊,目前在網(wǎng)絡中都有大量成熟的現(xiàn)成工具可以利用,比較常見和有效的有Trinoo、TFN、Stacheldraht、TFN2K等;另一種拒絕服務攻擊是以消耗服務器連路的有效帶寬為目的,比如服務器的出口為2M的帶寬線路,攻擊者通過發(fā)送大量的有用或無用數(shù)據(jù)包,將整條鏈路帶寬全部占用,從而使合法用戶請求無法通過鏈路到達服務器,服務器對部分合法請求的回應也無法返回用戶,造成服務中斷。對于這種攻擊,可以說非常難以區(qū)分和防范,它本來就是利用網(wǎng)絡發(fā)展過程中不可避免的資源緊缺造成的矛盾進行攻擊,大量的合法請求只要涌向一個資源有限的網(wǎng)絡系統(tǒng),就可能造成服務故障,很難說這樣的行為是攻擊行為還是正常的訪問,在去年那場有名的中美黑客大戰(zhàn)中,就有人號召國人集中力量共同點擊訪問美國白宮的網(wǎng)站,生成大量的流量,從而造成對白宮網(wǎng)站的拒絕服務攻擊的事實。當然從現(xiàn)實來說,這是不合實際和難以奏效的,但是從占用網(wǎng)絡資源實現(xiàn)攻擊目的的手段來說,它又的確是符合這種攻擊的原理和特點的。從這種方式可以看出,對于這種攻擊,無論從技術和法律上都難以防范和追查。
DoS攻擊不同應對措施不同
鑒于DoS攻擊主要利用協(xié)議特征和漏洞進行攻擊,我們在防御DoS攻擊時也要與之對應,分別提出相應的解決方案。目前主要的防DoS攻擊的技術手段有:
Syn-Cookie(主機)/Syn-Gate(網(wǎng)關)
在服務器和外部網(wǎng)絡之間部署代理服務器(在大多數(shù)號稱具有防Syn Flood攻擊的防火墻所采用的方式),通過代理服務器發(fā)送Syn/Ack報文,在收到客戶端的Syn包后,防火墻代替服務器向客戶端發(fā)送Syn/Ack包,如果客戶端在一段時間內沒有應答或中間的網(wǎng)絡設備發(fā)回了ICMP錯誤消息,防火墻則丟棄此狀態(tài)信息;如果客戶端的Ack到達,防火墻代替客戶端向服務器發(fā)送Syn包,并完成后續(xù)的握手最終建立客戶端到服務器的連接。通過這種Syn-Cookie技術,保證每個Syn包源的真實有效性,確保服務器不被虛假請求浪費資源,從而徹底防范對服務器的Syn-Flood攻擊。
Random Drop算法
它是當流量達到一定的數(shù)量限度時,所采取的一種通過降低性能,保證服務的不得已的方法,其過程是這樣的:當流量達到一定的閥值的時候,開始按照一定的算法丟棄后續(xù)的報文,保持主機的處理能力,這樣對于用戶而言,許多合法的請求可能被主機隨機丟棄,但是有部分請求還是可以得到服務器響應,保證服務不間斷運行的?! ?
帶寬限制和QoS保證
通過對報文種類、來源等各種特性設置閥值參數(shù),保證主要服務穩(wěn)定可靠的資源供給。
負載均衡
這種方法不能說是專門用來解決DoS問題的,但是它在應對拒絕服務攻擊方面也起到了重大的作用?! ?
專業(yè)防御DoS攻擊產(chǎn)品還不多
當前,各個廠商對于DoS攻擊提出的解決方法,主要是針對以耗盡系統(tǒng)資源為目的的某些攻擊進行的防御,利用以上提出方法或選擇其中的一種或幾種應用在網(wǎng)關產(chǎn)品中,最主要的就是在防火墻中對Syn Flood、UDP Flood等攻擊進行防御,目前專門防御DoS攻擊的產(chǎn)品,國內的有綠盟科技推出的“黑洞Collapsar”。據(jù)了解,黑洞的防護原理主要是使用多種算法識別攻擊流量和正常流量,能保證在高強度攻擊環(huán)境下95%以上的連接保持率和新連接發(fā)起成功率。目前,該產(chǎn)品能夠對SYN、ACK、UDP、ICMP和MStream等多種常見的FloodDoS攻擊進行防護,同時可以防止連接耗盡,對典型的資源比拼型攻擊也具有良好的防護能力。在國外,例如Toplayer和Radware等公司也有類似產(chǎn)品,其防御原理基本相同。