洪水攻擊詳解
①注解:洪水攻擊(FLOOD ATTACK)是指利用計算機網絡技術向目標主機發送大量無用的數據報文,使得目標主機忙於處理無用的數據報文而無法提供正常服務的網絡行為。
主要原理:利用了網絡協議中安全機制或者直接用十分簡單的ping資源的方法來對主機造成影響。
攻擊手段:使用畸形報文讓目標機處於處理或者等待,使用原始套接字進行程序設計。
分類:
ICMP回顯攻擊,利用原始套接字發送大量回顯請求或者回顯響應的數據,由於此數據協議棧默認是必須處理的,因此有影響
UDP,向目標主機UDP端口發送UDP報文,由於目標機需要對端口進行處理
SYN,利用TCP連接中三次握手,在發送一個SYN原始報文后,目標需要對發送的報文進行處理並等待超時
ICMP洪水攻擊
原理:在ping基礎上形成
分類:
直接洪水攻擊:主機與目標的帶寬比拼,用性能砸死他。缺點:目標機可以根據源ip,屏蔽攻擊源,甚至可能被反向攻擊。
偽裝ip攻擊:將發送方ip用偽裝ip代替,將直接洪水攻擊改進
反射攻擊:並非自身攻擊,而是利用偽裝ip,讓其他主機誤認為目標機在向其發送ICMP請求,結果:目標主機需要對所有請求進行ICMP應答發送
UDP洪水攻擊
UDPFlood防護
SYN洪水攻擊
簡介:又稱拒絕服務攻擊。是一種廣為人知的DoS(拒絕服務攻擊)與DDoS(分布式拒絕服務攻擊)的方式之一,這是一種利用TCP協議缺陷,發送大量偽造的TCP連接請求,從而使得被攻擊方資源耗盡(CPU滿負荷或內存不足)的攻擊方式。
原理剖析:
TCP三次握手:
在TCP/IP協議中,TCP協議提供可靠的連接服務,采用三次握手建立一個連接。
第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SEND狀態,等待服務器確認;
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態; 第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED狀態,完成三次握手。 完成三次握手,客戶端與服務器開始傳送數據.
攻擊手段:
主機A發送ICMP的SYN請求給主機B,主機A發送的報文源地址為偽造IP。主機B的第二次握手之后需要等待時間來接受A的確認包,在超時時間內會一直占用資源。如果B處理三次握手的資源不能滿足A發送數量,那么B就會資源殆盡。主機A發送的是原始報文,發送速度應當是足夠高的,對B必然產生影響。
防護措施:
①縮短SYNtimeout超時時間。也就是第二次握手到第三次握手之間的等待時間。
②為每一個請求ip設置cookie,如果連續時間內收到某個ip請求,那么認為是攻擊,從而攔截