一、阻斷服務(Denial of Service)
在探討 DDoS 之前我們需要先對 DoS 有所了解,DoS泛指黑客試圖妨礙正常使用者使用網絡上的服務,例如剪斷大樓的電話線路造成用戶無法通話。而以網絡來說,由於頻寬、網絡設備和服務器主機等處理的能力都有其限制,因此當黑客產生過量的網絡封包使得設備處理不及,即可讓正常的使用者無法正常使用該服務。例如黑客試圖用大量封包攻擊一般頻寬相對小得多的撥接或 ADSL 使用者,則受害者就會發現他要連的網站連不上或是反應十分緩慢。
DoS 攻擊並非入侵主機也不能竊取機器上的資料,但是一樣會造成攻擊目標的傷害,如果攻擊目標是個電子商務網站就會造成顧客無法到該網站購物。
二、分布式阻斷服務(Distributed Denial of Service)
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 mapping 或許可以避開攻擊,這是最快速而有效的方式;但是攻擊的目的就是要使正常使用者無法使用服務,更改ip的方式雖然避開攻擊,以另一角度來看黑客也達到了他的目的。此外,如果攻擊的手法較為單純,可以由產生的流量找出其規則,那麼利用路由器的 ACLs(Access Control Lists)或防火牆規則也許可以阻擋,若可以發現流量都是來自同一來源或核心路由器,可以考慮暫時將那邊的流量擋起來,當然這還是有可能將正常和異常的流量都一並擋掉,但至少其它來源可以得到正常的服務,這有時是不得已的犧牲。如果行有余力,則可以考慮增加機器或頻寬作為被攻擊的緩沖之用,但這只是治標不治本的做法。最重要的是必須立即著手調查並與相關單位協調解決。
四、預防DDoS攻擊
DDoS 必須透過網絡上各個團體和使用者的共同合作,制定更嚴格的網絡標准來解決。每台網絡設備或主機都需要隨時更新其系統漏洞、關閉不需要的服務、安裝必要的防毒和防火牆軟件、隨時注意系統安全,避免被黑客和自動化的 DDoS 程序植入攻擊程序,以免成為黑客攻擊的幫凶。
有些 DDoS 會偽裝攻擊來源,假造封包的來源 ip,使人難以追查,這個部份可以透過設定路由器的過濾功能來防止,只要網域內的封包來源是其網域以外的 ip,就應該直接丟棄此封包而不應該再送出去,如果網管設備都支持這項功能,網管人員都能夠正確設定過濾掉假造的封包,也可以大量減少調查和追蹤的時間。
網域之間保持聯絡是很重要的,如此才能有效早期預警和防治 DDoS 攻擊,有些 ISP會在一些網絡節點上放置感應器偵測突然的巨大流量,以提早警告和隔絕 DDoS 的受害區域,降低顧客的受害程度。