中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
SYN flood網(wǎng)絡(luò)攻擊的原理及其防御方法
作者: 來源: 冰盾科技 日期: 2006-8-6 9:38
SYN flood網(wǎng)絡(luò)攻擊的原理及其防御方法
摘要
介紹了SYN Flood攻擊的基本原理,詳細(xì)地描述了目前幾種比較有效的兩種防御措施:SYN-cookie技術(shù)和地址狀態(tài)監(jiān)控技術(shù)。
關(guān)鍵詞   SYN Flood攻擊  拒絕服務(wù)攻擊  SYN cookie
1 SYN Flood攻擊介紹:
拒絕服務(wù)攻擊(Denial of Service,DoS)是目前比較有效而又非常難于防御的一種網(wǎng)絡(luò)攻擊方式,它的目的就是使服務(wù)器不能夠為正常訪問的用戶提供服務(wù)。所以,DoS對一些緊密依靠互聯(lián)網(wǎng)開展業(yè)務(wù)的企業(yè)和組織帶來了致命的威脅。
SYN Flood是最為有效和流行的一種DoS攻擊形式。它利用TCP三次握手協(xié)議的缺陷,向目標(biāo)主機發(fā)送大量的偽造源地址的SYN連接請求,消耗目標(biāo)主機的資源,從而不能夠為正常用戶提供服務(wù)。
1.1 TCP連接建立的過程
要掌握SYN Flood攻擊的基本原理,必須先介紹TCP的三次握手機制。
TCP三次握手過程如下:
1)客戶端向服務(wù)器端發(fā)送一個SYN置位的TCP報文,包含客戶端使用的端口號和初始序列號x;
2)服務(wù)器端收到客戶端發(fā)送來的SYN報文后,向客戶端發(fā)送一個SYN和ACK都置位的TCP報文,包含確認(rèn)號為x+1和服務(wù)器的初始序列號y;
3)
TCP客戶端
客戶端端口
(1024-65535)
TCP服務(wù)器端
服務(wù)器端口
(1-1023)
SYN
SYN/ACK
ACK
客戶端收到服務(wù)器返回的SYN+ACK報文后,向服務(wù)器返回一個確認(rèn)號為y+1序號為x+1的ACK報文,一個標(biāo)準(zhǔn)的TCP連接完成。如圖1所示:
1.2 攻擊原理
在SYN Flood攻擊中,黑客機器向受害主機發(fā)送大量偽造源地址的TCP SYN報文,受害主機分配必要的資源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包,如圖2所示。由于源地址是偽造的,所以源端永遠(yuǎn)都不會返回ACK報文,受害主機繼續(xù)發(fā)送SYN+ACK包,并將半連接放入端口的積壓隊列中,雖然一般的主機都有超時機制和默認(rèn)的重傳次數(shù),但怯捎詼絲詰陌肓傭恿械某ざ仁怯邢薜模綣歡系南蚴芎χ骰⑺痛罅康腡CP SYN報文,半連接隊列就會很快填滿,服務(wù)器拒絕新的連接,將導(dǎo)致該端口無法響應(yīng)其他機器進(jìn)行的連接請求,最終使受害主機的資源耗盡。
TCP客戶端
客戶端端口
(1024-65535)
TCP服務(wù)器端
服務(wù)器端口
(1-1023)
SYN
SYN/ACK
偽造源地址
2  幾種防御技術(shù)
SYN Flood攻擊給互聯(lián)網(wǎng)造成重大影響后,針對如何防御SYN Flood攻擊出現(xiàn)了幾種比較有效的技術(shù)。
2.1   SYN-cookie技術(shù)
一般情況下,當(dāng)服務(wù)器收到一個TCP SYN報文后,馬上為該連接請求分配緩沖區(qū),然后返回一個SYN+ACK報文,這時形成一個半連接。SYN Flood正是利用了這一點,發(fā)送大量的偽造源地址的SYN連接請求,而不完成連接。這樣就大量的消耗的服務(wù)器的資源。
SYN-cookie技術(shù)針對標(biāo)準(zhǔn)TCP連接建立過程資源分配上的這一缺陷,改變了資源分配的策略。當(dāng)服務(wù)器收到一個SYN報文后,不立即分配緩沖區(qū),而是利用連接的信息生成一個cookie,并將這個cookie作為將要返回的SYN+ACK報文的初始序列號。當(dāng)客戶端返回一個ACK報文時,根據(jù)包頭信息計算cookie,與返回的確認(rèn)序列號(初始的序列號+1)的前24位進(jìn)行對比,如果相同,則是一個正常連接,然后,分配資源,建立連接。
該技術(shù)的巧妙之點在于避免了在連接信息未完全到達(dá)前進(jìn)行資源分配,使SYN Flood攻擊的資源消耗失效。實現(xiàn)的關(guān)鍵之處在于cookie的計算。cookie的計算應(yīng)該做到包含本次連接的狀態(tài)信息,使攻擊者不能偽造cookie。cookie的計算過程如下:
1)服務(wù)器收到一個SYN包后,計算一個消息摘要mac:
mac = MAC(A,k);
MAC是密碼學(xué)中的一個消息認(rèn)證碼函數(shù),也就是滿足某種安全性質(zhì)的帶密鑰的hash函數(shù),它能夠提供cookie計算中需要的安全性。
A為客戶和服務(wù)器雙方的IP地址和端口號以及參數(shù)t的串聯(lián)組合:
A = SOURCE_IP || SOURCE_PORT || DST_IP || DST_PORT || t
K為服務(wù)器獨有的密鑰;
時間參數(shù)t為32比特長的時間計數(shù)器,每64秒加1;
2)生成cookie:
cookie = mac(0:24):表示取mac值的第0到24比特位;
3)設(shè)置將要返回的SYN+ACK報文的初始序列號,設(shè)置過程如下:
i.              高24位用cookie代替;
ii.              接下來的3比特位用客戶要求的最大報文長度MMS代替;
iii.              最后5比特位為t mod 32。
客戶端收到來自服務(wù)器SYN+ACK報文后,返回一個ACK報文,這個ACK報文將帶一個cookie(確認(rèn)號為服務(wù)器發(fā)送過來的SYN ACK報文的初始序列號加1,所以不影響高24位),在服務(wù)器端重新計算cookie,與確認(rèn)號的前24位比較,如果相同,則說明未被修改,連接合法,然后,服務(wù)器完成連接的建立過程。
SYN-cookie技術(shù)由于在連接建立過程中不需要在服務(wù)器端保存任何信息,實現(xiàn)了無狀態(tài)的三次握手,從而有效的防御了SYN Flood攻擊。但是該方法也存在一些弱點。由于cookie的計算只涉及了包頭的部分信心,在連接建立過程中不在服務(wù)器端保存任何信息,所以失去了協(xié)議的許多功能,比如,超時重傳。此外,由于計算cookie有一定的運算量,增加了連接建立的延遲時間,因此,SYN-cookie技術(shù)不能作為高性能服務(wù)器的防御手段。通常采用動態(tài)資源分配機制,當(dāng)分配了一定的資源后再采用cookie技術(shù),Linux就是這樣實現(xiàn)的。還有一個問題是,當(dāng)我們避免了SYN Flood攻擊的同時,同時也提供了另一種拒絕服務(wù)攻擊方式,攻擊者發(fā)送大量的ACK報文,使服務(wù)器忙于計算驗證。盡管如此,在預(yù)防SYN Flood攻擊方面,SYN-cookie技術(shù)仍然是一種有效的技術(shù)。
2.2  地址狀態(tài)監(jiān)控的解決方法
地址狀態(tài)監(jiān)控的解決方法是利用監(jiān)控工具對網(wǎng)絡(luò)中的有關(guān)TCP連接的數(shù)據(jù)包進(jìn)行監(jiān)控,并對監(jiān)聽到的數(shù)據(jù)包進(jìn)行處理。處理的主要依據(jù)是連接請求的源地址。
每個源地址都有一個狀態(tài)與之對應(yīng),總共有四種狀態(tài):
初態(tài):任何源地址剛開始的狀態(tài);
NEW狀態(tài):第一次出現(xiàn)或出現(xiàn)多次也不能斷定存在的源地址的狀態(tài);
GOOD狀態(tài):斷定存在的源地址所處的狀態(tài);
BAD狀態(tài):源地址不存在或不可達(dá)時所處的狀態(tài)。
具體的動作和狀態(tài)轉(zhuǎn)換根據(jù)TCP頭中的位碼值決定:
1)監(jiān)聽到SYN包,如果源地址是第一次出現(xiàn),則置該源地址的狀態(tài)為NEW狀態(tài);如果是NEW狀態(tài)或BAD狀態(tài);則將該包的RST位置1然后重新發(fā)出去,如果是GOOD狀態(tài)不作任何處理。
2)監(jiān)聽到ACK或RST包,如果源地址的狀態(tài)為NEW狀態(tài),則轉(zhuǎn)為GOOD狀態(tài);如果是GOOD狀態(tài)則不變;如果是BAD狀態(tài)則轉(zhuǎn)為NEW狀態(tài);如果是BAD狀態(tài)則轉(zhuǎn)為NEW狀態(tài)。
3)監(jiān)聽到從服務(wù)器來的SYN ACK報文(目的地址為addr),表明服務(wù)器已經(jīng)為從addr發(fā)來的連接請求建立了一個半連接,為防止建立的半連接過多,向服務(wù)器發(fā)送一個ACK包,建立連接,同時,開始計時,如果超時,還未收到ACK報文,證明addr不可達(dá),如果此時addr的狀態(tài)為GOOD則轉(zhuǎn)為NEW狀態(tài);如果addr的狀態(tài)為NEW狀態(tài)則轉(zhuǎn)為BAD狀態(tài);如果為addr的狀態(tài)為BAD狀態(tài)則不變。
狀態(tài)的轉(zhuǎn)換圖如圖3所示:
初態(tài)
GOOD
NEW
BAD
ACK/RST
SYN
ACK/RST
ACK包確認(rèn)超時
ACK/RST
ACK包確認(rèn)超時
下面分析一下基于地址狀態(tài)監(jiān)控的方法如何能夠防御SYN Flood攻擊。
 
1)對于一個偽造源地址的SYN報文,若源地址第一次出現(xiàn),則源地址的狀態(tài)為NEW狀態(tài),當(dāng)監(jiān)聽到服務(wù)器的SYN+ACK報文,表明服務(wù)器已經(jīng)為該源地址的連接請求建立了半連接。此時,監(jiān)控程序代源地址發(fā)送一個ACK報文完成連接。這樣,半連接隊列中的半連接數(shù)不是很多。計時器開始計時,由于源地址是偽造的,所以不會收到ACK報文,超時后,監(jiān)控程序發(fā)送RST數(shù)據(jù)包,服務(wù)器釋放該連接,該源地址的狀態(tài)轉(zhuǎn)為BAD狀態(tài)。之后,對于每一個來自該源地址的SYN報文,監(jiān)控程序都會主動發(fā)送一個RST報文。
2)對于一個合法的SYN報文,若源地址第一次出現(xiàn),則源地址的狀態(tài)為NEW狀態(tài),服務(wù)器響應(yīng)請求,發(fā)送SYN+ACK報文,監(jiān)控程序發(fā)送ACK報文,連接建立完畢。之后,來自客戶端的ACK很快會到達(dá),該源地址的狀態(tài)轉(zhuǎn)為GOOD狀態(tài)。服務(wù)器可以很好的處理重復(fù)到達(dá)的ACK包。
從以上分析可以看出,基于監(jiān)控的方法可以很好的防御SYN Flood攻擊,而不影響正常用戶的連接。
3   小結(jié)
本文介紹了SYN Flood攻擊的基本原理,然后詳細(xì)描述了兩種比較有效和方便實施的防御方法:SYN-cookie技術(shù)和基于監(jiān)控的源地址狀態(tài)技術(shù)。SYN-cookie技術(shù)實現(xiàn)了無狀態(tài)的握手,避免了SYN Flood的資源消耗。基于監(jiān)控的源地址狀態(tài)技術(shù)能夠?qū)γ恳粋€連接服務(wù)器的IP地址的狀態(tài)進(jìn)行監(jiān)控,主動采取措施避免SYN Flood攻擊的影響。這兩種技術(shù)是目前所有的防御SYN Flood攻擊的最為成熟和可行的技術(shù)。
參考文獻(xiàn)
1.   顏學(xué)雄,王清賢,李梅林.  SYN Flood攻擊原理與預(yù)防方法.  計算機應(yīng)用,2000
2.   孫  曦,朱曉妍,王育林. DDoS下的TCP洪流攻擊及對策. 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2004
3.   李  磊,趙永祥,陳常嘉. TCP SYN Flooding原理及其應(yīng)對策略. 網(wǎng)絡(luò)與應(yīng)用,2003
4.   陳  波. SYN Flood攻擊的原理、實現(xiàn)與防范. 計算機應(yīng)用與研究,2003
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
常見的Web攻擊手段,拿捏了
終于把TCP和UDP講清楚了
通訊系統(tǒng)經(jīng)驗談【一】TCP連接狀態(tài)分析:SYNC
tcp連接全過程各種狀態(tài)詳解
三十三個計算機網(wǎng)絡(luò)核心知識點
防火墻防止DDOS的幾種方式
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服