可怕的DDoS

出于打擊報復、敲詐勒索、政治需要等各種原因,加上攻擊成本越來越低、效果特別明顯等特點,DDoS攻擊已經演變成全球性網絡安全威脅。

本文大綱:

1、可怕的DDoS

2、DDoS攻擊科普


3、DDoS防護科普

根據卡巴斯基2016Q3的調查報告,DDoS攻擊造成61%的公司無法訪問其關鍵業務信息,38%公司無法訪問其關鍵業務,33%的受害者因此有商業合同或者合同上的損失。

總結起來,現在的DDoS攻擊具有以下趨勢:

1.國際化

現在的DDoS攻擊越來越國際化,而我國已經成為僅次于美國的第二大DDoS攻擊受害國,而國內來自海外的DDoS攻擊源占比也越來越高。

2.超大規模化

因為跨網調度流量越來越方便、流量購買價格越來越低廉,現在DDoS攻擊流量規模越來越大。特別是2014年底,某云還遭受了高達450Gbps的攻擊。

3.市場化

市場化勢必帶來成本優勢,現在各種在線DDoS平臺、肉雞交易渠道層出不窮,使得攻擊者能以很低的成本發起規模化攻擊。針對流量獲取方式的對比可以參考下表。

流量獲取方式 在線DDOS平臺購買API VPS 專屬服務器 黑市購買 社交平臺購買 肉雞集群
價格 中等 中等
法律風險 中等 中等 中等
交易風險 中等
流量穩定性 不確定 穩定 穩定 不確定 不確定
IP資源數量 不確定 不確定 不確定
技術要求
交易貨幣要求 比特幣 普通貨幣 普通貨幣 比特幣 比特幣,普通貨幣等

DDoS攻擊科普

DDoS的攻擊原理,往簡單說,其實就是利用TCP/UDP協議規律,通過占用協議棧資源或者發起大流量擁塞,達到消耗目標機器性能或者網絡的目的,下面我們先簡單回顧TCP“三次握手”與“四次揮手”以及UDP通信流程。

TCP三次握手與四次揮手

TCP建立連接:三次握手

1.client: syn

2.server: syn+ack

3.client: ack

TCP斷開連接:四次揮手

1.client: fin

2.server: ack

3.server: fin

4.client: ack

UDP通信流程

根據上圖可發現,UDP通信是無連接、不可靠的,數據是直接傳輸的,并沒有協商的過程。

攻擊原理與攻擊危害

按照攻擊對象的不同,將攻擊原理和攻擊危害的分析分成3類,分別是攻擊網絡帶寬資源、應用以及系統。

攻擊網絡帶寬資源:

攻擊系統資源:

攻擊應用資源:

DDoS防護科普

攻擊防護原理

從TCP/UDP協議棧原理介紹DDoS防護原理:

syn flood:

可以在收到客戶端第三次握手reset 、第二次握手發送錯誤的ack,等Client回復Reset,結合信任機制進行判斷。

ack flood:

丟棄三次ack,讓對方重連:重發syn建立鏈接,后續是syn flood防護原理;學習正常ack的源,超過閾值后,該ack沒有在正常源列表里面就丟棄ack三次,讓對方重連:重發syn建立鏈接,后續是syn flood防護。

udp flood:

1.限速 啟動閾值,一秒鐘去往服務器IP的同一端口的UDP包數目,如果是WEB服務器,可以設置嚴格一些
2.報文內容特征-模式匹配 模式匹配規則主要用于過濾包內容帶特征字符的攻擊包
3.IP特征-ACL 若遇到(1)源IP+目的固定;(2)流量超過1G==>在網絡設備層面使用acl進行過濾

不同層面的防護

1.按攻擊流量規模分類

較小流量:

小于1000Mbps,且在服務器硬件與應用接受范圍之內,并不影響業務的: 利用iptables或者DDoS防護應用實現軟件層防護。

大型流量:

大于1000Mbps,但在DDoS清洗設備性能范圍之內,且小于機房出口,可能影響相同機房的其他業務的:利用iptables或者DDoS防護應用實現軟件層防護, 或者在機房出口設備直接配置黑洞等防護策略,或者同時切換域名,將對外服務IP修改為高負載Proxy集群外網IP,或者CDN高仿IP,或者公有云DDoS網關IP,由其代理到RealServer;或者直接接入DDoS清洗設備。

超大規模流量:

在DDoS清洗設備性能范圍之外,但在機房出口性能之內,可能影響相同機房的其他業務,或者大于機房出口,已經影響相同機房的所有業務或大部分業務的:聯系運營商檢查分組限流配置部署情況并觀察業務恢復情況。

2.按攻擊流量協議分類

syn/fin/ack等tcp協議包:

設置預警閥值和響應閥值,前者開始報警,后者開始處理,根據流量大小和影響程度調整防護策略和防護手段,逐步升級。

UDP/DNS query等UDP協議包:

對于大部分游戲業務來說,都是TCP協議的,所以可以根據業務協議制定一份TCP協議白名單,如果遇到大量UDP請求,可以不經產品確認或者延遲跟產品確認,直接在系統層面/HPPS或者清洗設備上丟棄UDP包。

http flood/CC等需要跟數據庫交互的攻擊:

這種一般會導致數據庫或者webserver負載很高或者連接數過高,在限流或者清洗流量后可能需要重啟服務才能釋放連接數, 因此更傾向在系統資源能夠支撐的情況下調大支持的連接數。相對來說,這種攻擊防護難度較大,對防護設備性能消耗很大。

其他:

icmp包可以直接丟棄,先在機房出口以下各個層面做丟棄或者限流策略。現在這種攻擊已經很少見,對業務破壞力有限。


返回首頁>>