DDoS攻擊多種方式的原理分析和防護(hù)方法總結(jié)
DDoS攻擊通過多主機(jī)發(fā)起海量請求,導(dǎo)致服務(wù)器過載,影響服務(wù),攻擊方式包括僵尸網(wǎng)絡(luò)、漏洞利用等,分為SYN flood、ACK flood、UDP flood、反射放大、空連接、CC攻擊等,防御手段有云原生、CDN安全、DDOS高防、硬件防護(hù)、運營商流量壓制。
1、DDOS是什么
DDoS攻擊(Distributed Denial-of-Service
attack)是指利用多臺主機(jī)對目標(biāo)服務(wù)器發(fā)起大量的請求,從而使其無法處理正常的網(wǎng)絡(luò)流量并導(dǎo)致服務(wù)不可用。這些請求通常是惡意的、占用大量帶寬的和重復(fù)的,導(dǎo)致服務(wù)器在瞬間被過載,無法響應(yīng)真正的客戶端請求。DDoS攻擊可以通過各種手段進(jìn)行,如利用僵尸網(wǎng)絡(luò)、利用漏洞發(fā)起攻擊或偽造IP地址等。它不僅給網(wǎng)站運營者和用戶帶來影響,而且可能會導(dǎo)致公司損失巨額資金。
DDOS攻擊包括不限于上述的攻擊類型。
2、DDOS造成的損失
近幾年,DDoS攻擊的規(guī)模、頻率和影響力都在不斷增加,給全球網(wǎng)絡(luò)安全帶來了嚴(yán)重威脅。以下是一些近幾年發(fā)生的DDoS攻擊事件的例子:
2020年9月,美國金融服務(wù)公司Akamai遭到了2.3Tbps的DDoS攻擊,創(chuàng)下了當(dāng)時的世界紀(jì)錄。這次攻擊利用了SSDP協(xié)議,通過發(fā)送惡意的搜索請求來放大流量。Akamai成功地抵御了這次攻擊,沒有造成客戶服務(wù)中斷。2020年11月,新西蘭股票交易所NZX遭到了持續(xù)四天的DDoS攻擊,導(dǎo)致其交易平臺多次中斷。這次攻擊是由一個名為Armada Collective的黑客組織發(fā)起的,他們向NZX發(fā)送了勒索郵件,要求支付比特幣,否則就繼續(xù)發(fā)動攻擊。2021年2月,GitHub遭到了1.35Tbps的DDoS攻擊,超過了2018年3月對其發(fā)起的1.3Tbps的攻擊,成為了歷史上最大的DDoS攻擊。這次攻擊利用了memcached協(xié)議,通過向開放的memcached服務(wù)器發(fā)送偽造的請求來放大流量。GitHub及時啟用了其DDoS防護(hù)服務(wù)提供商Akamai Prolexic的服務(wù),成功地緩解了這次攻擊。
3、DDOS攻擊與防御技術(shù)原理
3.1、DDOS防護(hù)方式
云防護(hù)即為利用現(xiàn)有云計算的彈性和高容量的優(yōu)勢來進(jìn)行DDOS攻擊的防護(hù),主要包括如下幾個方面:
1、云原生
利用云上DDOS防護(hù)設(shè)備和云數(shù)據(jù)中心的能力來進(jìn)行防護(hù),該方式的部署只需要用戶添加云上對應(yīng)的DDOS防護(hù)資源即可,無需變更云的IT架構(gòu),其主要的目的是為云上的業(yè)務(wù)進(jìn)行防護(hù)。如下圖參考阿里云原生DDOS防護(hù)
2、CDN安全
CDN安全防護(hù)的原理是利用CDN全球分布的節(jié)點來進(jìn)行安全的防護(hù),通過分布式的節(jié)點來分散攻擊,從而達(dá)到防護(hù)的目的,CDN安全防護(hù)的能力主要以分布式的全平臺能力作為基準(zhǔn),一般全平臺可以高達(dá)幾個T,如網(wǎng)宿、白山等,特點是接入方式為Cname接入,IT架構(gòu)上為前置在用戶IT架構(gòu)之前,參考如下架構(gòu)圖:
3、DDOS高防
DDOS高防主要是利用云計算數(shù)據(jù)中心具有龐大的負(fù)載集群來提供大流量的防護(hù),云中心的DDOS防護(hù)能力高達(dá)800-1.5Tbps,接入方式為高防BGP的IP接入,但是云廠商在受到大規(guī)模攻擊的時候會進(jìn)行黑洞處理,以便保障云數(shù)據(jù)中心其他用戶的正常訪問,參考如下架構(gòu)圖:
4、硬件防護(hù)
DDOS硬件防護(hù)簡單來說就是在客戶IDC和自己的機(jī)房部署硬件DDOS防護(hù)設(shè)備,一般部署在最前置,來保障內(nèi)網(wǎng)業(yè)務(wù)在受到DDOS攻擊的時候能進(jìn)行流量的清洗和防護(hù),但是目前硬件防護(hù)設(shè)備的性能有限,而且成本較高,參考如下架構(gòu)圖:
5、 運營商流量壓制
進(jìn)入到該運營商的DDOS攻擊流量,即可被檢測和清洗壓制(壓制就是封堵攻擊源,或者對來自攻擊源的流量進(jìn)行限速處理,在進(jìn)入到運營商網(wǎng)絡(luò)中就能實現(xiàn)壓制功能),但是目前只能防護(hù)來自本運營商的攻擊,無法實現(xiàn)跨運營商防護(hù),如下
防護(hù)邏輯:
3.2、DDOS攻防原理介紹
1、SYN flood攻擊原理及防御分析
深入看下這個抓包的數(shù)據(jù)包可以看到發(fā)送大量的SYN包,每個包實際的長度是0,但是win卻是很大的:
在服務(wù)端抓包,可以看到有大量的SYN信息:
可以看到大包有堵帶寬,win很大,客戶端向服務(wù)端一直發(fā)送Syn數(shù)據(jù):
大小包混合的情況:
如下圖可以看到發(fā)送syn的信息中TCP的標(biāo)志位有異常,并不是合法的(如果TCP報文段中某些標(biāo)記位出現(xiàn)不合法的情況,例如同時設(shè)置了SYN和ACK標(biāo)記位,或者沒有設(shè)置ACK標(biāo)記位卻設(shè)置了URG標(biāo)記位等,那么接收方將會認(rèn)為這是非法的TCP報文段,有可能會把這個報文段丟棄,也可能會向發(fā)送方返回RST標(biāo)記位來終止連接。因此,在設(shè)計和實現(xiàn)TCP協(xié)議時,需要對標(biāo)記位進(jìn)行正確的設(shè)置和處理,避免出現(xiàn)非法標(biāo)記位的情況)
抓包看到有DDOS攻擊和響應(yīng)的信息:
因此總結(jié)防護(hù)方式:
識別TCP標(biāo)志位的情況來做判斷防火墻先建立會話鏈接,防火墻收到SYN包并返回SYN+ACK包時,不分配專門的數(shù)據(jù)區(qū),而是根據(jù)SYN包計算出一個Cookie值,將其當(dāng)做初始包序號,對返回的ACK包進(jìn)行Cookie驗證,驗證通過則分配資源、建立連接來做判斷,但是該防護(hù)方法很消耗防火墻的性能,尤其傳統(tǒng)的硬件防護(hù)方式會影響到客戶正常的業(yè)務(wù)。**
2、ACK flood攻擊及防御分析
攻擊原理如下圖所示:
分析數(shù)據(jù)包可以看到就是發(fā)送大量的ACK包,讓服務(wù)器判斷回復(fù),導(dǎo)致無法相應(yīng)過來。
因此分析其防護(hù)思路:
服務(wù)端收到ACK包后會判斷是否有SYN包,因此邏輯上還可以以防火墻先來建立SYN會話,如果沒有SYN會話的,直接發(fā)送ACK的則丟棄:
3、UDP flood攻擊和防護(hù)原理
如下圖可以看到UDP flood的攻擊原理:
根據(jù)數(shù)據(jù)包的情況來看為客戶端發(fā)送大量無狀態(tài)的UDP包:
一般模擬攻擊平臺的發(fā)起攻擊邏輯可以如圖看出,可以設(shè)置速率、包大小、內(nèi)容等,對應(yīng)抓包的信息:
因此分析其防火邏輯:
是否有UDP的流量,如果沒有建議直接丟棄,從而起到防護(hù)根據(jù)UDP數(shù)據(jù)包的異常情況來深入分析,配置數(shù)據(jù)包大小、速率閾值,從而實現(xiàn)防護(hù)華為UDP防護(hù)可以支持水印防護(hù),通過客戶端配置開發(fā)水印算法來實現(xiàn)精準(zhǔn)防護(hù)識別,如下:
4、反射放大攻擊及防護(hù)原理
反射放大攻擊原理如下所示:
結(jié)合如下抓包數(shù)據(jù)可以看到一個以很小的攻擊實現(xiàn)大的數(shù)據(jù)包的反饋的反射:
綜合上述分析防護(hù)原理:
反射放大攻擊主要和有關(guān)協(xié)議有關(guān),可以通過對涉及攻擊的端口進(jìn)行安全過濾來實現(xiàn)業(yè)務(wù)的防護(hù),如設(shè)置白名單等其他方式。
5、空連接攻擊
如下圖可以看出空連接攻擊的原理:
通過服務(wù)器端的建聯(lián)來看,可以看出空連接主要為只建立連接,但不發(fā)送數(shù)據(jù),用句俗話講就是占著茅坑不拉屎:
綜合上述分析防護(hù)方法:
-限制單個IP的連接數(shù)量
6、CC攻擊原理和防護(hù)方法:
如下圖可以看到CC攻擊的原理展示:
結(jié)合抓包信息來看,可以看到有很多真實的請求,去請求后端的資源,消耗后端數(shù)據(jù)庫等性能,導(dǎo)致無法響應(yīng)正常用戶請求:
總結(jié)分析CC攻擊的防護(hù)思路:
首先簡單總結(jié)下CC的特點,CC并不是大流量攻擊,其主要是高并發(fā),CC很難有統(tǒng)一的防護(hù)思路或者防護(hù)手段,基本都要結(jié)合實際的業(yè)務(wù)來去做對應(yīng)的防護(hù),因為CC的IP一般是分散、真實的;而且數(shù)據(jù)包的請求都是真實有效的,無法直接拒絕,因此目前的防護(hù)思路來看大概分為幾種:
區(qū)分攻擊者和真實用戶,利用攜帶cookie、解析JS等方式進(jìn)行深入的流量分析,通過關(guān)鍵字段來做匹配結(jié)合UA、refer等信息進(jìn)行判斷添加驗證碼如數(shù)據(jù)文字,滑動滑塊等方式來達(dá)到目的設(shè)置IP黑名單
7、 其他更多攻擊方式
省略,不在一一舉例,DDOS攻擊的變種也比較多,可以自行研究學(xué)習(xí)。
8、離線日志分析-人工加安全防護(hù)策略
攻擊手段會隨著技術(shù)、防護(hù)的方式而不斷地變化,攻擊者只會越來越聰明,規(guī)則很難防住左右的攻擊者,因此最通用的方式為深入分析客戶業(yè)務(wù)流量日志,通過安全專家進(jìn)行攻擊的發(fā)現(xiàn),來添加對應(yīng)的防護(hù)規(guī)則或者策略,達(dá)到防護(hù)的目的。
4、目前DDOS防護(hù)的一些廠商
云廠商:阿里云、騰訊云、華為云等CDN廠商:網(wǎng)宿科技、知道創(chuàng)宇、白山科技等安全廠商:綠盟、深信服、華為、長亭等;運營商:電信云堤、移動、聯(lián)通等;
5、DDOS有關(guān)的思考
關(guān)于DDoS,這是一種非常危險和破壞性的網(wǎng)絡(luò)攻擊方式,它不僅會給目標(biāo)網(wǎng)站或服務(wù)器帶來嚴(yán)重的損失,也會影響正常的網(wǎng)絡(luò)通信和服務(wù)。企業(yè)應(yīng)該加強(qiáng)對DDoS攻擊的預(yù)防和應(yīng)對,提高網(wǎng)絡(luò)安全意識和能力,在發(fā)生DDOS攻擊的時候可以第一時間報警處理。
到此這篇關(guān)于DDoS攻擊多種方式的原理分析和防護(hù)方法總結(jié)的文章就介紹到這了,更多相關(guān)DDoS攻擊原理和防護(hù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
關(guān)于Interlij 無法使用中文輸入法的解決方法(適用于Interlij全家桶 Linux環(huán)境)
這篇文章主要介紹了關(guān)于Interlij 無法使用中文輸入法的解決方法(適用于Interlij全家桶 Linux環(huán)境),本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02解決Chrome在新版MacOS上報錯 NET::ERR_CERT_WEAK_KEY 的問題
這篇文章主要介紹了解決Chrome在新版MacOS上報錯 NET::ERR_CERT_WEAK_KEY 的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件
這篇文章主要為大家介紹了Caffe圖像數(shù)據(jù)轉(zhuǎn)換成可運行l(wèi)eveldb?lmdb文件教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06