https://ad.doubleclick.net/ddm/trackclk/N1114924.376585INFORMATIONSECURI/B26202047.309881952;dc_trk_aid=502706469;dc_trk_cid=155369661;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;ltd=
https://ad.doubleclick.net/ddm/trackclk/N1114924.376585INFORMATIONSECURI/B26202047.309881952;dc_trk_aid=502706469;dc_trk_cid=155369661;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;ltd=

觀點

DDoS攻擊的趨勢與防禦策略

2005 / 02 / 02
文/高振元、陳嘉玫、陳年興、鄭進興
DDoS攻擊的趨勢與防禦策略

阻斷服務(Denial of Service,DoS)是什麼?
DoS泛指駭客試圖妨礙正常使用者使用網路上的服務,例如剪斷大樓的電話線路。而以網路來說,由於頻寬、網路設備和伺服器主機等處理的能力都有其限制,因此當駭客以產生過量的網路封包而使得設備處理不及,就有可能達到其目的,讓正常的使用者難以使用該服務。例如,若有駭客試圖用大量封包攻擊一般頻寬相對小得多的撥接或ADSL使用者,被攻擊的使用者就會發現他要連的網站連不上,或是反應十分緩慢。 DoS攻擊並不是入侵主機也不能竊取機器上的資料,但是一樣會造成目標的傷害,例如如果攻擊目標是個電子商務網站就會造成顧客無法到該網站購物。

分散式阻斷服務(Distributed Denial of Service,DDoS)是什麼?
DDoS則是DoS的特例,駭客利用多台機器同時攻擊,來達到妨礙正常使用者使用服務的目的。駭客預先入侵大量主機以後,在被害主機上安裝DDoS攻擊程式,控制被害主機對目標展開攻擊。有些DDoS工具採用多層次的架構,甚至可以一次控制對高達上千台電腦展開攻擊!利用這樣的方式可以有效產生極大的網路流量以癱瘓駭客攻擊的目標。早在2000年就發生過針對Yahoo、eBay、Buy.com 和CNN等知名網站的DDoS攻擊,阻止了合法的網路流量長達數個小時。

手動、半自動、自動攻擊
DDoS攻擊程式的分類,可以依照幾種方式分類,若以自動化與否來分類的話,可以分成手動、半自動、自動攻擊等。比較早期的DDoS攻擊程式多半屬於手動攻擊,駭客人工尋找可供入侵的電腦,入侵後並植入攻擊程式,再下指令攻擊目標;半自動的攻擊程式則多半具有handler用來控制和攻擊用的agent程式,駭客散佈自動化的入侵工具植入agent程式,然後使用handler控制所有agents對目標發動DDoS攻擊;自動攻擊更進一步自動化整個攻擊程序,將攻擊的目標、時間和方式都事先寫在攻擊程式裡,駭客散佈攻擊程式以後就會自動掃描可入侵的主機,然後植入agent並在預定的時間對指定目標發起攻擊,例如近期的W32/Blaster網蟲即屬於此類。

協定攻擊和暴力攻擊
若以攻擊的弱點分類則可以分為協定攻擊和暴力攻擊兩種。協定攻擊是指駭客針對某個網路協定設計上的弱點或實作上的bug設計,藉以消耗大量資源,例如TCP SYN攻擊、對認證伺服器的攻擊等;暴力攻擊則是駭客直接暴力使用大量正常的連線消耗被害目標的資源,由於駭客會準備多台主機發起DDoS攻擊,只要攻擊方頻寬和設備能力發出的網路流量高於目標所能處理速度,就能夠消耗掉目標的處理能力,而使正常的使用者無法使用服務。

持續攻擊和變動頻率攻擊
若以攻擊頻率區分則可分成持續攻擊和變動頻率攻擊兩種。持續攻擊是當攻擊指令下達以後,攻擊主機就全力持續攻擊,因此會瞬間產生大量流量阻斷目標的服務,也因此很容易被偵測;變動頻率攻擊則較為謹慎,攻擊的頻率可能從慢速漸漸增加或頻率高低變化,利用這樣的方式延緩攻擊被偵測到的時間。

從DDoS攻擊下存活
那麼當遭受DDoS攻擊的時候,要如何設法存活、繼續提供正常服務呢?由先前的介紹可以知道,若駭客事先入侵準備的設備規模遠高於你網路頻寬、設備或主機所能處理的能力,那麼其實是很難以抵抗攻擊的,但仍然有一些方法可以減輕攻擊所造成的影響。 首先是調查攻擊來源,由於駭客經由入侵機器進行攻擊,因此你可能無法查出駭客是由哪裡發動攻擊,我們必須一步一步從被攻擊目標往回推,先調查攻擊是由你管理網路的哪些邊界路由器進來,上一步是外界哪台路由器,連絡這些路由器的管理者(可能是某個ISP或電信公司),並尋求他們協助阻擋或查出攻擊來源,而在他們處理之前你還能做什麼呢? 如果被攻擊的目標只是單一IP,那麼試圖改個IP並更改其DNS對應,或許可以簡單避開攻擊,這不是優雅的解法,但是快速而有效;但是你也必須體認到,攻擊的目的就是要使正常使用者無法使用服務,更改IP的方式雖然避開攻擊,以另一角度來看駭客也達到了他的目的。 此外,如果攻擊的手法較為單調,可以由產生的流量找出其規則,那麼利用路由器的ACLs(Access Control Lists)或防火牆規則也許可以阻擋,若可以發現流量都是來自同一來源或核心路由器,可以考慮暫時將那邊的流量擋起來,當然還是有可能將正常和異常的流量都一併擋掉,但至少其他來源可以得到正常的服務,這有時是不得已的犧牲。 如果行有餘力,則可以考慮增加機器或頻寬,做為被攻擊的緩衝之用,但這只是治標不治本的做法。最重要的是必須立即反應、著手調查,並和網路的上游單位協調解決。否則接下來,就會是一群透過電話、E-mail、傳真等來詢問和抱怨的顧客、供應商等等。

預防DDoS攻擊
DDoS必須透過網路上各個團體和個人的共同合作,共同制定更嚴格的網路標準來解決。每台網路設備或主機都需要隨時更新其系統漏洞、關閉不需要的服務、安裝必要的防毒和防火牆軟體、隨時注意系統安全,避免被駭客和自動化的DDoS程式植入攻擊程式,以免成為駭客發起攻擊的幫兇。 有些DDoS會偽裝自己的攻擊來源,假造封包的來源IP,使人難以追查,這個部份可以透過設定路由器的過濾功能來防止,只要網域內的封包來源是其網域以外的IP,就應該直接丟棄此封包而不應該再送出去,如果網管設備都支援這項功能,網管人員都能夠正確設定過濾掉假造的封包,就能防止假造的封包漏出其網域而影響別人,也可以大量減少調查和追蹤的時間。 網域之間保持聯絡是很重要的,如此才能早期預警和防治DDoS攻擊,有些ISP會在一些網路節點上放置感應器,偵測突然的巨大流量,以提早警告和隔絕DDoS的受害區域,降低顧客的受害程度。

結論
DDoS是一種攻擊容易、防禦困難的攻擊手法,容易造成嚴重的問題,需要大家共同的合作和制定更嚴格的網路標準來預防,最好是能夠事先模擬並準備好遭遇DDoS的應變方案,以及過濾網域封包,以防止管理網路內的機器成為駭客攻擊的幫兇。

(本文作者群現任職於台灣電腦網路危機處理暨協調中心(TWCERT/CC))