拒絕服務攻擊

拒絕服務攻擊

拒絕服務攻擊即攻擊者想辦法讓目標機器停止提供服務或資源訪問,是黑客常用的攻擊手段之一。這些資源包括磁碟空間、內存、進程甚至網路帶寬,從而阻止正常用戶的訪問。其實對網路帶寬進行的消耗性攻擊只是拒絕服務攻擊的一小部分,只要能夠對目標造成麻煩,使某些服務被暫停甚至主機死機,都屬於拒絕服務攻擊。拒絕服務攻擊問題也一直得不到合理的解決,究其原因是因為這是由於網路協議本身的安全缺陷造成的,從而拒絕服務攻擊也成為了攻擊者的終極手法。攻擊者進行拒絕服務攻擊,實際上讓伺服器實現兩種效果:一是迫使伺服器的緩衝區滿,不接收新的請求;二是使用IP欺騙,迫使伺服器把合法用戶的連接複位,影響合法用戶的連接。

原理


SYNFlood

SYN Flood是當前最流行的DoS(拒絕服務攻擊)與DDoS(Distributed Denial Of Service分散式拒絕服務攻擊)的方式之一,這是一種利用TCP協議缺陷,發送大量偽造的TCP連接請求,使被攻擊方資源耗盡(CPU滿負荷或內存不足)的攻擊方式。
典型的分散式拒絕服務攻擊網路結構圖
典型的分散式拒絕服務攻擊網路結構圖
SYN Flood攻擊的過程在TCP協議中被稱為三次握手(Three-way Handshake),而SYN Flood拒絕服務
攻擊就是通過三次握手而實現的。
(1) 攻擊者向被攻擊伺服器發送一個包含SYN標誌的TCP報文,SYN(Synchronize)即同步報文。同步報文會指明客戶端使用的埠以及TCP連接的初始序號。這時同被攻擊伺服器建立了第一次握手。
(2) 受害伺服器在收到攻擊者的SYN報文後,將返回一個SYN+ACK的報文,表示攻擊者的請求被接受,同時TCP序號被加一,ACK(Acknowledgment)即確認,這樣就同被攻擊伺服器建立了第二次握手。
(3) 攻擊者也返回一個確認報文ACK給受害伺服器,同樣TCP序列號被加一,到此一個TCP連接完成,三次握手完成。
具體原理是:TCP連接的三次握手中,假設一個用戶向伺服器發送了SYN報文後突然死機或掉線,那麼服
務器在發出SYN+ACK應答報文後是無法收到客戶端的ACK報文的(第三次握手無法完成),這種情況下伺服器端一般會重試(再次發送SYN+ACK給客戶端)並等待一段時間后丟棄這個未完成的連接。這段時間的長度我們稱為SYN Timeout,一般來說這個時間是分鐘的數量級(大約為30秒~2分鐘);一個用戶出現異常導致伺服器的一個線程等待1分鐘並不是什麼很大的問題,但如果有一個惡意的攻擊者大量模擬這種情況(偽造IP地址),伺服器端將為了維護一個非常大的半連接列表而消耗非常多的資源。即使是簡單的保存並遍歷也會消耗非常多的CPU時間和內存,何況還要不斷對這個列表中的IP進行SYN+ACK的重試。實際上如果伺服器的TCP/IP棧不夠強大,最後的結果往往是堆棧溢出崩潰—— 即使伺服器端的系統足夠強大,伺服器端也將忙於處理攻擊者偽造的TCP連接請求而無暇理睬客戶的正常請求(畢竟客戶端的正常請求比率非常之小),此時從正常客戶的角度看來,伺服器失去響應,這種情況就稱作:伺服器端受到了SYN Flood攻擊(SYN洪水攻擊)。
SYN COOKIE 防火牆是SYN cookie的一個擴展,SYN cookie是建立在TCP堆棧上的,他為linux操作系統提供保護。SYN cookie防火牆是linux的 一大特色,你可以使用一個防火牆來保護你的網路以避免遭受SYN洪水攻擊。
下面是SYN cookie防火牆的原理
client firewall server
1. SYN----------- - - - - - - - - - ->
2. <------------SYN-ACK(cookie)
3. ACK----------- - - - - - - - - - ->
4. - - - - - - -SYN--------------->
5. <- - - - - - - - - ------------SYN-ACK
6. - - - - - - -ACK--------------->
7. -----------> relay the ------->
<----------- connection <-------
1:一個SYN包從C發送到S
2:防火牆在這裡扮演了S的角色來回應一個帶SYN cookie的SYN-ACK包給C
3:C發送ACK包,接著防火牆和C的連接就建立了。
4:防火牆這個時候扮演C的角色發送一個SYN給S
5:S返回一個SYN給C
6:防火牆扮演C發送一個ACK確認包給S,這個時候防火牆和S的連接也就建立了
7:防火牆轉發C和S間的數據
如果系統遭受SYN Flood,那麼第三步就不會有,而且無論在防火牆還是S都不會收到相應在第一步的SYN包,所以我們就擊退了這次SYN洪水攻擊。

IP欺騙性攻擊

DDOS攻擊給運營商帶來的損害
DDOS攻擊給運營商帶來的損害
這種攻擊利用RST位來實現。假設有一個合法用戶(61.61.61.61)已經同伺服器建立了正常的連接,攻
擊者構造攻擊的TCP數據,偽裝自己的IP為61.61.61.61,並向伺服器發送一個帶有RST位的TCP數據段。伺服器接收到這樣的數據后,認為從61.61.61.61發送的連接有錯誤,就會清空緩衝區中建立好的連接。這時,如果合法用戶61.61.61.61再發送合法數據,伺服器就已經沒有這樣的連接了,該用戶就必須從新開始建立連接。攻擊時,攻擊者會偽造大量的IP地址,向目標發送RST數據,使伺服器不對合法用戶服務,從而實現了對受害伺服器的拒絕服務攻擊。

UDP洪水攻擊

攻擊者利用簡單的TCP/IP服務,如Chargen和Echo來傳送毫無用處的佔滿帶寬的數據。通過偽造與某一主機的Chargen服務之間的一次的UDP連接,回復地址指向開著Echo服務的一台主機,這樣就生成在兩台主機之間存在很多的無用數據流,這些無用數據流就會導致帶寬的服務攻擊。

Ping洪流攻擊

由於在早期的階段,路由器對包的最大尺寸都有限制。許多操作系統對TCP/IP棧的實現在ICMP包上都是規定64KB,並且在對包的標題頭進行讀取之後,要根據該標題頭裡包含的信息來為有效載荷生成緩衝區。當產生畸形的,聲稱自己的尺寸超過ICMP上限的包也就是載入的尺寸超過64K上限時,就會出現內存分配錯誤,導致TCP/IP堆棧崩潰,致使接受方死機。

teardrop攻擊

淚滴攻擊是利用在TCP/IP堆棧中實現信任IP碎片中的包的標題頭所包含的信息來實現自己的攻擊。IP分段含有指明該分段所包含的是原包的哪一段的信息,某些TCP/IP(包括service pack 4以前的NT)在收到含有重疊偏移的偽造分段時將崩潰。

Land攻擊

Land攻擊原理是:用一個特別打造的SYN包,它的原地址和目標地址都被設置成某一個伺服器地址。此舉將導致接受伺服器向它自己的地址發送SYN-ACK消息,結果這個地址又發回ACK消息並創建一個空連接。被攻擊的伺服器每接收一個這樣的連接都將保留,直到超時,對Land攻擊反應不同,許多UNIX實現將崩潰,NT變的極其緩慢(大約持續5分鐘)。

Smurf攻擊

一個簡單的Smurf攻擊原理就是:通過使用將回復地址設置成受害網路的廣播地址的ICMP應答請求(ping)數據包來淹沒受害主機的方式進行。最終導致該網路的所有主機都對此ICMP應答請求作出答覆,導致網路阻塞。它比ping of death洪水的流量高出1或2個數量級。更加複雜的Smurf將源地址改為第三方的受害者,最終導致第三方崩潰。

Fraggle攻擊

原理:Fraggle攻擊實際上就是對Smurf攻擊作了簡單的修改,使用的是UDP應答消息而非ICMP。

屬性分類


J.Mirkovic和P. Reiher [Mirkovic04]提出了拒絕服務攻擊的屬性分類法,即將攻擊屬性分為攻擊靜態屬性、攻擊動態屬性和攻擊交互屬性三類,根據DoS攻擊的這些屬性的不同,就可以對攻擊進行詳細的分類。凡是在攻擊開始前就已經確定,在一次連續的攻擊中通常不會再發生改變的屬性,稱為攻擊靜態屬性。攻擊靜態屬性是由攻擊者和攻擊本身所確定的,是攻擊基本的屬性。那些在攻擊過程中可以進行動態改變的屬性,如攻擊的目標選取、時間選擇、使用源地址的方式,稱為攻擊動態屬性。而那些不僅與攻擊者相關而且與具體受害者的配置、檢測與服務能力也有關係的屬性,稱為攻擊交互屬性。

攻擊靜態屬性

攻擊靜態屬性主要包括攻擊控制模式、攻擊通信模式、攻擊技術原理、攻擊協議和攻擊協議層等。
(1)攻擊控制方式
攻擊控制方式直接關係到攻擊源的隱蔽程度。根據攻擊者控制攻擊機的方式可以分為以下三個等級:直接控制方式(Direct)、間接控制方式(Indirect)和自動控制方式(Auto)。
最早的拒絕服務攻擊通常是手工直接進行的,即對目標的確定、攻擊的發起和中止都是由用戶直接在攻擊主機上進行手工操作的。這種攻擊追蹤起來相對容易,如果能對攻擊包進行準確的追蹤,通常就能找到攻擊者所在的位置。由於直接控制方式存在的缺點和攻擊者想要控制大量攻擊機發起更大規模攻擊的需求,攻擊者開始構建多層結構的攻擊網路。多層結構的攻擊網路給針對這種攻擊的追蹤帶來很大困難,受害者在追蹤到攻擊機之後,還需要從攻擊機出發繼續追蹤控制器,如果攻擊者到最後一層控制器之間存在多重跳板時,還需要進行多次追蹤才能最終找到攻擊者,這種追蹤不僅需要人工進行操作,耗費時間長,而且對技術也有很高的要求。這種攻擊模式,是目前最常用的一種攻擊模式。自動攻擊方式,是在釋放的蠕蟲或攻擊程序中預先設定了攻擊模式,使其在特定時刻對指定目標發起攻擊。這種方式的攻擊,從攻擊機往往難以對攻擊者進行追蹤,但是這種控制方式的攻擊對技術要求也很高。Mydoom蠕蟲對SCO網站和Microsoft網站的攻擊就屬於第三種類型[TA04-028A]。
(2)攻擊通信方式
在間接控制的攻擊中,控制者和攻擊機之間可以使用多種通信方式,它們之間使用的通信方式也是影響追蹤難度的重要因素之一。攻擊通信方式可以分為三種方式,分別是:雙向通信方式(bi)、單向通信方式(mono)和間接通信方式(indirection)。
雙向通信方式是指根據攻擊端接收到的控制數據包中包含了控制者的真實IP地址,例如當控制器使用TCP與攻擊機連接時,該通信方式就是雙向通信。這種通信方式,可以很容易地從攻擊機查找到其上一級的控制器。
單向通信方式指的是攻擊者向攻擊機發送指令時的數據包並不包含發送者的真實地址信息,例如用偽造IP地址的UDP包向攻擊機發送指令。這一類的攻擊很難從攻擊機查找到控制器,只有通過包標記等IP追蹤手段,才有可能查找到給攻擊機發送指令的機器的真實地址。但是,這種通信方式在控制上存在若干局限性,例如控制者難以得到攻擊機的信息反饋和狀態。
間接通信方式是一種通過第三者進行交換的雙向通信方式,這種通信方式具有隱蔽性強、難以追蹤、難以監控和過濾等特點,對攻擊機的審計和追蹤往往只能追溯到某個被用於通信中介的公用伺服器上就再難以繼續進行。這種通信方式已發現的主要是通過IRC(Internet Relay Chat)進行通信[Jose Nazario],從2000年8月出現的名為Trinity的DDoS攻擊工具開始,已經有多種DDoS攻擊工具及蠕蟲採納了這種通信方式。在基於IRC的傀儡網路中,若干攻擊者連接到Internet上的某個IRC伺服器上,並通過伺服器的聊天程序向傀儡主機發送指令。
(3)攻擊原理
DoS攻擊原理主要分為兩種,分別是:語義攻擊(Semantic)和暴力攻擊(Brute)。
語義攻擊指的是利用目標系統實現時的缺陷和漏洞,對目標主機進行的拒絕服務攻擊,這種攻擊往往不需要攻擊者具有很高的攻擊帶寬,有時只需要發送1個數據包就可以達到攻擊目的,對這種攻擊的防範只需要修補系統中存在的缺陷即可。暴力攻擊指的是不需要目標系統存在漏洞或缺陷,而是僅僅靠發送超過目標系統服務能力的服務請求數量來達到攻擊的目的,也就是通常所說的風暴攻擊。所以防禦這類攻擊必須藉助於受害者上游路由器等的幫助,對攻擊數據進行過濾或分流。某些攻擊方式,兼具語義和暴力兩種攻擊的特徵,比如SYN風暴攻擊,雖然利用了TCP協議本身的缺陷,但仍然需要攻擊者發送大量的攻擊請求,用戶要防禦這種攻擊,不僅需要對系統本身進行增強,而且也需要增大資源的服務能力。還有一些攻擊方式,是利用系統設計缺陷,產生比攻擊者帶寬更高的通信數據來進行暴力攻擊的,如DNS請求攻擊和Smurf攻擊,參見4.2.3節以及文獻[IN-2000-04]和[CA-1998-01]。這些攻擊方式在對協議和系統進行改進后可以消除或減輕危害,所以可把它們歸於語義攻擊的範疇。
(4)攻擊協議層
攻擊所在的TCP/IP協議層可以分為以下四類:數據鏈路層、網路層、傳輸層和應用層。
數據鏈路層的拒絕服務攻擊[Convery] [Fischbach01][Fischbach02]受協議本身限制,只能發生在區域網內部,這種類型的攻擊比較少見。針對IP層的攻擊主要是針對目標系統處理IP包時所出現的漏洞進行的,如IP碎片攻擊[Anderson01],針對傳輸層的攻擊在實際中出現較多,SYN風暴、ACK風暴等都是這類攻擊,面嚮應用層的攻擊也較多,劇毒包攻擊中很多利用應用程序漏洞的(例如緩衝區溢出的攻擊)都屬於此類型。
(5)攻擊協議
攻擊所涉及的最高層的具體協議,如SMTP、ICMP、UDP、HTTP等。攻擊所涉及的協議層越高,則受害者對攻擊包進行分析所需消耗的計算資源就越大。

攻擊動態屬性

攻擊動態屬性主要包括攻擊源地址類型、攻擊包數據生成模式和攻擊目標類型。
(1)攻擊源地址類型
攻擊者在攻擊包中使用的源地址類型可以分為三種:真實地址(True)、偽造合法地址(Forge Legal)和偽造非法地址(Forge Illegal)。
攻擊時攻擊者可以使用合法的IP地址,也可以使用偽造的IP地址。偽造的IP地址可以使攻擊者更容易逃避追蹤,同時增大受害者對攻擊包進行鑒別、過濾的難度,但某些類型的攻擊必須使用真實的IP地址,例如連接耗盡攻擊。使用真實IP地址的攻擊方式由於易被追蹤和防禦等原因,近些年來使用比例逐漸下降。使用偽造IP地址的攻擊又分為兩種情況:一種是使用網路中已存在的IP地址,這種偽造方式也是反射攻擊所必需的源地址類型;另外一種是使用網路中尚未分配或者是保留的IP地址(例如192.168.0.0/16、172.16.0.0/12等內部網路保留地址[RFC1918])。
(2)攻擊包數據生成模式
攻擊包中包含的數據信息模式主要有5種:不需要生成數據(None)、統一生成模式(Unique)、隨機生成模式(Random)、字典模式(Dictionary)和生成函數模式(Function)。
在攻擊者實施風暴式拒絕服務攻擊時,攻擊者需要發送大量的數據包到目標主機,這些數據包所包含的數據信息載荷可以有多種生成模式,不同的生成模式對受害者在攻擊包的檢測和過濾能力方面有很大的影響。某些攻擊包不需要包含載荷或者只需包含適當的固定的載荷,例如SYN風暴攻擊和ACK風暴攻擊,這兩種攻擊發送的數據包中的載荷都是空的,所以這種攻擊是無法通過載荷進行分析的。但是對於另外一些類型的攻擊包,就需要攜帶相應的載荷。
攻擊包載荷的生成方式可以分為4種:第一種是發送帶有相同載荷的包,這樣的包由於帶有明顯的特徵,很容易被檢測出來。第二種是發送帶有隨機生成的載荷的包,這種隨機生成的載荷雖然難以用模式識別的方式來檢測,然而隨機生成的載荷在某些應用中可能生成大量沒有實際意義的包,這些沒有意義的包也很容易被過濾掉,但是攻擊者仍然可以精心設計載荷的隨機生成方式,使得受害者只有解析到應用層協議才能識別出攻擊數據包,從而增加了過濾的困難性。第三種方式是攻擊者從若干有意義載荷的集合中按照某種規則每次取出一個填充到攻擊包中,這種方式當集合的規模較小時,也比較容易被檢測出來。最後一種方式是按照某種規則每次生成不同的載荷,這種方式依生成函數的不同,其檢測的難度也是不同的。
(3)攻擊目標類型
攻擊目標類型可以分為以下6類:應用程序(Application)、系統(System)、網路關鍵資源(Critical)、網路(Network)、網路基礎設施(Infrastructure)和網際網路(Internet)。
針對特定應用程序的攻擊是較為常見的攻擊方式,其中以劇毒包攻擊較多,它包括針對特定程序的,利用應用程序漏洞進行的拒絕服務攻擊,以及針對一類應用的,使用連接耗盡方式進行的拒絕服務攻擊。針對系統的攻擊也很常見,像SYN風暴、UDP風暴[CA-1996-01]以及可以導致系統崩潰、重啟的劇毒包攻擊都可以導致整個系統難以提供服務。針對網路關鍵資源的攻擊包括對特定DNS、路由器的攻擊。而面向網路的攻擊指的是將整個區域網的所有主機作為目標進行的攻擊。針對網路基礎設施的攻擊需要攻擊者擁有相當的資源和技術,攻擊目標是根域名伺服器、主幹網核心路由器、大型證書伺服器等網路基礎設施,這種攻擊發生次數雖然不多,但一旦攻擊成功,造成的損失是難以估量的[Naraine02]。針對Internet的攻擊是指通過蠕蟲、病毒發起的,在整個Internet上蔓延並導致大量主機、網路拒絕服務的攻擊,這種攻擊的損失尤為嚴重。

交互屬性


攻擊的動態屬性不僅與攻擊者的攻擊方式、能力有關,也與受害者的能力有關。主要包括攻擊的可檢測程度和攻擊影響。
(1)可檢測程度
根據能否對攻擊數據包進行檢測和過濾,受害者對攻擊數據的檢測能力從低到高分為以下三個等級:可過濾(Filterable)、有特徵但無法過濾(Unfilterable)和無法識別(Noncharacterizable)。
第一種情況是,對於受害者來說,攻擊包具有較為明顯的可識別特徵,而且通過過濾具有這些特徵的數據包,可以有效地防禦攻擊,保證服務的持續進行。第二種情況是,對於受害者來說,攻擊包雖然具有較為明顯的可識別特徵,但是如果過濾具有這些特徵的數據包,雖然可以阻斷攻擊包,但同時也會影響到服務的持續進行,從而無法從根本上防止拒絕服務。第三種情況是,對於受害者來說,攻擊包與其他正常的數據包之間,沒有明顯的特徵可以區分,也就是說,所有的包,在受害者看來,都是正常的。
(2)攻擊影響
根據攻擊對目標造成的破壞程度,攻擊影響自低向高可以分為:無效(None)、服務降低(Degrade)、可自恢復的服務破壞(Self-recoverable)、可人工恢復的服務破壞(Manu-recoverable)以及不可恢復的服務破壞(Non-recoverable)。
如果目標系統在拒絕服務攻擊發生時,仍然可以提供正常服務,則該攻擊是無效的攻擊。如果攻擊能力不足以導致目標完全拒絕服務,但造成了目標的服務能力降低,這種效果稱之為服務降低。而當攻擊能力達到一定程度時,攻擊就可以使目標完全喪失服務能力,稱之為服務破壞。服務破壞又可以分為可恢復的服務破壞和不可恢復的服務破壞,網路拒絕服務攻擊所造成的服務破壞通常都是可恢復的。一般來說,風暴型的DDoS攻擊所導致的服務破壞都是可以自恢復的,當攻擊數據流消失時,目標就可以恢復正常工作狀態。而某些利用系統漏洞的攻擊可以導致目標主機崩潰、重啟,這時就需要對系統進行人工恢復;還有一些攻擊利用目標系統的漏洞對目標的文件系統進行破壞,導致系統的關鍵數據丟失,往往會導致不可恢復的服務破壞,即使系統重新提供服務,仍然無法恢復到破壞之前的服務狀態。

動機


與其他類型的攻擊一樣,攻擊者發起拒絕服務攻擊的動機也是多種多樣的,不同的時間和場合發生的、由不同的攻擊者發起的、針對不同的受害者的攻擊可能有著不同的目的。這裡,把拒絕服務攻擊的一些主要目的進行歸納。需要說明的是,這裡列出的沒有也不可能包含所有的攻擊目的;同時,這些目的也不是排他性的,一次攻擊事件可能會有著多重的目的。

作為練習手段

由於DoS攻擊非常簡單,還可以從網上直接下載工具進行自動攻擊。因此,這種攻擊可以被一些自認為是或者想要成為黑客而實際上是腳本小子(Script Kiddies)的人用做練習攻擊技術的手段。而其他的一些特權提升攻擊(除通過蠕蟲等進行自動攻擊外),通常都會或多或少地牽涉到一些技術性的東西,從而掌握起來會有一定的難度。

炫耀

黑客們常常以能攻破某系統作為向同伴炫耀,提高在黑客社會中的可信度及知名度的資本,拒絕服務攻擊雖然技術要求不是很高,有時也被一些人特別是一些“所謂的”黑客用來炫耀。

仇恨或報復

仇恨或報復也常常是攻擊的動機。尋求報復通常都基於強烈的感情,攻擊者可能竭盡所能地發起攻擊,因而一般具有較大的破壞性。同時,拒絕服務攻擊當是報復者的首選攻擊方式,因為他們的目的主要是破壞而非對系統的控制或竊取信息。因仇恨而發起攻擊的人員有:
前僱員,由於被解僱、下崗或者因為其他不愉快的原因辭職而感到不滿的。
現僱員,感到其僱主應該提升自己、增加薪水或以其他方式承認其工作,而願望沒有得到滿足的,尤其是哪些因為類似原因,打算辭職的。
現僱員,因為政治鬥爭、升職競爭等原因而惡意破壞他人工作成績的。
外部人員,由於對公司充滿仇恨,例如不滿的客戶或者競爭對手的僱員,他們可能希望損害公司的利益或者使其陷入困境。
外部人員,他們可能仇恨公司所僱用的某個人,這個人也許是前男/女朋友,前配偶等。
4.惡作劇或單純為了破壞
有些系統的使用需要賬戶(用戶名)和口令進行身份認證,而當以某個用戶名登錄時,如果口令連續錯誤的次數超過一定值,系統會鎖定該賬戶,攻擊者可以採用此方法實施對賬戶的拒絕服務攻擊。此外,我們在現實生活中常常見到一些公共設施如通信電纜被惡意毀壞;在網路社會中,類似的情況也時有發生,這些攻擊常常是為了惡作劇。

經濟原因

有的攻擊者攻擊系統是為了某種經濟利益,無論是直接的還是間接的。比如A、B是兩家相互競爭的依賴Internet做生意的公司,如果其中一個公司的服務質量降低或者顧客不能訪問該公司的網路,顧客可能會轉向另一家公司,則A就可能對B公司提供的網上服務實施拒絕服務攻擊,在這裡,攻擊者A可以通過對B的攻擊而獲取經濟利益。攻擊者也可以受雇而發起攻擊,例如在上例中,一些黑客可能受A的雇傭而攻擊B的網路,類似的實際案例早有報道。
敲詐、勒索也逐漸成為了一些攻擊者進行拒絕服務攻擊的目的。由於拒絕服務攻擊會導致較大的損失,一些攻擊者以此作為敲詐勒索的手段。例如,2004年歐洲杯足球賽期間發生的一起針對一個賭博公司的敲詐案[BBC04],攻擊者威脅說如果該公司不付錢就會攻擊其網站,使之下線。在其他的重要體育賽事期間,也發生過多起類似的犯罪行為。
又如,Renaud Bidou在Black Hat USA 2005會議中介紹了一個以拒絕服務攻擊進行敲詐勒索的例子。受害者是位於莫斯科的一個從事貨幣兌換的俄羅斯金融公司,受害者的業務都是從網上在線處理的。攻擊者先用大約每秒150 000個數據包的SYN風暴攻擊受害者的伺服器(所有數據包指向同一個IP的同一個埠,即受害者關鍵業務所用的埠),攻擊30分鐘后,攻擊者通過ICQ聯繫,要求受害者在36小時內支付指定數量的贖金,整個第一波攻擊持續60分鐘后停止。從第一波攻擊開始起36小時后,由於沒有收到贖金,攻擊者發起了第二波攻擊,在此次攻擊中,攻擊者從每秒50 000個數據包開始,按每5分鐘以每秒50 000個數據包的力度遞增,到20分鐘時達到攻擊的極限——每秒200 000個數據包,所有這些數據包都被受害者的SYNCookies措施所阻塞。第二波攻擊的持續時間不長,到35分鐘以後,受害者的業務得以恢復。
隨著越來越多的受害者選擇向敲詐者妥協,以拒絕服務攻擊進行敲詐勒索的案例越來越多。同時,由於拒絕服務攻擊常常涉及超出國界的Internet連接,對拒絕服務攻擊這種犯罪行為的起訴也比較困難,這進一步加劇了問題的嚴重性。

政治原因

這類攻擊的目的是對某種政治思想的表達或者壓制他人的表達。如2001年5月間,由美國間諜飛機撞毀我巡邏機引發的,中美黑客之間的一場網路大戰①,以及2003年伊拉克戰爭期間美國與伊拉克黑客之間的發生的相互攻擊對方國內網路的事件就屬政治原因引起的(當然,拒絕服務攻擊只是當時雙方採取的攻擊手段之一)。又比如,某銀行貸款給一家公司用於在某處建一對環境污染嚴重的化工廠,環境保護主義者可能會攻擊該銀行,後果或者是導致該銀行的損失,達到報復該銀行的目的,或者是迫使該銀行取消該項貸款,達到保護環境的目的。

信息戰

在戰爭條件下,交戰雙方如果採取信息戰的方式,則拒絕服務攻擊就是最常用的戰術手段之一。例如,1991年,在海灣戰爭開戰前數周,美國特工買通了安曼國際機場的工作人員,用帶有病毒的晶元替換了運往伊拉克的印表機晶元。該病毒由美國國家安全局設計,目的就是為了破壞巴格達的防空系統,從而為美方的空中打擊創造有利條件。據一本名為《不戰而勝:波斯灣戰爭中未揭露的歷史》(Triumph without Victory: The Unreported History of the Persian Gulf War)的圖書稱,該病毒可以逃避層層安全檢測,當病毒存在於計算機上時,每次伊拉克的技術人員開一個窗口訪問信息的時候,其計算機屏幕上的信息就會消失。有報道稱該病毒最後確實起作用了。這裡,美方通過激發病毒使得伊拉克防空系統使用的印表機不能正常工作,就是一種拒絕服務攻擊。

輔助手段

前面討論的目的都是由拒絕服務攻擊直接達到的,事實上,拒絕服務攻擊還可以作為特權提升攻擊、獲得非法訪問的一種輔助手段。這時候,拒絕服務攻擊服從於其他攻擊的目的。通常,攻擊者不能單純通過拒絕服務攻擊獲得對某些系統、信息的非法訪問,但其可作為間接手段。
SYN風暴攻擊可以用於IP劫持、IP欺騙等。當攻擊者想要向B冒充C時,其通常需要C不能響應B的消息,為此,攻擊者可以先攻擊C(如果它是在線的)使其無法對B的消息進行響應。然後攻擊者就可以通過竊聽發向C的數據包,或者通過猜測發向C的數據包中的序列號等,然後冒充C與第三方通信。
一些系統在啟動時會有漏洞,可以通過拒絕服務攻擊使之重啟,然後在該系統重啟時針對漏洞進行攻擊。如RARP-boot,如果能令其重啟,就可以將其攻破。只需知道RARP-boot在引導時監聽的埠號(通常為69),通過向其發送偽造的數據包幾乎可以完全控制其引導(Boot)過程。
有些網路配置成當防火牆關閉時所有數據包都能通過(特別是對於那些提供服務比安全更加重要的場合,如普通的ISP),則可通過對防火牆的拒絕服務攻擊使其失去作用達到非法訪問受防火牆保護的網路的目的。
對Windows系統的大多數配置變動在生效前都需要重新啟動系統。這麼一來,如果攻擊者已經獲得了對系統的管理性特權的變動之後,可能需要採取拒絕服務攻擊的手段使系統重啟或者迫使系統的真正管理員重啟系統,以便其改動的配置生效。
對DNS的拒絕服務攻擊可以達到地址冒充的目的。DNS伺服器起到的是把域名解析為IP地址的作用。攻擊者可以通過把DNS致癱,然後冒充DNS的域名解析,把錯誤的域名-IP地址的對應關係提供給用戶,以便把用戶(受害者)的數據包指向錯誤的網站(如攻擊者的網站),或者把受害者的郵件指向錯誤的(如攻擊者的)郵件伺服器,這樣,攻擊者就達到了冒充其他域名的目的。攻擊者的最終目的大致有兩種:一是竊取受害者的信息,但客觀上導致用戶不能應用相應的服務,也構成拒絕服務攻擊;二是拒絕服務攻擊,如蓄意使用戶不能訪問需要的網站,不能發送郵件到需要的伺服器等。

相關鏈接


黑客蠕蟲病毒
惡意軟體木馬