綠盟科技 何坤
在網(wǎng)絡世界里,DDoS是強盜的代名詞,它是攻擊效果最為“明顯”的攻擊形式,不同于其它攻擊,DDoS攻擊的影響范圍廣、影響程度大。
DDoS攻擊已不再是黑客技術的炫耀,它更多出于經(jīng)濟利益、政治因素。
為了方便介紹,暫且將DDoS大致分為三個階段,每個階段都有其相應的特點,在這里先簡要介紹一下各個階段的特點,然后進行分析。
早期的拒絕服務攻擊以使用DoS工具的居多?,F(xiàn)在只要花點時間在網(wǎng)上搜一下,仍然能搜羅出大量的DoS工具,比如阿拉丁攻擊器隨處可見。工具的泛濫導致了拒絕服務攻擊的門檻降低,只要你想,你就可以隨便down兩個DoS工具隨意發(fā)起攻擊。
這些工具有一個特點:源IP虛假。也就是說,DoS工具只管向服務器狂發(fā)包,其余什么都不管。由于源IP虛假,受害者也就無法溯源,反過來讓攻擊者肆無忌憚。
還有一些DoS單機工具,可以構造一些特殊的畸形報文,讓服務器一觸即掛,但現(xiàn)在各個地方服務器補丁的管理已經(jīng)非常到位,網(wǎng)上的這種工具已經(jīng)沒有效果。
上面提到,早期的DoS工具的特點是源IP虛假。而早期的抗拒絕服務設備(也叫清洗設備)就利用了這一點,只要清洗設備能夠驗證這個源IP是否真實存在,也就可以很輕松的防護住假IP發(fā)起的攻擊。
也是在這時候,一些新名詞出現(xiàn)了:肉雞、傀儡、僵尸。利用木馬技術,黑客可以控制住活躍在網(wǎng)絡中的大量主機,也就是肉雞,然后可以利用他們做很多事情,發(fā)起DDoS攻擊就是其中之一。
使用肉雞發(fā)起的攻擊主要特點是什么呢?源IP是真實的。
現(xiàn)在已經(jīng)形成單機工具攻擊、肉雞攻擊、復雜攻擊并存的局面。
先談復雜攻擊,攻擊之所以變得復雜,不是攻擊者自己想要復雜,他也是受整個大環(huán)境的影響。因為受害者也都是被動的,市面上已經(jīng)有很多抗拒絕服務設備,經(jīng)常受到DDoS侵擾的受害者已開始使用這類設備,與攻擊者對抗。當攻擊者發(fā)現(xiàn)過去的攻擊方式?jīng)]有效果,必然會尋求另外一種有效的攻擊手段。
筆者在近一年來監(jiān)測到很多起非常有意思、非常有效、非常致命的DDoS攻擊,在這里,我們把它叫做“復雜攻擊”。
比如,我們?nèi)ツ臧l(fā)現(xiàn)的一種DDoS攻擊就很“特別”:源IP都是真實的,這些源向服務器發(fā)起的訪問也是真實的,只是這些真實流量“去錯”了地方。打個比方,這些源IP本來是要去訪問www.a.com的,但都“莫名其妙”的來到了www.b.com,造成的后果就是www.b.com的服務器負載增大,甚至無法訪問。經(jīng)過這次事件的處理,筆者與同事分析了這種“攻擊”的特點。
(1)這是攻擊嗎?
站在受害者www.b.com的角度,這屬于攻擊。因為b只有一臺服務器,1秒鐘約100個本應到達a的流量就讓它不堪重負,已經(jīng)產(chǎn)生了拒絕服務的效果,所以在b看來,這是攻擊;
那么a是攻擊者嗎?從技術角度來說,不能斷定a就是攻擊者,完全可能有個第三者c通過篡改DNS,讓a的流量去向b,又或者DNS或其他的網(wǎng)絡環(huán)節(jié)出了故障。從我們幾次與這種攻擊交鋒的經(jīng)驗來看,這種“故障”的概率未免高了一點。
(2)不用抓肉雞,人人皆“肉雞”
過去發(fā)起CC攻擊需要擁有大量肉雞,而再看這種攻擊,攻擊者不需要自己抓肉雞了,已經(jīng)有另一種途徑發(fā)起類似肉雞發(fā)起的CC攻擊,也許哪一天,你在訪問某知名服務的時候,就意外的成為了“肉雞”。
(3)防范難度增大
這種看似攻擊又不太像攻擊,卻能達到很強的攻擊效果的行為,讓很多網(wǎng)絡維護人員防不勝防,即使防住了,想要抓到真正的幕后仍然很難。
這里只介紹筆者遇到的其中一種“復雜攻擊”。
DDoS安全防護發(fā)展了這么多年,大多現(xiàn)在的清洗設備都已能夠直接防御早期的DDoS攻擊,也就是虛假源IP攻擊,而且都能清洗得很干凈。
現(xiàn)在攻擊者再用此類攻擊的話,可能會先用小流量,如果受害者的攻擊者服務器性能弱、帶寬小,又沒有任何防措施,那很快就能得手,也不用費太多精力。
當攻擊者發(fā)現(xiàn)小流量沒有效果,他會意識到受害者可能有防護設備(或者是防火墻、或者是專業(yè)抗DDoS設備),將提升攻擊流量(前提是他有帶寬資源)。很多人知道,防火墻從防護機制上決定了它是不具備抗DDoS打擊能力的,小流量還可,流量一大,受害者的服務器癱瘓之前,防火墻可能已經(jīng)垮了。這時候,受害者只能要么提高服務器能力、帶寬、改IP;要么使用更大性能的專業(yè)抗DDoS設備,因為有人已經(jīng)盯上你了,你別無他法。
前面提到一些攻擊者開始以提升攻擊流量來達到拒絕服務的效果,這是需要物質(zhì)基礎的,并不是很多人都有這個條件。然而全球范圍內(nèi)的大量肉雞群,正好可以滿足。一臺肉雞帶寬有限,但上千、上萬臺肉雞的力量就不可忽視,再加上肉雞IP是真實的特點,防護算法差的設備就難以防范此類DDoS攻擊。當肉雞的攻擊的流量到達清洗設備,清洗設備對肉雞進行探測,將發(fā)現(xiàn)這些源IP是真實的,不是虛假的,此時清洗設備的第一道關卡被突破。
優(yōu)秀的清洗設備,在面對真實IP的攻擊時,其不光能夠辨別源IP的真假性,還能從應用層行為上判斷這些源IP是否真的是要訪問服務器資源,也就是所謂的CC防護。CC防護算法主要有URL防護、HTTP Cookie防護、圖片驗證等等,防護算法越多,在對抗時能夠采取的手段也就越多,攻擊者就越難以突破。
為了提升攻擊效果,攻擊者不斷地創(chuàng)造新的攻擊手段,攻擊流量大小向兩級分化,要么攻擊流量很小(幾兆流量,以小博大),要么攻擊流量巨大(上G流量,以大欺小),發(fā)出的攻擊報文經(jīng)過精心構造,以期讓受害者毫無還手之力。
上面也提了一種特殊的、精細化的攻擊,下面再向大家介紹一些目前經(jīng)常遇到的精細化攻擊及防護。
(1)精心挑選的動態(tài)頁面
動態(tài)頁面是最耗服務器資源的,當攻擊者發(fā)現(xiàn)目標的網(wǎng)站中存在需要數(shù)據(jù)庫查詢的連接,比如“站內(nèi)搜索”、“投票”…它就可以使用肉雞資源,對這些頁面進行快速查詢,這些動作產(chǎn)生的流量不用太大,最終的結果,服務器在這類小流量的沖擊下崩潰。
這種攻擊的防護不是簡單判斷一下真假就可行的,因為肉雞IP是真的。此時清洗設備可使用CC防護算法(肉雞可以自動識別高復雜度的圖片嗎?),還可以結合連接耗盡策略(限制服務器的連接數(shù))。
如果你沒有清洗設備,那可以去掉這個動態(tài)頁面,也可保障服務器的正常運行,當然也損失了部分正常用戶。
(2)精心構造的攻擊報文
針對不同的攻擊目標,攻擊者將攻擊報文進行不同的偽裝,從報文任何一方面看上去都沒有破綻。
比如攻擊網(wǎng)吧,就用與網(wǎng)吧正常流量非常類似的流量進行攻擊;攻擊網(wǎng)站,就用與網(wǎng)站正常流量非常類似的流量進行攻擊,讓你防護設備無法正確識別。
對這種攻擊的防護對清洗設備的防護算法要求極高,清洗設備主要利用應用協(xié)議的一些細節(jié)部分進行防護,抱歉在這里還不能與大家分享,相信大家理解。
(3)不按套路出牌
攻擊包有時隨機、有時固定、有時分片;攻擊報文長度有時超長、有時超短。
對于這種攻擊的出現(xiàn),筆者認為攻擊者知道被攻擊目標部署了清洗設備,而防護算法可能是存在缺陷的,他是在使用各種流量來進行試探攻擊,也許你的清洗設備對這類報文就不防護了呢?
這就是考驗清洗設備的算法完備性了,雖然流量清洗設備基本上沒有類似病毒庫的東西,但算法上必須要做到完備,什么情況都必須考慮到,否則將無法適應當前的DDoS形勢。
除了以上攻擊,現(xiàn)在也開始出現(xiàn)由于軟件BUG引起的DDoS問題,比如某著名軟件引起的DNS斷網(wǎng)事件。相信在網(wǎng)絡日益緊密的大環(huán)境下,這類由軟件BUG引起的DDoS情況將增多。
道高一尺、魔高一丈?還是魔高一尺、道高一丈?
從目前的DDoS形勢看來,一眼就能看出是攻擊的情況將會越來越少,未來的DDoS攻擊將更加隱蔽,DDoS攻擊已經(jīng)不再是搞幾個工具,然后狂發(fā)SYN包、狂發(fā)ACK包的時代;更多的往應用層攻擊(CC攻擊)發(fā)展,新的CC攻擊將層出不窮,讓你很難發(fā)現(xiàn)和識別;攻擊流量大小兩級分化,要么以小博大,要么以大欺小;清洗設備防護算法的更新很重要,DDoS應急響應的能力也同樣重要;取證會越來越困難,想要抓住真正的攻擊發(fā)起者也更難,可以推測,DDoS將進入全面技術對抗的時代。