ACK flood攻擊的影響

2021-08-01 07:34:13 字數 2426 閱讀 6332

我們在分析ack flood攻擊對端系統和中間系統的影響之前,首先需要了解端系統和中間系統一般情況下是如何處理其收到的ack報文。

端系統對ack flood報文的處理

端系統在收到乙個ack報文時,如果目的埠未開放,那麼端系統會直接向源ip傳送rst報文,其互動過程大致如下圖所示:

如果端系統的相關埠是對外開放的,那麼其在收到ack報文時,首先會檢查這個ack報文是否屬於tcp連線表中的乙個已有連線(這個過程會對端系統主機cpu資源造成一定的消耗),如果是的話,則正常處理,如果不屬於任何乙個已有連線,那麼端系統會向源ip傳送rst報文,互動過程如下圖所示:

根據上面兩個過程的分析,我們可推論ack flood攻擊對端系統效能的影響並不會非常大,至少跟syn flood(端系統需要給每個syn報文分配相應連線表空間,會消耗端系統記憶體資源)攻擊相比,其攻擊效果似乎難上檯面。

中間系統對ack flood報文的處理

路由器和防火牆的工作機制決定了路由器和防火牆在處理ack報文的時候是完全不同的,我們分別將路由器與防火牆對ack flood攻擊的處理過程做簡單描述。

路由器是網路層的裝置,其主要功能是選路和**,其選路的依據大部分都是基於網路層資訊(目的ip、源ip等),因此路由器在處理ack報文的時候,其並不關心它是不是ack報文,它主要關心其目的位址,需要根據其目的位址來進行選路,如果ack flood攻擊的目的主機都是固定的,那麼路由器其實只需要在收到第乙個ack flood攻擊報文時,呼叫cpu資源實現選路和**,後續的ack flood攻擊報文由於目的主機是固定的,其甚至不需要呼叫cpu資源,直接使用快速**表即可實現對ack flood報文的**,路由器對ack報文的處理過程大致如下:

防火牆對ack報文的處理主要跟連線狀態表有關,防火牆在收到ack報文時,首先檢查該ack報文是否屬於連線狀態表中的已有連線,如果是,防火牆**該ack報文,如果未命中任何乙個已有連線,防火牆會將該ack報文丟棄,如下圖所示:

ack flood攻擊對系統的影響

由此來看,ack flood攻擊對端系統與中間系統的影響相對於其他攻擊來說都不是非常明顯,至於網上有相關資料講其需要配合syn flood攻擊產生較好的攻擊效果,原因為針對防護syn flood攻擊的一種技術 ——syn cookie技術。

當某些啟用syn cookie技術進行syn flood攻擊防護的中間裝置(專業抗dos裝置、防火牆、ips、負載均衡、路由器等),在收到ack報文時,需要計算cookie值,這個過程會消耗一部分中間裝置的cpu資源,如果大量的ack報文過來的話,很可能很快就會導致裝置資源耗盡,達到拒絕服務的效果。

「cookie如何計算?

cookie = md5(srcip,dstip,sport,dport)

埠是否需要考慮哪?沒有埠的話,可以少一點計算。

syn-cookie是無狀態的,在gateway上,不會儲存任何與connection相關的東西,所以不會占用gateway的資源,缺點就是需要計算cookie,cpu占用會高一點。

如果不考慮埠的話,cookie是不是可以cache哪,如果cache了,就有查詢的開銷,並不一定比md5的hash快多少。

在syn-cookie之前,先要檢查一下srcip是不是spoofing的,這裡需要做乙個反向的路由查詢,看看是不是從錯誤的介面進來的,也可以確認一下源位址是否可達。

是不是也應該做乙個源埠的檢查哪?如果是0~1024的埠,就預設是非法的,因為這些埠在作業系統裡面,一般是保留的,不會分配給應用程式。

syn attack是否有signatue? 不同的syn flood工具,生成的工具包,應該有一定的模式,如果能夠找到這個signature,就可以通過signature來直接drop這個syn,不用再做syn-cookie的檢查了。

syn-cookie會strip掉client和server的tcp option,對client,可疑在cookie裡面帶上tcp option,但是對server來說,就比較難辦一點。strip掉tcp option,對connection的效能有影響。

對syn-flood的防範,目前還是threshold based,因為不能區分正常包和攻擊包,但是如果能夠定義攻擊的signature,就可以做signature based的防範,這樣可以更有效一點。」

在這裡有個疑問,啟用syn cookie技術的中間裝置在收到syn報文的時候會建立cookie序列,在收到ack報文的時候會計算cookie是否合法,那麼是不是任何乙個ack報文都計算cookie值呢?從全文的描述來看,應該是在收到三次握手的最後乙個ack報文時才進行計算。

如果是對所有ack報文都進行cookie值計算,這個中間裝置對syn cookie技術的實現是不是非常不科學呢?如果僅針對三次握手時的第三個ack報文進行cookie值計算,那麼中間裝置應該直接丟棄隨機偽造的ack flood攻擊報文。如果是丟棄隨機偽造的ack flood報文,那麼對中間裝置資源的消耗也是有限的。

減少SYN, ACK和CC攻擊的影響

阻塞是攻擊不同於侵入式攻擊,是很難 的。因為其主要 是大量受黑客控制的肉雞,而且可能是動態ip,所以沒有辦法通過封鎖ip的方式徹底排除其影響,通常只能採取一定的措施減輕其影響,實在不行則只能加硬體防火牆。如何減小syn攻擊的影響 1 擴大backlog暫存數,盡可能多的保留合法連線 sysctl w...

常見WEB應用攻擊影響分析

黑客攻擊利用的漏洞型別包括 1.sql注入漏洞 sql注入漏洞是利用了將包含了某種目的的sql語句,通過關鍵變數插入到程式中正常的資料庫操作語句裡。如 hack drop table aritcles hack是正常應提交的 當使用 微軟的sql server,該資料庫支援多命令語句執行。這裡的 d...

Verizon 黑客攻擊不影響收購雅虎 未藉此殺價

近期,美國雅虎爆出兩年前遭到網路攻擊,五億使用者賬號被盜的負面新聞。之前,美國電信巨頭verizon已經和雅虎簽署了價值48億美元的收購協議,有訊息稱,因為這次攻擊事件,verizon將會要求雅虎將收購 降低十億美元。不過日前,verizon高管否認了這一說法,並表示收購雅虎的交易仍在正常推進當中。...