Syn Flood攻擊是利用TCP/IP協議的什麼漏洞

才智咖 人氣:1.7W

在社會發展不斷提速的今天,協議與我們的生活息息相關,簽訂協議後則有法可依,有據可尋。那麼協議怎麼寫才能發揮它最大的作用呢?以下是小編為大家整理的Syn Flood攻擊是利用TCP/IP協議的什麼漏洞,希望對大家有所幫助。

Syn Flood攻擊是利用TCP/IP協議的什麼漏洞

答:客戶端通過傳送在TCP報頭中SYN標誌置位的資料分段到服務端來請求建立連線。通常情況下,服務端會按照IP報頭中的來源地址來返回SYN/ACK置位的資料包給客戶端,客戶端再返回ACK到服務端來完成一個完整的連線(Figure-1)。

在攻擊發生時,客戶端的來源IP地址是經過偽造的(spoofed),現行的IP路由機制僅檢查目的IP地址並進行轉發,該IP包到達目的主機後返回路徑無法通過路由達到的,於是目的主機無法通過TCP三次握手建立連線。在此期間因為TCP快取佇列已經填滿,而拒絕新的連線請求。目的主機一直嘗試直至超時(大約75秒)。這就是該攻擊型別的基本機制。

發動攻擊的主機只要傳送較少的,來源地址經過偽裝而且無法通過路由達到的SYN連線請求至目標主機提供TCP服務的埠,將目的主機的TCP快取佇列填滿,就可以實施一次成功的攻擊。實際情況下,發動攻擊時往往是持續且高速的。

SYN Flood攻擊

1、攻擊原理

SYN Flood是拒絕服務攻擊的一種,所謂拒絕服務攻擊,即想辦法讓目標機器停止提供服務

這是一種利用TCP協議缺陷,傳送大量偽造的TCP連線請求,使被攻擊方資源耗盡(CPU滿負荷或記憶體不足)的攻擊方式

如果一個計算機系統崩潰或其頻寬耗盡或其硬碟被填滿,導致其不能提供正常的服務,就構成拒絕服務

TCP的三次握手

由客戶端向伺服器傳送一個包含SYN標誌的資料包,表明請求與伺服器進行通訊,此時同伺服器建立了第一次握手

伺服器會返回一個SYN+ACK的報文,表示客戶端的請求被接受,此時同伺服器建立了第二次握手

最後客戶端在傳送一個確認報文ACK,此時同伺服器建立了第三次握手,TCP連線成功

如果發生了SYN Flood攻擊,攻擊者會在短時間內偽造並不存在的IP地址,向伺服器不斷的`傳送SYN包,並且建立第一次握手,伺服器則會回覆ACK確認報文,建立第二次握手,在進行第三次握手時,伺服器等待攻擊者的確認,但此時攻擊者並不會回覆,伺服器就會不斷重發直至超時,這些偽造的SYN包將長時間佔用未連線佇列,其他客戶的正常的SYN請求不能被接收,目標系統執行緩慢,造成網路擁堵。

2、SYN Flood攻擊簡單示例

同一區域網下

攻擊者:Kali Linux  IP:

被攻擊者:Windows XP IP:

1)檢視兩虛擬機器的IP地址,判斷是否在同一網段下

Kali Linux:ifconfig

Windows XP:ipconfig

2)測試連通性(用ping指令)

3)在Windows XP上開啟工作管理員——效能(監控CPU的利用率)

4)開始SYN Flood攻擊

Kali Linux:hping3 -q -n -a 偽造源IP地址 -S -s 53 --keep -p 445 --flood 目標IP地址

5)檢視結果

檢視Windows XP 的工作管理員,發現在被攻擊的同時,很快Windows XP的效能使用率就已達到100%(居高不下)

表明攻擊成功

6)wireshark抓包觀察

可以發現有大量的源地址為偽造地址()的TCP包

目的主機處理不過來,以致於資源逐步被耗盡,最終導致系統崩潰。