近日,內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)運(yùn)營(yíng)商Akamai表示,,一種使網(wǎng)站快速癱瘓的DDoS放大攻擊新方法正在被不法分子所利用,。這種方法是通過控制數(shù)量巨大的中間設(shè)備(middlebox,主要是指配置不當(dāng)?shù)姆?wù)器),,可以將大量垃圾數(shù)據(jù)快速放大到之前無(wú)法想象的規(guī)模,。
這些中間設(shè)備大多未遵循傳輸控制協(xié)議規(guī)范——在建立連接之前,這種規(guī)范需要三方握手,,這個(gè)握手過程包括客戶端發(fā)送SYN數(shù)據(jù)包,、服務(wù)器發(fā)送SYN+ACK響應(yīng)以及客戶端發(fā)送用于確認(rèn)的ACK數(shù)據(jù)包。
由于ACK確認(rèn)數(shù)據(jù)包必須來自合法用戶,,而不是欺騙目標(biāo)IP地址的攻擊者,,這種握手機(jī)制會(huì)阻止基于TCP的應(yīng)用程序被用作放大器。但是考慮到需要處理非對(duì)稱路由,,這類中間設(shè)備有意放棄了這一要求,。這就使得攻擊者可以通過放大手法提高攻擊力,實(shí)施更具破壞力的DDoS攻擊活動(dòng),。
隱藏的武器庫(kù)
去年8月,,馬里蘭大學(xué)和科羅拉多大學(xué)博爾德分校的研究人員發(fā)表的研究結(jié)果表明,攻擊者有能力利用這數(shù)十萬(wàn)個(gè)中間設(shè)備發(fā)動(dòng)最嚴(yán)重的分布式拒絕服務(wù)(DDoS)攻擊,。攻擊者使用DDoS向網(wǎng)站發(fā)送流量或超出服務(wù)器處理能力的垃圾數(shù)據(jù),,從而使其拒絕向合法用戶提供服務(wù)。DDoS類似以前的這種惡作劇——將更多電話轉(zhuǎn)到電話線不夠處理的比薩店,。
為了盡量加大損害并節(jié)省資源,,DDoS攻擊者常常通過放大手法提高攻擊力,。放大攻擊的原理是,欺騙目標(biāo)的IP地址,,并向用于解析域名,、同步計(jì)算機(jī)時(shí)鐘或加快數(shù)據(jù)庫(kù)緩存的配置不當(dāng)?shù)姆?wù)器發(fā)送數(shù)量較少的數(shù)據(jù)。由于服務(wù)器自動(dòng)發(fā)送的響應(yīng)比請(qǐng)求大幾十倍,、幾百倍甚至幾千倍,,所以這種自動(dòng)響應(yīng)讓受騙的目標(biāo)不堪重負(fù)。
研究人員表示,,他們發(fā)現(xiàn)的至少10萬(wàn)個(gè)中間設(shè)備超過了DNS服務(wù)器的放大倍數(shù)(約54倍)和網(wǎng)絡(luò)時(shí)間協(xié)議服務(wù)器的放大倍數(shù)(約556倍),。他們發(fā)現(xiàn)使用memcached來放大流量的數(shù)百臺(tái)服務(wù)器,會(huì)產(chǎn)生比上述配置不當(dāng)?shù)姆?wù)器更高的倍數(shù)放大流量,。memcached用于加速網(wǎng)站的數(shù)據(jù)庫(kù)緩存系統(tǒng),可以將流量增加驚人的51000倍,。
研究人員當(dāng)時(shí)表示,,他們沒有證據(jù)表明中間設(shè)備DDoS放大攻擊在外面被大肆使用,但預(yù)計(jì)這一天早晚會(huì)到來,。近日,,Akamai研究人員表示,他們已檢測(cè)到多起DDoS攻擊就采用這種方式來使用中間設(shè)備,,其攻擊峰值流量達(dá)到11Gbps,,每秒150萬(wàn)個(gè)數(shù)據(jù)包。雖然與最大規(guī)模的DDoS相比是小巫見大巫,,但兩個(gè)研究團(tuán)隊(duì)都預(yù)測(cè):隨著DDoS攻擊者開始優(yōu)化攻擊,,并找到更多可以被濫用的中間設(shè)備,攻擊規(guī)模會(huì)變得更大,。
去年8月發(fā)表研究論文的首席研究員Kevin Bock表示,,DDoS攻擊者有強(qiáng)烈的動(dòng)機(jī)來重現(xiàn)其團(tuán)隊(duì)理論上推測(cè)的攻擊。在Akamai的檢測(cè)中發(fā)現(xiàn),,一個(gè)中間設(shè)備收到了帶33字節(jié)有效載荷的SYN數(shù)據(jù)包,,返回了2156字節(jié)的回復(fù)。也就是說,,放大倍數(shù)是65,,但這種放大攻擊手法大有潛力可挖。
Akamai研究人員表示:
TCP容量耗盡攻擊以前需要攻擊者訪問大量機(jī)器和大量帶寬,,通常需要功能非常強(qiáng)大的機(jī)器,,擁有高帶寬連接和源頭欺騙功能或僵尸網(wǎng)絡(luò)。這是由于在此之前,,TCP協(xié)議方面沒有受到嚴(yán)重的放大攻擊,;少量放大是有可能,但被認(rèn)為幾乎忽略不計(jì),至少與針對(duì)UDP的放大攻擊相比不值一提,。
如果想把SYN洪水攻擊與容量耗盡攻擊結(jié)合起來,,就需要1:1的攻擊帶寬量,通常向受害者發(fā)送填充的SYN數(shù)據(jù)包這種流量,。中間設(shè)備攻擊放大的出現(xiàn)顛覆了長(zhǎng)期以來對(duì)TCP攻擊的這番認(rèn)識(shí)?,F(xiàn)在,從容量耗盡攻擊的角度來看,,攻擊者在一些情況下只需要1/75的帶寬量,,攻擊者就能免費(fèi)獲得SYN、ACK或PSH+ACK洪水流量,。
攻擊從未停歇
Akamai遇到的另一個(gè)中間設(shè)備由于未知原因使用自己的多個(gè)SYN數(shù)據(jù)包來響應(yīng)SYN數(shù)據(jù)包,。遵循TCP規(guī)范的服務(wù)器不應(yīng)該以這種方式響應(yīng)。更糟糕的是,,該中間設(shè)備完全忽略了受害者發(fā)送的RST數(shù)據(jù)包,,這些數(shù)據(jù)包本該終止連接。
另外令人擔(dān)憂的是,,Bock的研究團(tuán)隊(duì)發(fā)現(xiàn),,一些中間設(shè)備在收到含有RST的任何其他數(shù)據(jù)包時(shí)做出響應(yīng)。這會(huì)造成無(wú)休止的數(shù)據(jù)包風(fēng)暴,。Akamai還附上一段演示,,展示了攻擊者攻擊基于TCP服務(wù)的特定端口時(shí)出現(xiàn)的破壞。
Akamai解釋,,這些發(fā)送到TCP應(yīng)用程序/服務(wù)的SYN數(shù)據(jù)包會(huì)導(dǎo)致該應(yīng)用程序試圖用多個(gè)SYN+ACK數(shù)據(jù)包進(jìn)行響應(yīng),,并保持TCP會(huì)話開放,等待三方握手的其余過程,。由于每個(gè)TCP會(huì)話都處于這種半開放狀態(tài),,系統(tǒng)會(huì)消耗套接字,反過來會(huì)消耗資源,,最終資源完全耗盡,。
遺憾的是,普通的最終用戶無(wú)法阻止DDoS放大手法被利用,。同時(shí),,在許多情況下,中間設(shè)備運(yùn)營(yíng)方重新配置其設(shè)備是不可能的,。網(wǎng)絡(luò)防御者必須改變其過濾和響應(yīng)數(shù)據(jù)包的方式,。