SYN Flood攻擊原理與防護(hù)

SYN Flood攻擊早在1996年就被發(fā)現(xiàn),但至今仍然顯示出強(qiáng)大的生命力。很多操作系統(tǒng),甚至防火墻、路由器都無(wú)法有效地防御這種攻擊,而且由于它可以方便地偽造源地址,追查起來非常困難。它的數(shù)據(jù)包特征通常是,源發(fā)送了大量的SYN包,并且缺少三次握手的最后一步握手ACK回復(fù)。
SYN Flood攻擊原理
例如,攻擊者首先偽造地址對(duì)服務(wù)器發(fā)起SYN請(qǐng)求(我可以建立連接嗎?),服務(wù)器就會(huì)回應(yīng)一個(gè)ACK+SYN(可以+請(qǐng)確認(rèn))。而真實(shí)的IP會(huì)認(rèn)為,我沒有發(fā)送請(qǐng)求,不作回應(yīng)。服務(wù)器沒有收到回應(yīng),會(huì)重試3-5次并且等待一個(gè)SYN Time(一般30秒-2分鐘)后,丟棄這個(gè)連接。
如果攻擊者大量發(fā)送這種偽造源地址的SYN請(qǐng)求,服務(wù)器端將會(huì)消耗非常多的資源來處理這種半連接,保存遍歷會(huì)消耗非常多的CPU時(shí)間和內(nèi)存,何況還要不斷對(duì)這個(gè)列表中的IP進(jìn)行SYN+ACK的重試。最后的結(jié)果是服務(wù)器無(wú)暇理睬正常的連接請(qǐng)求—拒絕服務(wù)。在服務(wù)器上用netstat –an命令查看SYN_RECV狀態(tài)的話,就可以看到:
如果我們抓包來看:ACK回應(yīng)情況
可以看到大量的SYN包沒有ACK回應(yīng)。
SYN Flood攻擊防護(hù)
目前市面上有些防火墻具有SYN Proxy功能,這種方法一般是定每秒通過指定對(duì)象(目標(biāo)地址和端口、僅目標(biāo)地址或僅源地址)的SYN片段數(shù)的閥值,當(dāng)來自相同源地址或發(fā)往相同目標(biāo)地址的SYN片段數(shù)達(dá)到這些閥值之一時(shí),防火墻就開始截取連接請(qǐng)求和代理回復(fù)SYN/ACK片段,并將不完全的連接請(qǐng)求存儲(chǔ)到連接隊(duì)列中直到連接完成或請(qǐng)求超時(shí)。當(dāng)防火墻中代理連接的隊(duì)列被填滿時(shí),防火墻拒絕來自相同安全區(qū)域(zone)中所有地址的新SYN片段,避免網(wǎng)絡(luò)主機(jī)遭受不完整的三次握手的攻擊。但是,這種方法在攻擊流量較大的時(shí)候,連接出現(xiàn)較大的延遲,網(wǎng)絡(luò)的負(fù)載較高,很多情況下反而成為整個(gè)網(wǎng)絡(luò)的瓶頸;?
Random Drop:隨機(jī)丟包的方式雖然可以減輕服務(wù)器的負(fù)載,但是正常連接的成功率也會(huì)降低很多;?
特征匹配:IPS上會(huì)常用的手段,在攻擊發(fā)生的當(dāng)時(shí)統(tǒng)計(jì)攻擊報(bào)文的特征,定義特征庫(kù),例如過濾不帶TCP Options 的syn 包等;
早期攻擊工具(例如synkiller,xdos,hgod等)通常是發(fā)送64字節(jié)的TCP SYN報(bào)文,而主機(jī)操作系統(tǒng)在發(fā)起TCP連接請(qǐng)求時(shí)發(fā)送SYN 報(bào)文是大于64字節(jié)的。因此可以在關(guān)鍵節(jié)點(diǎn)上設(shè)置策略過濾64字節(jié)的TCP SYN報(bào)文,某些宣傳具有防護(hù)SYN Flood攻擊的產(chǎn)品就是這么做的。隨著工具的改進(jìn),發(fā)出的TCP SYN 報(bào)文完全模擬常見的通用操作系統(tǒng),并且IP頭和TCP頭的字段完全隨機(jī),這時(shí)就無(wú)法在設(shè)備上根據(jù)特定的規(guī)則來過濾攻擊報(bào)文。這時(shí)就需要根據(jù)經(jīng)驗(yàn)判斷IP 包頭里TTL值不合理的數(shù)據(jù)包并阻斷,但這種手工的方法成本高、效率低。 圖是某攻擊工具屬性設(shè)置。SYN Cookie攻擊設(shè)置。
SYN Cookie:就是給每一個(gè)請(qǐng)求連接的IP地址分配一個(gè)Cookie,如果短時(shí)間內(nèi)連續(xù)受到某個(gè)IP的重復(fù)SYN報(bào)文,就認(rèn)定是受到了攻擊,以后從這個(gè)IP地址來的包會(huì)被丟棄。但SYN Cookie依賴于對(duì)方使用真實(shí)的IP地址,如果攻擊者利用SOCK_RAW隨機(jī)改寫IP報(bào)文中的源地址,這個(gè)方法就沒效果了。
商業(yè)產(chǎn)品的防護(hù)算法
syn cookie/syn proxy類防護(hù)算法:這種算法對(duì)所有的syn包均主動(dòng)回應(yīng),探測(cè)發(fā)起syn包的源IP地址是否真實(shí)存在;如果該IP地址真實(shí)存在,則該IP會(huì)回應(yīng)防護(hù)設(shè)備的探測(cè)包,從而建立TCP連接;大多數(shù)的國(guó)內(nèi)外抗拒絕服務(wù)產(chǎn)品采用此類算法。
safereset算法:此算法對(duì)所有的syn包均主動(dòng)回應(yīng),探測(cè)包特意構(gòu)造錯(cuò)誤的字段,真實(shí)存在的IP地址會(huì)發(fā)送rst包給防護(hù)設(shè)備,然后發(fā)起第2次連接,從而建立TCP連接;部分國(guó)外產(chǎn)品采用了這樣的防護(hù)算法。?
syn重傳算法:該算法利用了TCP/IP協(xié)議的重傳特性,來自某個(gè)源IP的第一個(gè)syn包到達(dá)時(shí)被直接丟棄并記錄狀態(tài),在該源IP的第2個(gè)syn包到達(dá)時(shí)進(jìn)行驗(yàn)證,然后放行。
綜合防護(hù)算法:結(jié)合了以上算法的優(yōu)點(diǎn),并引入了IP信譽(yù)機(jī)制。當(dāng)來自某個(gè)源IP的第一個(gè)syn包到達(dá)時(shí),如果該IP的信譽(yù)值較高,則采用syncookie算法;而對(duì)于信譽(yù)值較低的源IP,則基于協(xié)議棧行為模式,如果syn包得到驗(yàn)證,則對(duì)該連接進(jìn)入syncookie校驗(yàn),一旦該IP的連接得到驗(yàn)證則提高其信譽(yù)值。有些設(shè)備還采用了表結(jié)構(gòu)來存放協(xié)議棧行為模式特征值,大大減少了存儲(chǔ)量。
以上就是SYN Flood攻擊原理與防護(hù)的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
封UDP的服務(wù)器真的打不了么?封UDP、封海外服務(wù)器
很多游戲服務(wù)器租用的時(shí)候會(huì)出現(xiàn)一些封UDP的字眼,網(wǎng)上一些文章也說UDP協(xié)議不可靠!為什么要封UDP呢?既然不可靠,為什么有些人還要使用它呢?今天與你們分享一下UDP,希望2024-05-07魔獸世界服務(wù)器被DDoS攻擊怎么辦?DDoS攻擊防御方法
魔獸世界服務(wù)器被攻擊在目前來說也是比較常見的,同行競(jìng)爭(zhēng)激烈,在官服開放時(shí)也遇到過DDOS攻擊,要是飛飛沒記錯(cuò)是在22年9月14日,從剛開始的身份驗(yàn)證服務(wù)器出現(xiàn)問題,到確2023-07-17分享五大免費(fèi)企業(yè)網(wǎng)絡(luò)入侵檢測(cè)(IDS)工具
這篇文章主要分享一下五大免費(fèi)企業(yè)網(wǎng)絡(luò)入侵檢測(cè)(IDS)工具,當(dāng)前企業(yè)對(duì)于網(wǎng)絡(luò)安全越來越重視,那么后期可能就需要大家多多關(guān)注一些安全工具的使用于檢測(cè)2019-12-01網(wǎng)絡(luò)安全基礎(chǔ)之網(wǎng)絡(luò)協(xié)議與安全威脅的關(guān)系介紹
網(wǎng)絡(luò)協(xié)議是什么呢?網(wǎng)絡(luò)協(xié)議是網(wǎng)絡(luò)中計(jì)算機(jī)或設(shè)備之間進(jìn)行通信的一系列規(guī)則集合。本文中小編介紹的是網(wǎng)絡(luò)協(xié)議和安全威脅的關(guān)系,需要的朋友不妨閱讀本文了解一下2019-04-02DDoS攻擊原理是什么?DDoS攻擊原理及防護(hù)措施介紹
DDoS攻擊是由DoS攻擊轉(zhuǎn)化的,這項(xiàng)攻擊的原理以及表現(xiàn)形式是怎樣的呢?要如何的進(jìn)行防御呢?本文中將會(huì)有詳細(xì)的介紹,需要的朋友不妨閱讀本文進(jìn)行參考2019-01-15基于Web攻擊的方式發(fā)現(xiàn)并攻擊物聯(lián)網(wǎng)設(shè)備介紹
本文中介紹的是基于Web攻擊的方式發(fā)現(xiàn)并攻擊物聯(lián)網(wǎng)設(shè)備,感興趣的朋友不妨閱讀本文進(jìn)行了解2019-01-11為何黑客要挾制路由器DNS 用戶該怎樣實(shí)時(shí)發(fā)覺和防備方法
起首說說挾制路由器是什么意思,路由器挾制平日指的是,開啟了無(wú)線網(wǎng)絡(luò)功效的無(wú)線路由器,攻擊者經(jīng)由過程破解無(wú)線暗碼銜接上無(wú)線網(wǎng)后,再登錄路由治理界面來節(jié)制全部無(wú)線網(wǎng)2018-05-16大勢(shì)至共享文件監(jiān)控軟件、共享文件權(quán)限管理軟件主控端與客戶端的連接設(shè)
這篇文章主要介紹了大勢(shì)至共享文件監(jiān)控軟件、共享文件權(quán)限管理軟件主控端與客戶端的連接設(shè)置方法詳解,,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,下面就來和小編一起看看2018-01-25詳細(xì)介紹sd卡加密軟件的選擇以及給sd卡設(shè)置密碼、給sd卡加密
這篇文章主要介紹了詳細(xì)介紹sd卡加密軟件的選擇以及給sd卡設(shè)置密碼、給sd卡加密,如何保護(hù)sd卡文件的安全,如何給SD卡設(shè)置密碼、如何給SD卡加密,下面就跟小編一起來看看吧2018-01-19server2008共享設(shè)置、服務(wù)器共享文件設(shè)置、服務(wù)器設(shè)置共享文件夾的方法
這篇文章主要介紹了server2008共享設(shè)置、服務(wù)器共享文件設(shè)置、服務(wù)器設(shè)置共享文件夾的方法詳細(xì)介紹,保護(hù)服務(wù)器共享文件設(shè)置訪問權(quán)限,讓每個(gè)部門只訪問自己的共享文件等,2018-01-19