白帽大勝入侵者——一場(chǎng)經(jīng)典的DDoS攻防戰(zhàn)
攻擊者發(fā)出的DNS請(qǐng)求數(shù)據(jù)包為36 bytes,而DNS服務(wù)器的響應(yīng)數(shù)據(jù)包長(zhǎng)為3000 bytes。攻擊者偽裝來(lái)自Spamhaus向DNS系統(tǒng)發(fā)起請(qǐng)求,之后依靠返回的響應(yīng)包對(duì)Spamhaus發(fā)起攻擊,使得合法用戶不能訪問(wèn)到Spamhaus的網(wǎng)站系統(tǒng)。
(上)周二,Spamhaus遭受到嚴(yán)重的DDoS攻擊,攻擊流量達(dá)到75Gbps,導(dǎo)致所有用戶均無(wú)法訪問(wèn)公司網(wǎng)站。ISP采取了實(shí)時(shí)黑名單的方式也無(wú)法阻止攻擊。Spamhaus很快轉(zhuǎn)向?qū)で髮I(yè)提供網(wǎng)站防護(hù)和抗DDoS服務(wù)的CloudFlare公司的支持。
經(jīng)典的一幕發(fā)生了。一方面是攻擊者聚集了超大流量對(duì)單一網(wǎng)站進(jìn)行攻擊,另一方面是CloudFlare采用路由技術(shù)——Anycast進(jìn)行攻擊化解。
攻擊者的攻擊流量為75Gbps,這個(gè)流量超過(guò)了大多數(shù)僵尸網(wǎng)絡(luò)所能夠發(fā)起的攻擊帶寬。為了放大攻擊流量,攻擊者借助了DNS系統(tǒng)——一種可以將流量方法100倍的手段。DNS放大攻擊是借助諸如AT&T、GoDaddy、SoftLayer和巴基斯坦電信這樣提供開(kāi)放式DNS服務(wù)器的系統(tǒng)。攻擊者借助這些開(kāi)放的DNS系統(tǒng)發(fā)起致命攻擊的歷史要追溯到若干年前。
CloudFlare公司CEO Matthew Prince稱,攻擊者發(fā)出的DNS請(qǐng)求數(shù)據(jù)包為36 bytes,然而,DNS服務(wù)器的響應(yīng)數(shù)據(jù)包長(zhǎng)為3000 bytes。攻擊者偽裝來(lái)自Spamhaus向DNS系統(tǒng)發(fā)起請(qǐng)求,之后依靠返回的響應(yīng)包對(duì)Spamhaus發(fā)起攻擊,使得合法用戶不能訪問(wèn)到Spamhaus的網(wǎng)站系統(tǒng)。
拯救Spamhaus網(wǎng)站的“英雄”是——Anycast,依托一個(gè)路由協(xié)議將對(duì)某個(gè)IP的訪問(wèn)流量分發(fā)到全球23個(gè)數(shù)據(jù)中心去?;ヂ?lián)網(wǎng)流量總會(huì)選擇最短的路徑。Anycast依據(jù)地理位置將海量的流量分散到幾十個(gè)彼此獨(dú)立的數(shù)據(jù)中心去,之后,每個(gè)數(shù)據(jù)包都將被檢查。當(dāng)發(fā)現(xiàn)符合異常行為的特征——例如來(lái)自開(kāi)放DNS系統(tǒng)的3000bytes的響應(yīng)包,數(shù)據(jù)包就將被丟棄。只有合法的訪問(wèn)流量才會(huì)被轉(zhuǎn)發(fā)到Spamhaus所在的數(shù)據(jù)中心。
Anycast同時(shí)也有效阻止了攻擊者對(duì)Spamhaus系統(tǒng)的其他類型攻擊。當(dāng)時(shí),攻擊者還對(duì)Spamhaus的反垃圾郵件系統(tǒng)進(jìn)行的ACK 反射攻擊。“ACK反射攻擊,是攻擊者偽裝Spamhaus系統(tǒng)的IP向一些服務(wù)器發(fā)出大量的SYN包,”Prince說(shuō),“這些服務(wù)器會(huì)向Spamhaus系統(tǒng)返回ACK數(shù)據(jù)包。和DNS反射攻擊類似,通過(guò)偽裝為請(qǐng)求的發(fā)起一方,使得回應(yīng)包指向被攻擊的目標(biāo)。”
相對(duì)于DNS反射攻擊來(lái)說(shuō),ACK攻擊相對(duì)容易防護(hù),因?yàn)椴淮嬖诜糯蟮男?yīng)。CloudFlare有效丟棄了所有的非法ACK數(shù)據(jù)包。
具有諷刺意味的是,當(dāng)CloudFlare阻止這些攻擊的時(shí)候,網(wǎng)絡(luò)運(yùn)營(yíng)商抗議他們的系統(tǒng)遭到了嚴(yán)重DNS/SYN Flood濫用。