無論是否曾經身受其害,DDoS(Distributed Denial of Service,分散式阻斷服務)這種攻擊手法,網管人員多少都曾耳聞,「某某網站遭到大規模DDoS攻擊」的新聞也屢見不鮮。不久前,巴哈姆特電玩資訊網站發生被大陸駭客攻擊的事件,據傳對方只是為了要在該站上放置廣告而發動攻擊,結果就造成巴哈姆特網站的部份功能連續好幾天完全無法使用。
DDoS攻擊的痛處,就在被攻擊的當下能即刻完全擋住攻擊的機會幾乎是零,換言之,要不就等攻擊主動停止,要不就只好拔掉網路線(但是這樣對外部服務對象來說,其實也形同被「打掛」了)。曾遭受DDoS攻擊的網站或伺服器管理員,往往覺得納悶,為何花費數十萬元所採購的防火牆及UTM等設備,竟然完全沒有保護力。一旦遭遇DDoD攻擊,面對網站或伺服器無法連線而造成大量的經濟損失,網管人員除了驚慌以外,其實仍可以設法採取反制或禦防措施。
DDoS攻擊原理
DDoS攻擊最初是由DoS(Denial of Service)的擴大性攻擊所演變而來的。DoS的攻擊原理,就是使網路服務提供者的某種或全部服務完全癱瘓!關於這個攻擊原理,其實可用一個生活上的例子來進行說明。這個例子是關於一個恐怖的「詐騙集團」作案手法,並應用了DoS攻擊的一個原理。
首先,詐騙集團會致電給孩子的父母謊稱他們的小孩已被綁架並且要求贖金,為了防止父母有可能打電話給小孩的手機以確認是否真有其事,詐騙集團會先瘋狂轟炸小孩的手機(也就是發動DoS攻擊),讓小孩的手機一直處於忙線的狀態或被煩到關機(DoS攻擊的目的),以致父母打電話給孩子時,不是一直打不通就是說已經關機。如此一來,小孩的父母因為無法驗證(達到DoS攻擊的目的,有正常或真實應用需求時卻無法使用),所以很容易就會上當受騙。
不過,現今網路上單純的DoS攻擊已不常出現,原因在於單純的DoS已起不了什麼作用。這就好像人的雙手能獨自辦到的事情非常有限,而一台電腦能發出或造成的攻擊程度也很有限的道理是一樣的。在DoS攻擊剛出現的年代,駭客大都以強大的電腦去攻擊普通等級的電腦,這樣就算是一對一對打也可以發揮不錯的效果。
但隨著電腦科技發展一日千里,不到一萬元的桌上型電腦已具有不錯的運算能力,因此,一對一的DoS攻擊型態已慢慢淡出,取而代之的是新型分散式DoS攻擊,其原理就是一次尋找幾百台、幾千台或幾萬台電腦,同時對受害者的伺服器或電腦發動聯合大攻擊,這樣就算是再強勁的伺服器或設備,面對如此規模的攻擊,仍然毫無招架之力。
不知不覺成了「共犯」
許多電腦使用者被問到或告知其電腦成為某次DDoS攻擊之「共犯」時,第一個念頭就是反問「怎麼可能」!
不過事實是,在現今網路的多元化應用下,駭客可以很輕易地間接入侵大量電腦而使其在不知不覺中變成了某次DDoS攻擊的「共犯」而不自知。
|
▲DoS與DDoS攻擊原理示意圖 |
根據最近「國外資安軟體公司Websense去年下半年調查前一百大網站發現,77%合法網站含有惡意程式」的新聞報導中,(參考網址「http://tw.news.yahoo.com/article/url/d/a/090423/78/1iawz.html」),現今駭客的攻擊模式,大都是挑選一些有資安漏洞的大型網站來入侵,植入暗藏的惡意程式而不被網管人員發現。
換句話說,任何人只要上網瀏覽網頁,就很有機會在不知不覺中下載一些「惡意程式」,例如一些「病毒害蟲類」的惡意程式,會對電腦上的資料進行偷竊或破壞,幸而這部份的「惡意程式」大都可以被防毒軟體偵測到。
另外一部份的惡意程式則可能是「後門開洞側錄類」。執行後先在電腦中開出一道「後門」供駭客作後續的入侵來控制電腦,或直接側錄鍵盤資料,打開網路攝影機以及監視螢幕畫面等,這類惡意程式就有機會不被防毒軟體所發現。
也有些「惡意程式」在偷偷植入電腦後,會暫時性的甚麼事都不做,慢慢的潛伏等待著駭客的攻擊指令,這時候該台電腦已變成駭客「殭屍大軍」中的一員。不過接下來可能會被攻擊的目標卻不是這台電腦,而是某個網路上的大型網站。當駭客的「殭屍大軍」已經經營到一定的規模或時機成熟時,就可能會發動大規模的DDoS攻擊,而因為上網而被偷偷植入惡意程式的電腦,就在使用者不知不覺的當下,變成了那一波攻擊中的「幫凶」。
DDoS攻擊可怕之處
其實,早在2000年左右就發生過針對Yahoo、eBay、Buy.com和CNN等知名大型網站的DDoS攻擊。DDoS攻擊的可怕之處,並非是因為有相當多的人在不明不白下變成「共犯」,而是網路管理者根本無法分辦哪一筆連線是真正的使用者在進行連線,又哪一筆的連線其實是駭客的攻擊行為,這才是網管人員真正的惡夢!遇到這樣的狀況,網路人員可能只剩二種選擇,若不是選擇繼續被「打」,就是選擇直接切斷所有連線。
難道,駭客所發動的DDoS攻擊,真的如此厲害到讓網管人員完全投降嗎?其實,駭客本人(攻擊者)充其量也只是下了一個攻擊指令去操控「殭屍大軍」來進行攻擊,不過可怕之處就在攻擊的型態並不算是真正的「攻擊」,嚴格來說,以單一台殭屍電腦所發動的所謂「攻擊」來看,那也只不過是正常的網路連線要求而非攻擊。
DDoS攻擊取巧的地方就是,當成千上萬個正常連線要求(可能均來自不同的IP),因為不正常的理由而同時連到單一點,也就是受害者的伺服器或網站,這種異常規模的正常連線就成了不折不扣的DDoS攻擊。由於伺服器本身或網站當初的設計,一般均欠缺對突發性的大規模連線作準備,所以通常不是伺服器就是更前端的網路設備CPU「爆掉」,最後活活的被「操死」(當掉或重開)。
最重要的是,被攻擊的過程中,網路服務提供者所提供的服務將完全無法使用,所有真正的正常連線(來自真正的使用者),不是慢到無法使用,就是伺服器本身根本沒有回應。
UTM、防火牆失效?!
如果對類似DoS的攻擊進行細分,將會發現DoS家族的攻擊型態有很多不同的類別,如一般的DoS攻擊均為OSI(Open Systems Interconnection Reference Model)中的第2層(資料連接層)到第4層(傳送層)的攻擊。其攻擊型態大都為大量產生非法或不完整的連線要求,但此類攻擊對今日之防火牆來說,可以輕而易舉地將之擋掉。
絕大部份的DDoS攻擊多半屬於OSI中第7層(應用層)的攻擊,例如上網瀏覽網頁、收發E-mail等都是OSI中第7層的連線應用,換句話說,就是每一筆DDoS攻擊連線均有按照標準的第7層連線要求,對防火牆,路由器或伺服器本身來說,均會被視為合法連線。因而造成一般的防火牆或入侵偵測等網路設備完全無法阻止DDoS攻擊,原因就在於這些網路設備無法分辦攻擊者與非攻擊者,所有連線均為合法連線。
以一個實際的例子補充說明。從前每當遇到非常重大的新聞消息時,想要馬上連線到Yahoo瀏覽新聞都會非常困難,慢到根本沒反應。其實,這樣的一種情況,就是達到所謂「非蓄意性攻擊」的DDoS攻擊效果。
當同一時間內,所有在上網的使用者均連上同一個網站,瀏覽同一則新聞時,機房端的伺服器就會頓時湧入非常多的連線(注意這些連線都是合法的)而造成了負載過重的現象,進而出現了類似被DDoS攻擊的效果,導致想看新聞的人進不去Yahoo的網站瀏覽。
這樣的一個例子完全說明DDoS攻擊為何會難以被分辨及防禦,因為攻擊的本身不在於網路封包異常或網路行為異常,只在於如此的一波大規模連線,並非由某人(駭客)蓄意造成,而是自然產生。所以,對目前的網路設備來說,根本就無從判斷,只好對所有的連線均照單全收,結果就是設備本身「累死」而停上服務。
讓攻擊者無攻而返
雖然,面對DDoS攻擊,網路管理員要完全終結DDoS攻擊的可能性不大,看似相當無力,但其實網路管理者或多或少還是可以從「連線數」這方面下手去對網路設備或伺服器進行調整。
合理的IP數量是可以觀察的指標。首先DDoS攻擊來源一定不是來自單一IP,因為來自單一IP就是純DoS攻擊而非分散式的DoS攻擊了。
既然是分散式攻擊,那攻擊來源一定是來自非常多的不同IP,按照常理來說,正常單一IP對伺服器的連線數量,都會落在有一個合理的範圍內(視所提供的網路服務不同而異),而DDoS攻擊者,有可能因為沒有足夠數量的「殭屍大軍」發動攻擊而只好對手上有限的「殭屍大軍」多加利用,增加每台「殭屍電腦」所產生的連線數。
例如每一台「殭屍電腦」對某某網站發動100條以上的同時連線,雖然這樣的攻擊連線總量與一般的DDoS攻擊同樣驚人,但是卻提供了一個可行的反制辦法,雖不能完全阻止攻擊,但多少可以將攻擊的量縮小。
這個方法就是在未被攻擊時預先設定一個合理的單一IP同時連線數,在遇到攻擊的情況下再大量降低這個值,這樣只要網站的頻寬足夠,防火牆或伺服器有達到一定的等級,就可以讓真正需要連線的使用者繼續使用該網路服務,而不會因為服務完全停擺而造成大量的經濟損失。
當攻擊的規模被成功限制時,網管人員就有時間再透過ISP的協助及IP過濾等方式,將攻擊所帶來的傷害進一步的縮小及著手進行相關的調查,最後讓攻擊者無功而返。
其實,面對DDoS等攻擊,事前的準備與規劃都遠勝於事後的補救,在最初網路服務的規劃上,不管在網路頻寬、防火牆、路由器或伺服器的規格上,都不要抱著夠用就好的心態,不然在真正被攻擊時,或許就只能「聽天由命」了。