拒絕服務攻擊即是攻擊者想辦法讓目標機器停止提供服務,是黑客常用的攻擊手段之一。其實對網路頻寬進行的消耗性攻擊只是拒絕服務攻擊的一小部分,只要能夠對目標造成麻煩,使某些服務被暫停甚至主機宕機,都屬於拒絕服務攻擊。拒絕服務攻擊問題也一直得不到合理的解決,究其原因是因為網路協議本身的安全缺陷,從而拒絕服務攻擊也成為了攻擊者的終極手法。攻擊者進行拒絕服務攻擊,實際上讓伺服器實現兩種效果:一是迫使伺服器的緩衝區滿,不接收新的請求;二是使用ip欺騙,迫使伺服器把非法使用者的連線復位,影響合法使用者的連線編輯
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. 3. ack----------- - - - - - - - - - ->
4. - - - - - - -syn--------------->
5. 6. - - - - - - -ack--------------->
7. -----------> relay the ------->
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洪水攻擊。
拒絕服務攻擊
dos denial of service 指拒絕服務,是一種常用來使伺服器或網路癱瘓的網路攻擊手段。在平時更多提到的是分布式拒絕服務 ddos,distributed denial of service 攻擊,該攻擊是指利用足夠數量的傀儡計算機產生數量巨大的攻擊資料報,對網路上的一台或多台目標實施...
拒絕服務攻擊 DOS)
拒絕服務攻擊 dos dos是denial of service的簡稱,即拒絕服務,造成dos的攻擊行為被稱為dos攻擊,其目的是使計算機或網路無法提供正常的服務。最常見的dos攻擊有計算機網路頻寬攻擊和連通性攻擊。頻寬攻擊指以極大的通訊量衝擊網路,使得所有可用網路資源都被消耗殆盡,最後導致合法的使...
拒絕服務(DoS)攻擊
拒絕服務 denial of service,簡稱dos 型攻擊。四種常見dos攻擊型別 1.頻寬耗用 最陰險的dos攻擊形式是 頻寬耗用 bandwidth consumption 攻擊。其本質是攻擊者消耗掉某個網路的所有可用頻寬。這可以發生在區域網上,不過更常見的是攻擊者遠端消耗資源。這種攻擊有...