中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

詳解SYN Flood攻擊原理與防范

2018-06-23    來(lái)源:

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

SYN Flood的基本原理

  SYN Flood是當(dāng)前最流行的DoS(拒絕服務(wù)攻擊)與DDoS(分布式拒絕服務(wù)攻擊)的方式之一,它是利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請(qǐng)求,從而使得被攻擊方資源耗盡(CPU滿負(fù)荷或內(nèi)存不足)的攻擊方式,最終導(dǎo)致系統(tǒng)或服務(wù)器宕機(jī)。

  在討論SYN Flood原理前,我們需要從TCP連接建立的過(guò)程開(kāi)始說(shuō)起:

  TCP與UDP不同,它是基于連接的,為了在服務(wù)端和客戶端之間傳送TCP數(shù)據(jù),必須先建立一個(gè)虛擬電路,也就是TCP連接。也就是我們經(jīng)常聽(tīng)說(shuō)的TCP協(xié)議中的三次握手(Three-way Handshake),建立TCP連接的標(biāo)準(zhǔn)過(guò)程如下:

  首先,客戶端發(fā)送一個(gè)包含SYN標(biāo)志的TCP報(bào)文,SYN即同步(Synchronize),同步報(bào)文會(huì)指明客戶端使用的端口以及TCP連接的初始序號(hào);

  其次,服務(wù)器在收到客戶端的SYN報(bào)文后,將返回一個(gè)SYN+ACK(即確認(rèn)Acknowledgement)的報(bào)文,表示客戶端的請(qǐng)求被接受,同時(shí)TCP初始序號(hào)自動(dòng)加一。

  最后,客戶端也返回一個(gè)確認(rèn)報(bào)文ACK給服務(wù)器端,同樣TCP序列號(hào)被加一,到此一個(gè)TCP連接完成。

  SYN Flood攻擊正是利用了TCP連接的三次握手,假設(shè)一個(gè)用戶向服務(wù)器發(fā)送了SYN報(bào)文后突然死機(jī)或掉線,那么服務(wù)器在發(fā)出SYN+ACK應(yīng)答報(bào)文后是無(wú)法收到客戶端的ACK報(bào)文的(第三次握手無(wú)法完成),這種情況下服務(wù)器端一般會(huì)重試(再次發(fā)送SYN+ACK給客戶端)并等待一段時(shí)間后丟棄這個(gè)未完成的連接,這段時(shí)間的長(zhǎng)度我們稱為SYN Timeout,一般來(lái)說(shuō)這個(gè)時(shí)間是分鐘的數(shù)量級(jí)(大約為30秒-2分鐘);一個(gè)用戶出現(xiàn)異常導(dǎo)致服務(wù)器的一個(gè)線程等待1分鐘并不會(huì)對(duì)服務(wù)器端造成什么大的影響,但如果有大量的等待丟失的情況發(fā)生,服務(wù)器端將為了維護(hù)一個(gè)非常大的半連接請(qǐng)求而消耗非常多的資源。我們可以想象大量的保存并遍歷也會(huì)消耗非常多的CPU時(shí)間和內(nèi)存,再加上服務(wù)器端不斷對(duì)列表中的IP進(jìn)行SYN+ACK的重試,服務(wù)器的負(fù)載將會(huì)變得非常巨大。如果服務(wù)器的TCP/IP棧不夠強(qiáng)大,最后的結(jié)果往往是堆棧溢出崩潰。相對(duì)于攻擊數(shù)據(jù)流,正常的用戶請(qǐng)求就顯得十分渺小,服務(wù)器疲于處理攻擊者偽造的TCP連接請(qǐng)求而無(wú)暇理睬客戶的正常請(qǐng)求,此時(shí)從正?蛻魰(huì)表現(xiàn)為打開(kāi)頁(yè)面緩慢或服務(wù)器無(wú)響應(yīng),這種情況就是我們常說(shuō)的服務(wù)器端SYN Flood攻擊(SYN洪水攻擊)。

  從防御角度來(lái)講,存在幾種的解決方法:

      第一種是縮短SYN Timeout時(shí)間,由于SYN Flood攻擊的效果取決于服務(wù)器上保持的SYN半連接數(shù),這個(gè)值=SYN攻擊的頻度 x SYN Timeout,所以通過(guò)縮短從接收到SYN報(bào)文到確定這個(gè)報(bào)文無(wú)效并丟棄改連接的時(shí)間,例如設(shè)置為20秒以下,可以成倍的降低服務(wù)器的負(fù)荷。但過(guò)低的SYN Timeout設(shè)置可能會(huì)影響客戶的正常訪問(wèn)。

  第二種方法是設(shè)置SYN Cookie,就是給每一個(gè)請(qǐng)求連接的IP地址分配一個(gè)Cookie,如果短時(shí)間內(nèi)連續(xù)受到某個(gè)IP的重復(fù)SYN報(bào)文,就認(rèn)定是受到了攻擊,并記錄地址信息,以后從這個(gè)IP地址來(lái)的包會(huì)被一概丟棄。這樣做的結(jié)果也可能會(huì)影響到正常用戶的訪問(wèn)。

  上述的兩種方法只能對(duì)付比較原始的SYN Flood攻擊,縮短SYN Timeout時(shí)間僅在對(duì)方攻擊頻度不高的情況下生效,SYN Cookie更依賴于對(duì)方使用真實(shí)的IP地址,如果攻擊者以數(shù)萬(wàn)/秒的速度發(fā)送SYN報(bào)文,同時(shí)利用SOCK_RAW隨機(jī)改寫(xiě)IP報(bào)文中的源地址,以上的方法將毫無(wú)用武之地。

 SYN Flooder源碼解讀

  下面我們來(lái)分析SYN Flooder的程序?qū)崿F(xiàn)。

  首先,我們來(lái)看一下TCP報(bào)文的格式:

      0 1 2 3 4 5 6
  0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4 6 8 0 2 4
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | IP首部 | TCP首部 | TCP數(shù)據(jù)段   |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                                               圖一 TCP報(bào)文結(jié)構(gòu)

  如上圖所示,一個(gè)TCP報(bào)文由三個(gè)部分構(gòu)成:20字節(jié)的IP首部、20字節(jié)的TCP首部與不定長(zhǎng)的數(shù)據(jù)段,實(shí)際操作時(shí)可能會(huì)有可選的IP選項(xiàng),這種情況下TCP首部向后順延,由于我們只是發(fā)送一個(gè)SYN信號(hào),并不傳遞任何數(shù)據(jù),所以TCP數(shù)據(jù)段為空。TCP首部的數(shù)據(jù)結(jié)構(gòu)為:

      0 1 2 3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | 十六位源端口號(hào) | 十六位目標(biāo)端口號(hào) |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | 三十二位序列號(hào) |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | 三十二位確認(rèn)號(hào) |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | 四位 | |U|A|P|R|S|F| |
  | 首部 |六位保留位 |R|C|S|S|Y|I| 十六位窗口大小 |
  | 長(zhǎng)度 | |G|K|H|T|N|N| |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | 十六位校驗(yàn)和 | 十六位緊急指針 |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | 選項(xiàng)(若有) |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | 數(shù)據(jù)(若有) |

標(biāo)簽: ddos 服務(wù)器 服務(wù)器端

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:Macro.Word97.Navrhar

下一篇:趨勢(shì)科技借助云安全 連續(xù)斬獲大單