[摘要] 隨著Internet互聯網絡帶寬的增加和多種DDoS工具的不斷發布,DDoS拒絕服務攻擊的實施越來越容易,DDoS攻擊隨處可見,人們為克服DDoS攻擊進行了大量研究,提出了多種解決方案。本文系統分析了DDoS攻擊的原理和攻擊思路,從管理和技術兩個方面提出一些關于減少DDoS攻擊方法。
[關鍵詞] DDoS拒絕服務 網絡攻擊
隨著Internet互聯網絡帶寬的增加和多種DDoS工具的不斷發布,DDoS拒絕服務攻擊的實施越來越容易,DDoS攻擊事件正在呈上升趨勢。出于商業競爭、打擊報復和網絡敲詐等多種因素,導致很多IDC托管機房、商業站點、游戲服務器、聊天網絡等網絡服務商長期以來一直被DDoS攻擊所困擾,隨之而來的是客戶投訴、同虛擬主機用戶受牽連、法律糾紛、商業損失等一系列問題,因此,解決DDoS攻擊問題成為網絡服務商必須要考慮的頭等大事。
在探討DDoS之前我們首先要對DoS有所了解,DoS即Denial Of Service,拒絕服務的縮寫。DoS是指故意的攻擊網絡協議實現的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源,目的是讓目標計算機或網絡無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰,而在此攻擊中并不包括侵入目標服務器或目標網絡設備。通常而言,DoS的網絡數據包是利用TCP/IP協議在Internet傳輸,這些數據包本身一般是無害的,但是如果數據包異常過多,就會造成網絡設備或者服務器過載,迅速消耗了系統資源,造成服務拒絕,這就是DoS攻擊的基本工作原理。
DoS攻擊之所以難于防護,其關鍵之處就在于非法流量和合法流量相互混雜,防護過程中無法有效的檢測到DoS攻擊。加之許多DoS攻擊都采用了偽造源地址IP的技術,從而成功的躲避了基于統計模式工具的識別。
具體DoS攻擊實現有如下幾種方法:
1.SYN FLOOD
利用服務器的連接緩沖區,設置特殊的TCP包頭,向服務器端不斷地發送大量只有SYN標志的TCP連接請求。當服務器接收的時候,認為是沒有建立起來的連接請求,于是這些請求建立會話,排到緩沖區隊列中。如果發送的SYN請求超過了服務器能容納的限度,緩沖區隊列占滿,那么服務器就不再接收新的請求了,因此其他合法用戶的連接都會被拒絕掉。如下圖所示:
本來正常的TCP連接是需要三次握手協議完成的,攻擊者先向目的主機發出一個SYN請求,由于目的主機不能判斷對方是否惡意,所以會回復一個SYN/ACK,這樣在目的主機就需要維護一個這樣的半連接,等待對方回復ACK后,完成整個連接的建立。攻擊者正是利用了這一點,他只發送大量的SYN報文,并不回復ACK,這樣在目的主機中就維護了大量的半連接隊列,由于主機的資源是有限的,攻擊者通過持續不斷的發送SYN報文,耗盡了目的主機的資源,使得正常的服務連接得不到建立,網絡處于癱瘓狀態。
2.IP欺騙DoS攻擊
這種攻擊利用RST位來實現。假設現在有一個合法用戶(1.1.1.1)已經同服務器建立了正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP為1.1.1.1,并向服務器發送一個帶有RST位的TCP數據段。服務器接收到這樣的數據后,會認為從1.1.1.1發送的連接有錯誤,從而清空緩沖區中建立好的連接。這時,如果合法用戶1.1.1.1再發送合法數據,服務器就已經沒有這樣的連接了,該用戶就必須從新開始建立連接。攻擊者偽造大量的IP地址,向目標主機發送RST數據,從而使服務器不對合法用戶服務。
3.帶寬DoS攻擊(UDP Flood,ICMP Flood)
這類攻擊完全利用連接帶寬足夠大,持續向目標服務器發送大量請求,如UDP的包,ICMP的ping包,來消耗服務器的緩沖區,或者僅消耗服務器的連接帶寬,從而達到網絡擁塞,使服務器不能正常提供服務。
單一的DoS攻擊一般是采用一對一方式的,而“分布式拒絕服務攻擊”(Distributed Denial ofService,簡稱DDoS)是建立在傳統的DoS攻擊基礎之上一類攻擊方式。當計算機與網絡的處理能力加大了,用一臺攻擊機來攻擊不再能起作用的話,攻擊者就使用10臺甚至100臺攻擊機同時攻擊。這就是DDoS。DDoS就是利用更多的傀儡機“肉雞”來同時發起進攻,更大規模的來進攻受害者,破壞力更強。DDoS(分布式拒絕服務)攻擊是利用TCP/IP協議漏洞進行的一種簡單而致命的網絡攻擊,由于TCP/IP協議的這種會話機制漏洞無法修改,因此缺少直接有效的防御手段。大量實例證明利用傳統設備被動防御基本是徒勞的,而且現有防火墻設備還會因為有限的處理能力陷入癱瘓,成為網絡運行瓶頸;另外,攻擊過程中目標主機也必然陷入癱瘓。
現在,高速網絡給大家帶來了方便,但同時也為DDoS攻擊創造了極為有利的條件。在低速網絡時代時,黑客占領攻擊用的傀儡機時,總是會優先考慮離目標網絡距離近的機器,因為經過路由器的跳數少,效果好。而現在電信骨干節點之間的連接都是以G為級別的,大城市之間更可以達到2.5G的連接,這使得攻擊可以從更遠的地方或者其他城市發起,攻擊者的傀儡機位置可以在分布在更大的范圍,選擇起來更靈活了,攻擊也更加隱蔽。
當主機服務器被DDoS攻擊時,通常會有如下現象:
●被攻擊主機上有大量等待的TCP連接
●網絡中充斥著大量的無用的數據包,源地址一般為偽造的
●高流量無用數據造成網絡擁塞,使受害主機無法正常和外界通訊
●反復高速的發出特定的服務請求,使受害主機無法及時處理所有正常請求
●系統服務器CPU利用率極高,處理速度緩慢,甚至宕機
到目前為止,進行DDoS攻擊的防御還是比較困難的,主要是由于這種攻擊的特點是它利用了TCP/IP協議的漏洞,除非你不用TCP/IP,才有可能完全抵御住 DDoS攻擊。不過這不等于我們就沒有辦法阻擋DDoS攻擊,我們可以從管理和技術兩個方面減少DDoS的攻擊:
首先,要加強每個網絡用戶的安全意識,安裝殺毒軟件,安裝軟件或者硬件防火墻,不從不名網站下載軟件,不訪問一些不名網站,不打開不名郵件,盡量避免木馬的種植。
其次,要求國家立法單位,對網絡犯罪進行立法,對傳播病毒,木馬,和進行黑客攻擊的行為進行定性,并有法可依,保障國家信息高速網絡平臺的安全,為國內信息化建設保駕護航。對我們的一些網絡運營平臺用戶,如經營性網站,門戶網站,網上交易平臺,網絡游戲提供商,網吧,VOIP提供商等,也要加強網絡出口的防護,發現和舉證攻擊行為,做好日志記錄,并利用硬件防護設備,最大程度的減少黑客攻擊的危害,保障經營性平臺的正常運行。
在技術的手段上,我們還應加強以下幾點:
(1)確保服務器的系統文件是最新的版本,并及時更新系統補丁。
(2)關閉不必要的服務。
(3)限制同時打開的SYN半連接數目。
(4)縮短SYN半連接的time out 時間。
(5)正確設置防火墻
禁止對主機的非開放服務的訪問,限制特定IP地址的訪問,啟用防火墻的防DDoS的屬性,或者使用專用的抗DDoS設備。嚴格限制對外開放的服務器的向外訪問,運行端口映射程序禍端口掃描程序,要認真檢查特權端口和非特權端口。
(6)認真檢查網絡設備和主機/服務器系統的日志。只要日志出現漏洞或是時間變更,那這臺機器就可能遭到了攻擊。
(7)限制在防火墻外與網絡文件共享。這樣會給黑客截取系統文件的機會,主機的信息暴露給黑客,無疑是給了對方入侵的機會。
(8)路由器,以Cisco路由器為例,Cisco Express Forwarding(CEF),使用unicast reverse-path ,訪問控制列表(ACL)過濾,設置SYN數據包流量速率,升級版本過低的ISO ,為路由器建立log server。我們的運營商有義務在網絡平臺升級和建設的過程中,有效在各個節點抵御黑客惡意攻擊的行為,以凈化我們的網絡。不光僅僅是只加強可以看到效益的終端平臺,如IDC機房的抗DDoS防護,而是應該在網絡的各個節點都加強防護,在接入端進行DDoS防護和源地址檢測,使得黑客的主機或者占領的“肉雞”,無法拉起大量帶寬,有效記錄各種用戶(特別是網吧用戶)的網絡行為,建立電子檔案,以協助公安部門對網絡犯罪進行調查,為指證犯罪提供證據。
對DDoS的原理與應付方法的研究一直在進行中,找到一個既有效又切實可行的方案不是一朝一夕的事情,因此此時要求我們的公安機關,運營商和網絡安全廠商和網絡的用戶,在意識到網絡攻擊問題的嚴重性前提下,多方配合,共同加強網絡平臺安全性的建設性,凈化我們的網絡,不給黑客以生存的攻擊,保障我們十幾年來信息網絡平臺建設的成果,為我國的經濟建設提供堅固安全的網絡信息化平臺。
參考文獻:
[1]賈月琴張寧宋曉虹:對網絡安全技術的討論 [J].微計算機信息.2005,3:108-110
[2]吳虎云超:對DDoS攻擊防范策略的研究及若干實現[J].計算機應用研究,2002,38(11):24-26
[3]趙江巖:DDOS及防御DDOS攻擊[J].《商場現代化》2008年6月(中旬刊)總第542
[4]陳明奇:分布式拒絕服務攻擊處理實侈IJ分析.信息網絡安全,2007.6
[5]喬書建:DDoS攻擊的原理與防范.科教文匯(下旬刊),2007、5
[6]DDOS真是無可防范嗎?http://tech.ddvip.com/2008-09/122103997463194.html