拒絕服務攻擊

拒絕服務攻擊

黑客的攻擊手段
拒絕服務攻擊即是攻擊者想辦法讓目标機器停止提供服務,是黑客常用的攻擊手段之一。[1]
    中文名:拒絕服務攻擊 外文名:DoS 所屬學科: 定義:攻擊者讓目标機器停止提供服務 代表:SYN Flood 攻擊對象:服務器 攻擊者:駭客

原理

SYNFlood

SYN Flood是當前最流行的DoS(拒絕服務攻擊)與DDoS(Distributed Denial Of Service分布式拒絕服務攻擊)的方式之一,這是一種利用TCP協議缺陷,發送大量僞造的TCP連接請求,使被攻擊方資源耗盡(CPU滿負荷或内存不足)的攻擊方式。

SYN Flood攻擊的過程在TCP協議中被稱為三次握手(Three-way Handshake),而SYN Flood拒絕服務攻擊就是通過三次握手而實現的。

具體原理是:TCP連接的三次握手中,假設一個用戶向服務器發送了SYN報文後突然死機或掉線,那麼服務器在發出SYN+ACK應答報文後是無法收到客戶端的ACK報文的(第三次握手無法完成),這種情況下服務器端一般會重試(再次發送SYN+ACK給客戶端)并等待一段時間後丢棄這個未完成的連接。

這段時間的長度我們稱為SYN Timeout,一般來說這個時間是分鐘的數量級(大約為30秒~2分鐘);一個用戶出現異常導緻服務器的一個線程等待1分鐘并不是什麼很大的問題,但如果有一個惡意的攻擊者大量模拟這種情況(僞造IP地址),服務器端将為了維護一個非常大的半連接列表而消耗非常多的資源。

SYN COOKIE 防火牆是SYN cookie的一個擴展,SYN cookie是建立在TCP堆棧上的,他為linux操作系統提供保護。SYN cookie防火牆是linux的 一大特色,你可以使用一個防火牆來保護你的網絡以避免遭受SYN洪水攻擊。

IP欺騙性攻擊

這種攻擊利用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 pack4以前的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)可檢測程度

根據能否對攻擊數據包進行檢測和過濾,受害者對攻擊數據的檢測能力從低到高分為以下三個等級:可過濾(Filterable)、有特征但無法過濾(Unfilterable)和無法識别(Noncharacterizable)。

第一種情況是,對于受害者來說,攻擊包具有較為明顯的可識别特征,而且通過過濾具有這些特征的數據包,可以有效地防禦攻擊,保證服務的持續進行。

第二種情況是,對于受害者來說,攻擊包雖然具有較為明顯的可識别特征,但是如果過濾具有這些特征的數據包,雖然可以阻斷攻擊包,但同時也會影響到服務的持續進行,從而無法從根本上防止拒絕服務。第三種情況是,對于受害者來說,攻擊包與其他正常的數據包之間,沒有明顯的特征可以區分,也就是說,所有的包,在受害者看來,都是正常的。

(2)攻擊影響

根據攻擊對目标造成的破壞程度,攻擊影響自低向高可以分為:無效(None)、服務降低(Degrade)、可自恢複的服務破壞(Self-recoverable)、可人工恢複的服務破壞(Manu-recoverable)以及不可恢複的服務破壞(Non-recoverable)。

如果目标系統在拒絕服務攻擊發生時,仍然可以提供正常服務,則該攻擊是無效的攻擊。如果攻擊能力不足以導緻目标完全拒絕服務,但造成了目标的服務能力降低,這種效果稱之為服務降低。

而當攻擊能力達到一定程度時,攻擊就可以使目标完全喪失服務能力,稱之為服務破壞。服務破壞又可以分為可恢複的服務破壞和不可恢複的服務破壞,網絡拒絕服務攻擊所造成的服務破壞通常都是可恢複的。

一般來說,風暴型的DDoS攻擊所導緻的服務破壞都是可以自恢複的,當攻擊數據流消失時,目标就可以恢複正常工作狀态。而某些利用系統漏洞的攻擊可以導緻目标主機崩潰、重啟,這時就需要對系統進行人工恢複;還有一些攻擊利用目标系統的漏洞對目标的文件系統進行破壞,導緻系統的關鍵數據丢失,往往會導緻不可恢複的服務破壞,即使系統重新提供服務,仍然無法恢複到破壞之前的服務狀态。

動機

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

相關詞條

相關搜索

其它詞條