什麼是DDOS
一、前言
2000年2月初網際網路掀起一場風雨,電腦駭客利用巨量偽假的詢
求資料,迫使網頁伺服器(server)應接不暇,因負荷過重而當機,
進而阻斷使用者登站的管道。受波及之網站首當其衝為知名入口網
站Yahoo!(Yahoo.com),導致網站登錄管道一度癱瘓,令世界各地
的網路使用者幾乎不得其門而入。緊接著遭受攻擊的商業網站,包
括Buy.com、拍賣網站電子灣(eBay)、購物網站亞馬遜(Amazon.com)、
新聞網站美國有線電視新聞網(CNN.com)以及E-trade等皆亦無法
倖免而宣告癱瘓。
這次駭客攻擊的目的並不是試圖入侵業者的電腦系統,以盜取或
是竄改網頁資料,而是利用網際網略開放系統與傳輸便利的特性,
採取一種所謂的『分散式阻斷服務攻擊』(distributed denial of
service attacks,簡稱DDoS攻擊)方式,利用分散於不同地方的多
部電腦主機,發送大量偽造來源地址(spoofed source IP addresses)
的封包,癱瘓受害者所在的網路電腦主機伺服器,使得正常的接通
率降到1%以下,導致無法服務正常的使用者。這種情形就如同有心
人士不停地撥電話進某家公司的電話總機,使之佔據有限的電話線
路,進而導致該公司無法接通其他正常使用者的來電。
本文將探討DDoS攻擊原理與方式,及其防範之道,以供系統管理
者在面臨網站遭受類似攻擊時,能馬上做最適當的臨場應變與防護,
把攻擊的傷害減到最低。
二、分散式阻斷服務(DDoS)攻擊
分散式阻斷服務(DDoS)攻擊的前身是所謂的『阻斷服務(Denial-
of-Service,簡稱DoS)攻擊』。DoS攻擊並不以篡改或竊取主機資料
為目的,而是癱瘓系統主機使之無法正常運作。換言之,由於一般網
路系統的系統資源(例如記憶體、磁碟空間以及網路頻寬等)皆有限,
因此駭客可以根據部分網路系統或者相關通信協定等之設計或實作上
的漏洞,在一段期間內透過傳送大量且密集的封包至特定網站,使該
網站無法立即處理這些封包而導致癱瘓,進而造成網路用戶無法連上
該網站而被阻絕在外。這種攻擊對網站本身而言,並不具破壞性,只
是造成系統無法即時處理駭客所送來的大量訊息而停滯或當機。早在
1999年8月美國明尼蘇達大學就曾遭受到DoS攻擊,使該校網站被迫暫
時關閉。目前已知的DoS攻擊方式有數十種之多,然而主要攻擊方式
為『點對點』的攻擊,任何人只要握有一攻擊程式即可讓未受保護的
網路或裝置癱瘓,例如:WinNuke攻擊程式便可讓未受保護的MS Windows
電腦當機。
基本上,DDoS是DoS的一種變形,因為它是透過網路分散來源的技
巧,所以將之稱作分散式DoS(Distributed DoS,簡稱DDoS)攻擊。
DDoS攻擊方式在於它是從網路上的許多台主機同時發動類似DoS的攻
擊行為,所以遭受攻擊的主機同時面對的敵人數目將是數百台來自
不同網域的主機,這種獨特之處,使得DDoS攻擊不一定要真正把遭
攻擊主機的系統程式給異常終止掉,只需要同時送出遠超過網路負
荷或者是遠超過遭攻擊主機所能允許的最大連線數量的資料,就能
達到癱瘓目標網站之目的。
由上述得知,DDoS攻擊需要一定數量的網路主機,以作為發動攻
擊的攻擊伺服器(Daemon),待駭客發出攻擊命令時,才可透過這
些攻擊伺服器同時對特定目標進行癱瘓性攻擊。為了隱密而不被發
現地準備發動DDoS攻擊所需之足夠數量的攻擊伺服器,駭客會先用
盜取、監聽的方式取得不合法的帳號以取得某些發起機器(Master),
並且將入侵的後門程式放置在發起機器上,然後透過發起機器上的
後門程式開始嘗試侵入為數眾多的網路主機,藉此取得足夠數量的
主機以作為攻擊伺服器。最後,駭客會在發起機器上放置攻擊發起
程式用以通知攻擊伺服器發動DDoS攻擊,並且在擊伺服器上放置實
際攻擊程式以實際執行癱瘓攻擊。在此值得注意的是駭客可能會使
用許多可以遠端侵入網路主機的系統程式,例如Solaris的toolTalk、
csdmd等入侵程式、並且藉由掃描網路上機器以作為攻擊之用。在取
得足夠數量的網路主機帳號之後,駭客下一階段性開始計畫如何去
發起這樣的癱瘓攻擊。DDoS的攻擊命令可以透過圖一中攻擊者
(Attacker)-發起機器(Master)-攻擊伺服器(Daemon)的路
線完成,而由最底層的攻擊伺服器實際執行癱瘓攻擊。DDoS攻擊的
網路結構如圖一所示。
在此攻擊架構中,攻擊者不限定只有一位,只要每位攻擊者能夠
同時掌管數台主要的發起機器,而每一台發起機器叫能同時管理數
十台、數百台的攻擊伺服機器,在收到發起機器的攻擊訊號的同時,
會送出攻擊封包至發起機器所指定的目標主機。因此,駭客使用盜
取而來的帳號,先要對一定數量的發起機器上機預先作好入侵動作,
然後用『等比級數』的方式在去入侵更下層的攻擊伺服器,這樣子
才能達到大量攻擊的日標。當一切部署完成後,駭客只要由上層的
入侵帳號下令攻擊,在最短的時間差內,遭受攻擊的目標主機將會
收到非常大量的癱瘓攻擊。
由上述知道,要達到DDoS分散式攻擊有許多特定的條件。首先,
一定要有足夠的數量,且要有著快速網路頻寬的發起機器、攻擊伺
服器。因為要在最短的時問內將攻擊程式分散到所有的發起機器、
攻擊伺服器上,要達成完美的癱瘓攻擊,網路連線的速度是最重要
的關鍵點。其次是要在發起機器與攻擊伺服器上『隱藏』駭客所安
裝的攻擊發起程式、實際攻擊程式、還有入侵的後門程式等。為了
隱藏自己的行蹤,駭客會想盡辦法來延遲被追蹤的時間,例如運用
IP Spoofing的技術來入侵系統,達到隱藏入侵者身分、或是加強
DDoS的攻擊能力。所謂的IP Spoofing主要是更改封的表頭,讓整
個攻擊封包看起來像是來自可信任的網域,而被允許進入Router或
防火牆(firewall),直接攻擊網路主機。
三、DDoS攻擊種類
DDoS的攻擊原理大都是利用TCP/IP網路協定本身的漏洞與特性,
使受攻擊之目標主機或網路因無法處理由駭客所發出或偽造的大量
垃圾封包,而導致系統停滯或當機。目前電腦駭客常用的DDoS攻擊
程式,大致上可以分為下列三種:
1.利用網路主機處理封包的特性進行攻擊,其做法是向受攻擊之目
標主機發出超過其負荷之垃圾封包,使之因無法即時處理而導致
當機;或者是改變封包的控制資料,使網路主機無法正確地處理
所收到的封包。例如:Ping of Death、TearDrop攻擊。
‧Ping of Death攻擊:運用網路上最常見的Ping工具程式,來
產生超過IP協定所能允許的最大封包。若是沒有檢查機制的系
統收到這些過量的封包時,則有可能會造成系統當機。
‧TearDrop攻擊:利用IP封包重組的漏洞來進行攻擊。當資料要
經由網路傳送時,其IP封包常被切割成許多小片段;每個小片
段和原來封包的結構除了某些記載位移的資訊不同外,其餘大
致都相同,其中這些位移資訊是要使網路主機在收到這些小片
段時能夠正確地重組IP封包。TearDrop攻擊則憑空創造出一些
IP片段,但這些片段包含了重疊的位移值。當這些片段被傳送
到達目的地時,會重組成原來的IP封包,此時可能會造成系統
當機。
2.利用icmp做洪水或倍增型攻擊。例如:smurf、icmp攻擊。
‧smurf攻擊:直接對網路進行廣播,造成網路很快地充滿垃圾封
包而中斷。smurf會不斷地將小量偽造的icmp要求封包送給IP廣
播位址(IP broadcast address),然後廣播位址會傳回大量
的icmp回應封包給目標主機。這種smurf的攻擊方式除了攻擊特
定目標主機,也能在網路上塞滿icmp的要求封包與回應封包而
造成網路中斷,所以常被稱為smurf倍增型攻擊。
‧icmp攻擊:將大量『偽造來源位址』的icmp要求封包送給目標
主機,目標主機會回應等量的icmp回應封包而造成目標主機無
法負荷而當機。
3.利用TCP/IP通訊協定中詰問-回應模式的漏洞進行攻擊。網路上,
通訊雙方為了要確保彼此的連結溝通,通常會由一方發出詰問訊
息給另一方,並且等候對方回應一個正確的訊息。若是對方能夠
回應一個正確的訊息,則能確保訊訊雙方的彼此連結。具體而言,
在TCP/IP通訊協定中,甲端跟乙端的連結溝通方式,甲端會先送
出SYN封包給乙端,當乙端收到此封包之後,會回應一個SYN-ACK
的封包給甲端,最後甲端會再送一個ACK的封包給乙端作為確認
之用。在完成這些程序之後,甲端與乙端便能確認彼此的連結,
進而能夠傳送與收發溝通資料。駭客便針對這種溝通模式,企圖
產生一些大量的SYN封包給特定主機,然而卻不回送ACK的封包給
該主機,使之停滯或因無法處理而癱瘓。例如:SYN Flood、LAND
攻擊。
‧SYN Flood攻擊:駭客只對目標主機發送一連串的SYN封包,每
個封包都要求目標主機系統回應一個SYN-ACK封包,然後目標
主機系統在回應SYN-ACK封包後會等待對方送出ACK封包。由於
駭客並不產生任何ACK封包給目標主機,因此目標主機的系統
佇列裡面會暫存大量的SYN-ACK封包,這些封包必須等到收到
對方的ACK封包或是超過逾時時間之後才會被移除。如此目標
主機系統會因為充滿了SYN-ACK封包而造成無法再處理其他使
用者的服務與要求。
‧LAND攻擊:運用IP Spoofing技術送出一連串SYN封包給目標主
機,讓目標主機系統誤以為這些封包是由自己發送的。由於目
標主機在處理這些封包的時候,它自己並無法回應給自己SYN-ACK
封包,因而造成系統當機。值得注意的是LAND攻擊程式原本是
設計用來造成Windows95當機,但經過實際測試結果發現,許多
Unix工作站、甚至Router也受其影響。
四、DDoS攻擊防範之道
由DDoS攻擊方式得知,駭客會先在許多機器上放置DDoS的常駐攻
擊程式,進而利用DDoS攻擊迫使網路主機癱瘓,因此為要有效防制
DDoS攻擊,系統管理者只要能找出已經被放置這些常駐攻擊程式的
網站主機,就能解決被DDoS攻擊的威脅。目前已有許多偵測攻擊常
駐程式的工具,例如Windows系統可以利用IIS的Internet Scanner 6.01
程式與RealSecure 3.2.1程式來進行掃描。前者能有效地掃描出Tribe
Flood Network的常駐攻擊程式,並且亦可協助找出網站漏洞,以避
免該網站成為駭客進行DDoS攻擊的幫凶。另外,後者能夠偵測出在
DDoS的發起主機與攻擊伺服器聯繫時的通訊,進而有效地阻止駭客
啟動DDoS攻擊。除此之外,英國NIPC亦針對DDoS攻擊發展出find_ddos
程式,此程式能讓系統管理者針對自己的系統進行偵測,以確定是
否曾被安裝了DDoS之類的攻擊程式。最後,系統管理者也可以監控
主機或Router,把怪異的偽造來源IP封包過濾掉,例如:10.0.0.0/8、
172.16.0.0/12、192.168.0.0/16;或是把網路主機不需要的service
port關掉;同時,也可以在網路主機或Router上設ACL(tcp_wrapper)
限制可登錄之對象等等來防止入侵。
五、結論
近幾年來,由於網際網路的快速成長,加上電子商務的掘起,使
得人們對於網路所可能帶來的商機存在著無限美好的願景,然而在
仰賴資訊科技的同時,仍然存在許多潛在的網路安全威脅與駭客攻
擊。上述所描述的DDoS攻擊只是駭客攻擊網站或主機的其中一種方
式。目前許多網路安全漏洞或駭客攻擊已被找出並且有其防範之道,
但是隨著科技的進步,駭客攻擊技術也隨之日新月異。因此為了能
夠建立一個安全的網路環境,系統管理者有必要深入探討系統可能
面臨的各種攻擊,進而完備一套健全的防禦機制。(本文作者為國
立台灣科技大學資管系博士班研究生)
以上轉載至
http://bbs.ecstart.com/arc...16738.html