安全專家把DDoS(Distributed Denial of Service,分布式拒絕服務)攻擊比作互聯網“核武器”,因為一旦調動足夠數量的“肉雞”和存在各種協議漏洞的開放服務器,就可以癱瘓掉全世界任何互聯網業(yè)務,殺傷力極強。
盡可能地對目標造成最大程度的資源破壞是DDoS攻擊的初衷。站在這個角度上來看DDoS攻擊的發(fā)展歷程,就可以梳理出清晰的脈絡。
三個發(fā)展階段
第一階段:由個人計算機組建僵尸網絡,發(fā)動DDoS攻擊
第二階段:利用互聯網開放服務器(如DNS、NTP)發(fā)起反射攻擊
第三階段:利用智能/IoT設備協議(如SSDP)的脆弱性發(fā)起反射攻擊
如下圖所示:
DDoS攻擊的發(fā)展
一、來自僵尸網絡的攻擊
最為傳統(tǒng)的DDoS攻擊多利用僵尸主機(Zombies,又稱Bot,即肉雞)組成僵尸網絡(Botnet)來發(fā)起。
典型的僵尸網絡架構
“肉雞”是指中了木馬,或者被一些人留了后門的計算機,成為“肉雞”的計算機可以被黑客遠程操控。“肉雞”的存在多由于用戶系統(tǒng)存在各種脆弱性導致,一旦被入侵,黑客便可輕易獲得控制權。黑客在這些“肉雞”所有者不知情的情況下,發(fā)起對既定攻擊目標的攻擊。其中一種比較典型的攻擊就是DDoS攻擊。
在我們遇到的一些實際攻擊事件中,從攻擊流量分析,來源非常分散,全國各地都有,此類攻擊很可能就是由大量受操控“肉雞“組成的僵尸網絡發(fā)起??梢姡?amp;ldquo;肉雞”對于互聯網、特別是網站系統(tǒng)的威脅是很大的。即便單個“肉雞”的攻擊能力有限,但如果“肉雞”的數量很多,匯總后的攻擊流量也將是驚人的。
二、利用開放服務器的反射放大攻擊
雖然“肉雞”的效果顯著,但是無論組建還是僵尸網絡的維護都需要較高的成本,伴隨黑客不斷對更低成本獲得更大效果的追求,利用互聯網開放服務器發(fā)起反射拒絕服務攻擊逐漸流行。
利用NTP服務器發(fā)起反射攻擊
反射拒絕服務攻擊又稱DRDoS攻擊(Distributed Reflection Denial of Service,分布式反射拒絕服務攻擊)。其原理是黑客偽造成被攻擊者的IP地址,向互聯網上大量開放特定服務的服務器發(fā)起請求,接收到請求的那些主機根據源IP地址將響應數據包返回給受害者。整個過程中,返回響應的服務器并不知道請求源的惡意動機。
黑客往往會選擇那些響應包遠大于請求包的服務來利用,這樣才可以以較小的流量換取更大的流量,獲得幾倍甚至幾十倍的放大效果。一般來說,可以被利用來做放大反射攻擊的服務包括DNS服務、NTP服務、SNMP服務、Chargen服務等。
根據US-CERT在2014年1月發(fā)布的預警(Alert TA14-017A),DNS、NTP、SNMP等協議的反射放大效果以及脆弱性如下圖所示:
反射放大攻擊效果和脆弱性一覽
從上圖可見,利用NTP協議的反射放大效果最好,超過500倍。也就是說攻擊者只需要發(fā)起100Mbps的請求流量,經過NTP服務器的反射放大,可以換來5Gbps的攻擊流量。2014年2月,在國外某云計算服務提供商遭受的400Gbps DDoS攻擊中,黑客就采用了NTP反射放大攻擊。
三、SSDP攻擊的崛起
一方面,隨著互聯網上存在DNS、NTP、SNMP等協議脆弱性的開放服務漏洞不斷被修復,可以用來發(fā)起反射攻擊的服務器數量數量越來越少。另一方面,互聯網上家用路由器、網絡攝像頭、打印機、智能家電等設備數量的激增,讓黑客看到了另一個可以不斷挖掘的金山。這些智能設備普遍采用UPnP(即插即用)協議作為網絡通訊協議, 而UPnP設備的發(fā)現是通過源端口為1900的SSDP(簡單服務發(fā)現協議)進行相互感知。
利用SSDP協議進行反射攻擊的原理與利用DNS服務、NTP服務類似,都是偽造成被攻擊者的IP地址向互聯網上大量的智能設備發(fā)起SSDP請求,接收到請求的智能設備根據源IP地址將響應數據包返回給受害者。
SSDP反射放大攻擊
SSDP反射放大攻擊是一個迅速崛起的DDoS攻擊方式。從Akamai發(fā)布的2015年第一季度網絡安全現狀報告中可以看出,SSDP反射攻擊已經成為TOP1的DDoS攻擊方式(20.78%)。在2014年Q4,SSDP DDoS的比例只有14%,在2014年Q1,則幾乎沒有SSDP反射攻擊,如下圖所示:
SSDP攻擊所占比例最多
?。⊿ource:Akamai Q1 2015 State of the Internet Security Report)
根據Arbor Networks在2015年初發(fā)布的《Worldwide Infrastructure Security Report》,SSDP反射攻擊到2014年7月才被關注,在2014年Q3-Q4期間曾經打出過若干次超過100Gbps的攻擊流量。
SSDP攻擊自2014年Q3后異軍突起
?。⊿ource:Worldwide Infrastructure Security Report,Arbor networks)
另根據USCERT的數據,SSDP的放大倍數是30倍,雖然較NTP和Chargen等協議的放大倍數小很多,但是由于互聯網上智能設備的數量非常龐大,隨著IoT的發(fā)展,這個數字更將呈現幾何級數的增加。這無疑為黑客提供了豐富的攻擊來源。
SSDP嚴峻的形勢在阿里云上同樣得到了體現。根據阿里云云盾安全運營團隊在2015年6月的統(tǒng)計,在對阿里云用戶的UDP DDoS攻擊中,80%的攻擊方式為SSDP反射放大攻擊。
下圖是在黑客對阿里云某用戶攻擊中捕獲的數據包,源端口為1900是SSDP反射放大攻擊的重要特征之一:
SSDP攻擊數據包
隨著物聯網和智能設備的快速發(fā)展和普及,利用智能設備展開DDoS攻擊會越來越普遍。
應對和防護
對于DDoS攻擊,普遍采用的防護手段包括:
1、源驗證/反向探測,對源進行探測和人機識別,段包括cookie、識別碼等;
2、限源,即對源IP或協議進行限制,blacklist是一個常見手段;
3、特征丟棄,依據數據包的特征或訪問行為進行丟棄,如基于Payload特征、發(fā)包行為特征、QPS特征等;
4、限速,對流量/訪問的速率進行限流。
特別對于大流量DDoS攻擊的防護,與電信運營商配合也是必不可少的。其中包括與運營商配合實施就源清洗,以及在運營商側路由器上對特定協議或特定來源的IP進行限制都是降低防護開銷的辦法。
典型的在線部署方案
當然,針對于網絡層DDoS(Layer-4 DDoS)和應用層DDoS(Layer-7 DDoS)攻擊不同的攻擊策略,在具體防護時,采取的手段也不盡相同。這里不再贅述。
此外,對于網站來說,通過CDN進行DDoS防護也是一個不錯的手段,CDN多節(jié)點彼此互備,以及對協議的限制,具有與生俱來的抗DDoS能力和高可用性。同時,CDN往往與云WAF系統(tǒng)配合工作,兩者協同成為防護HTTP Flood的利器。
上面的方法是否就是防御DDoS攻擊的全部了呢?當然不是。
隨著大數據的興起,依托用戶訪問數據、包括QPS,IP-cookie,IP-Request分布、頁面點擊等行為數據結合信譽機制建立起完整的可視化防御系統(tǒng)。結合威脅情報,建立起運營商/ISP/DC/區(qū)域信息庫、IP地址黑名單、代理庫、黑暗網絡庫等豐富的情報庫,線上、線下進行關聯分析,一方面將防御時間點提前,甚至在攻擊發(fā)起之前就可以預知;另一方面溯源追蹤到攻擊者,有效打擊攻擊者的囂張氣焰。
(審核編輯: 智匯張瑜)
分享