當前位置:學問君>學習教育>畢業論文>

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

學問君 人氣:1.72W

在社會發展不斷提速的今天,協議與我們的生活息息相關,簽訂協議後則有法可依,有據可尋。那麼協議怎麼寫才能發揮它最大的作用呢?以下是小編爲大家整理的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包

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