- 相關(guān)推薦
Syn Flood攻擊是利用TCP/IP協(xié)議的什么漏洞
在現(xiàn)實社會中,協(xié)議的使用頻率呈上升趨勢,簽訂協(xié)議可以使雙方受到法律的保護。協(xié)議到底怎么寫才合適呢?下面是小編收集整理的Syn Flood攻擊是利用TCP/IP協(xié)議的什么漏洞,希望能夠幫助到大家。
Syn Flood攻擊是利用TCP/IP協(xié)議的什么漏洞1
答:客戶端通過發(fā)送在TCP報頭中SYN標志置位的數(shù)據(jù)分段到服務(wù)端來請求建立連接。通常情況下,服務(wù)端會按照IP報頭中的來源地址來返回SYN/ACK置位的數(shù)據(jù)包給客戶端,客戶端再返回ACK到服務(wù)端來完成一個完整的連接(Figure-1)。
在攻擊發(fā)生時,客戶端的來源IP地址是經(jīng)過偽造的(spoofed),現(xiàn)行的IP路由機制僅檢查目的IP地址并進行轉(zhuǎn)發(fā),該IP包到達目的主機后返回路徑無法通過路由達到的,于是目的主機無法通過TCP三次握手建立連接。在此期間因為TCP緩存隊列已經(jīng)填滿,而拒絕新的連接請求。目的主機一直嘗試直至超時(大約75秒)。這就是該攻擊類型的基本機制。
發(fā)動攻擊的主機只要發(fā)送較少的,來源地址經(jīng)過偽裝而且無法通過路由達到的SYN連接請求至目標主機提供TCP服務(wù)的端口,將目的主機的TCP緩存隊列填滿,就可以實施一次成功的'攻擊。實際情況下,發(fā)動攻擊時往往是持續(xù)且高速的。
SYN Flood攻擊
1、攻擊原理
SYN Flood是拒絕服務(wù)攻擊的一種,所謂拒絕服務(wù)攻擊,即想辦法讓目標機器停止提供服務(wù)。
這是一種利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,使被攻擊方資源耗盡(CPU滿負荷或內(nèi)存不足)的攻擊方式。
如果一個計算機系統(tǒng)崩潰或其帶寬耗盡或其硬盤被填滿,導(dǎo)致其不能提供正常的服務(wù),就構(gòu)成拒絕服務(wù)。
TCP的三次握手
由客戶端向服務(wù)器發(fā)送一個包含SYN標志的數(shù)據(jù)包,表明請求與服務(wù)器進行通信,此時同服務(wù)器建立了第一次握手。
服務(wù)器會返回一個SYN+ACK的報文,表示客戶端的請求被接受,此時同服務(wù)器建立了第二次握手。
最后客戶端在發(fā)送一個確認報文ACK,此時同服務(wù)器建立了第三次握手,TCP連接成功。
如果發(fā)生了SYN Flood攻擊,攻擊者會在短時間內(nèi)偽造并不存在的IP地址,向服務(wù)器不斷的發(fā)送SYN包,并且建立第一次握手,服務(wù)器則會回復(fù)ACK確認報文,建立第二次握手,在進行第三次握手時,服務(wù)器等待攻擊者的確認,但此時攻擊者并不會回復(fù),服務(wù)器就會不斷重發(fā)直至超時,這些偽造的SYN包將長時間占用未連接隊列,其他客戶的正常的SYN請求不能被接收,目標系統(tǒng)運行緩慢,造成網(wǎng)絡(luò)擁堵。
2、SYN Flood攻擊簡單示例
同一局域網(wǎng)下
攻擊者:Kali Linux IP:192.168.220.136
被攻擊者:Windows XP IP:192.168.220.142
1)查看兩虛擬機的IP地址,判斷是否在同一網(wǎng)段下
Kali Linux:ifconfig
Windows XP:ipconfig
2)測試連通性(用ping指令)
3)在Windows XP上打開任務(wù)管理器——性能(監(jiān)控CPU的利用率)
4)開始SYN Flood攻擊
Kali Linux:hping3 -q -n -a 偽造源IP地址 -S -s 53 --keep -p 445 --flood 目標IP地址
5)查看結(jié)果
查看Windows XP 的任務(wù)管理器,發(fā)現(xiàn)在被攻擊的同時,很快Windows XP的性能使用率就已達到100%(居高不下)
表明攻擊成功。
6)wireshark抓包觀察
可以發(fā)現(xiàn)有大量的源地址為偽造地址(1.1.1.1)的TCP包。
目的主機處理不過來,以致于資源逐步被耗盡,最終導(dǎo)致系統(tǒng)崩潰。
Syn Flood攻擊是利用TCP/IP協(xié)議的什么漏洞2
一、syn flood攻擊原理是什么?
syn flood攻擊利用了TCP協(xié)議實現(xiàn)上的一個缺陷,通過向網(wǎng)絡(luò)服務(wù)所在端口發(fā)送大量的偽造源地址的攻擊報文,就可能造成目標服務(wù)器中的半開連接隊列被占滿,從而阻止其他合法用戶進行訪問。這種攻擊早在1996年就被發(fā)現(xiàn),但至今仍然顯示出強大的生命力。很多操作系統(tǒng),甚至防火墻、路由器都無法有效地防御這種攻擊,而且由于它可以方便地偽造源地址,追查起來非常困難。
客戶端發(fā)起連接的報文即為syn報文。當(dāng)攻擊者發(fā)送大量的偽造IP端口的syn報文時,服務(wù)端接收到syn報文后,新建一共表項插入到半連接隊列,并發(fā)送syn ack。但由于這些syn報文都是偽造的,發(fā)出去的syn ack報文將沒有回應(yīng)。TCP是可靠協(xié)議,這時就會重傳報文,默認重試次數(shù)為5次,重試的間隔時間從1s開始每次都番倍,分別為1s + 2s + 4s + 8s +16s = 31s,第5次發(fā)出后還要等32s才知道第5次也超時了,所以一共是31 + 32 = 63s。
也就是說一共假的syn報文,會占用TCP準備隊列63s之久,而半連接隊列默認為1024,系統(tǒng)默認不同,可 cat /proc/sys/net/ipv4/tcp max syn backlog c查看。也就是說在沒有任何防護的情況下,每秒發(fā)送200個偽造syn包,就足夠撐爆半連接隊列,從而使真正的`連接無法建立,無法響應(yīng)正常請求。
一臺普通的每秒就可以輕松偽造100w個syn包。因此即使把隊列大小調(diào)大最大也無濟于事。
二、如何防范syn flood攻擊?
針對syn flood攻擊有2種比較通用的防范機制:
1.cookie源認證:
原理是syn報文首先由DDOS防護系統(tǒng)來響應(yīng)syn ack。帶上特定的sequence number (記為cookie)。真實的客戶端會返回一個ack 并且Acknowledgment number 為cookie+1。而偽造的客戶端,將不會作出響應(yīng)。這樣我們就可以知道那些IP對應(yīng)的客戶端是真實的,將真實客戶端IP加入白名單。下次訪問直接通過,而其他偽造的syn報文就被攔截。防護示意圖如下:
2.reset認證:
Reset認證利用的是TCP協(xié)議的可靠性,也是首先由DDOS防護系統(tǒng)來響應(yīng)syn。防護設(shè)備收到syn后響應(yīng)syn ack,將Acknowledgement number (確認號)設(shè)為特定值(記為cookie)。當(dāng)真實客戶端收到這個報文時,發(fā)現(xiàn)確認號不正確,將發(fā)送reset報文,并且sequence number 為cookie + 1。
而偽造的源,將不會有任何回應(yīng)。這樣我們就可以將真實的客戶端IP加入白名單。
通常在實際應(yīng)用中還會結(jié)合首包丟棄的方式結(jié)合源認證一起使用,首包丟棄原理為:在DDOS防護設(shè)備收到syn報文后,記錄5元組,然后丟棄。正常用戶將重傳syn報文,防護設(shè)備在收到報文命中5元組,并且在規(guī)定時間內(nèi),則轉(zhuǎn)發(fā)。當(dāng)重傳syn報文到達一定閥值時,在啟用上述的源認證。這樣就能減少反射syn ack報文的數(shù)量,緩解網(wǎng)絡(luò)擁堵,同時對防護不產(chǎn)生影響。
【Syn Flood攻擊是利用TCP/IP協(xié)議的什么漏洞】相關(guān)文章:
TCP/IP安全性研究03-08
具有TCP/IP協(xié)議的智能開關(guān)控制器的研究03-08
在TMS320VC5402上實現(xiàn)的嵌入式TCP/IP協(xié)議棧03-19
嵌入式TCP/IP協(xié)議單片機技術(shù)在網(wǎng)絡(luò)通信中的應(yīng)用03-07
利用ASP獲取客戶端真實IP地址03-18
基于精簡TCP/IP協(xié)議棧的信息家電網(wǎng)絡(luò)服務(wù)器03-18
法律漏洞與司法適用03-09