久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 簡(jiǎn)述SYN Flood 的基本原理

簡(jiǎn)述SYN Flood 的基本原理

來(lái)源:千鋒教育
發(fā)布人:syq
時(shí)間: 2022-07-26 17:40:54 1658828454

  SYN Flood 是當(dāng)前最流行的 DoS(拒絕服務(wù)攻擊)與 DDoS(分布式拒絕服務(wù)攻擊)的方式之一,這是一種利用 TCP 協(xié)議缺陷,發(fā)送大量偽造的 TCP 連接請(qǐng)求,從而使得被攻擊方資源耗盡(CPU 滿(mǎn)負(fù)荷或內(nèi)存不足)的攻擊方式。要明白SYN Flood 的基本原理,還是要從 TCP 連接建立的過(guò)程開(kāi)始說(shuō)起:

SYN Flood 的基本原理

  大家都知道,TCP 與 UDP 不同,它是基于連接的,也就是說(shuō):為了在服務(wù)端和客戶(hù)端之間傳送 TCP 數(shù)據(jù),必須先建立一個(gè)虛擬電路,也就是 TCP 連接,建立 TCP 連接的標(biāo)準(zhǔn)過(guò)程是這樣的:

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

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

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

  以上的連接過(guò)程在 TCP 協(xié)議中被稱(chēng)為三次握手(Three-way Handshake)。問(wèn)題就出在 TCP 連接的三次握手中,假設(shè)一個(gè)用戶(hù)向服務(wù)器發(fā)送了 SYN 報(bào)文后突然死機(jī)或掉線(xiàn),那么服務(wù)器在發(fā)出 SYN+ACK 應(yīng)答報(bào)文后是無(wú)法收到客戶(hù)端的 ACK 報(bào)文的(第三次握手無(wú)法完成),這種情況下服務(wù)器端一般會(huì)重試(再次發(fā)送 SYN+ACK 給客戶(hù)端)并等待一段時(shí)間后丟棄這個(gè)未完成的連接,這段時(shí)間的長(zhǎng)度我們稱(chēng)為 SYN Timeout,一般來(lái)說(shuō)這個(gè)時(shí)間是分鐘的數(shù)量級(jí)(大約為 30 秒-2 分鐘);一個(gè)用戶(hù)出現(xiàn)異常導(dǎo)致服務(wù)器的一個(gè)線(xiàn)程等待 1 分鐘并不是什么很大的問(wèn)題,但如果有一個(gè)惡意的攻擊者大量模擬這種情況,服務(wù)器端將為了維護(hù)一個(gè)非常大的半連接列表而消耗非常多的資源----數(shù)以萬(wàn)計(jì)的半連接,即使是簡(jiǎn)單的保存并遍歷也會(huì)消耗非常多的 CPU 時(shí)間和內(nèi)存,何況還要不斷對(duì)這個(gè)列表中的 IP 進(jìn)行 SYN+ACK 的重試。

  實(shí)際上如果服務(wù)器的 TCP/IP 棧不夠強(qiáng)大,最后的結(jié)果往往是堆棧溢出崩潰---即使服務(wù)器端的系統(tǒng)足夠強(qiáng)大,服務(wù)器端也將忙于處理攻擊者偽造的 TCP 連接請(qǐng)求而無(wú)暇理睬客戶(hù)的正常請(qǐng)求(畢竟客戶(hù)端的正常請(qǐng)求比率非常之小),此時(shí)從正??蛻?hù)的角度看來(lái),服務(wù)器失去響應(yīng),這種情況我們稱(chēng)作:服務(wù)器端受到了 SYN Flood 攻擊(SYN 洪水攻擊)。從防御角度來(lái)說(shuō),有幾種簡(jiǎn)單的解決方法:

  第一種是縮短 SYNTimeout 時(shí)間

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

  第二種方法是設(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ì)被一概丟棄。

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

  以上是對(duì)SYN Flood 的基本原理的簡(jiǎn)單介紹,更多關(guān)于網(wǎng)絡(luò)安全培訓(xùn)的問(wèn)題,歡迎咨詢(xún)千鋒教育在線(xiàn)名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話(huà)可以點(diǎn)擊咨詢(xún)課程顧問(wèn),獲取試聽(tīng)資格來(lái)試聽(tīng)我們的課程,在線(xiàn)零距離接觸千鋒教育大咖名師,讓你輕松從入門(mén)到精通。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
云快照與自動(dòng)備份有什么區(qū)別?

1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時(shí)間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動(dòng)備份的主要目標(biāo)...詳情>>

2023-10-14 12:48:59
服務(wù)器為什么要用Linux?

服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢(shì)和特點(diǎn)。包括其...詳情>>

2023-10-14 12:34:11
ORM解決的主要問(wèn)題是什么?

ORM(對(duì)象關(guān)系映射)解決的主要問(wèn)題是將關(guān)系數(shù)據(jù)庫(kù)與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)中,數(shù)據(jù)以表格的形式存儲(chǔ),而在面向?qū)ο?..詳情>>

2023-10-14 12:26:19
Go為什么不支持三元運(yùn)算符?

Go為什么不支持三元運(yùn)算符Go語(yǔ)言是一種以簡(jiǎn)潔和有效性為目標(biāo)的編程語(yǔ)言,因此在設(shè)計(jì)過(guò)程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

2023-10-14 12:12:36
IT通常說(shuō)的平臺(tái)是什么意思?

在信息技術(shù)(IT)領(lǐng)域,”平臺(tái)”這個(gè)詞有著廣泛的含義,它常常指代支持軟件應(yīng)用開(kāi)發(fā)和運(yùn)行的基礎(chǔ)框架和環(huán)境。以下是對(duì)”平臺(tái)”這個(gè)概念的更深入...詳情>>

2023-10-14 11:55:36