淺析DDoS攻擊及防禦

如今,信息技術的發展爲人們帶來了諸多便利,無論是個人社交行爲,還是商業活動都離不開網絡。但是,網絡空間在創造機遇的同時,也帶來了威脅,其中DDoS就是最具破壞力的攻擊。經過這些年的不斷髮展,它已經成爲不同組織和個人的攻擊形式之一,用於網絡中的勒索、報復,甚至網絡戰爭。

先聊聊DDoS的概念和發展

在講發展前,我們先對分佈式拒絕服務(DDoS)的基本概念有個大體瞭解。

何爲“拒絕服務”攻擊?

其實可以簡單理解爲:讓一個公開網站無法訪問。要實現這個目的,方法也很簡單:不斷地提出服務請求,讓合法用戶的請求無法及時處理。

何爲“分佈式”?

隨着網絡發展,很多大型企業具備較強的服務提供能力,所以應付單個請求的攻擊已經不是問題。“道高一尺,魔高一丈”,攻擊者就組織很多同夥,同時提出服務請求,直到服務無法訪問,這就叫“分佈式”。但是,在現實中,一般的攻擊者無法組織各地夥伴協同“作戰”,所以會使用“殭屍網絡”來控制N多計算機進行攻擊。

何爲“殭屍網絡”?

就是數量龐大的殭屍程序(Bot)通過一定方式組合,出於惡意目的,採用一對多的方式進行控制的大型網絡,也可以說是一種複合性攻擊方式。因爲殭屍主機的數量很大而且分佈廣泛,所以危害程度和防禦難度都很大。
殭屍網絡具備高可控性,控制者可以在發佈指令後,就斷開與殭屍網絡的連接,而控制指令會自動在殭屍程序間傳播執行。

這就像個生態系統一樣。對安全研究人員來說,通過捕獲一個節點雖然可以發現此殭屍網絡的許多殭屍主機,但很難窺其全貌,而且即便封殺一些殭屍主機,也不會影響整個殭屍網絡的生存。

DDoS的發展怎麼樣?

正所謂“以史爲鑑,可以知興替”。既然大概瞭解了DDoS,咱們說說它的歷史發展。最早的時候,黑客們大都是爲了炫耀個人技能,所以攻擊目標選擇都很隨意,娛樂性比較強。後來,有一些宗教組織和商業組織發現了這個攻擊效果,就以勒索、報復等方式爲目的,對特定目標進行攻擊,並開發一些相應的工具,保證攻擊成本降低。當國家級政治勢力意識到這個價值的時候,DDoS就開始被武器化,很容易就被用於精確目標的網絡戰爭中。

根據綠盟科技2015年的DDoS態勢分析,從全球流量分佈來看,中國和美國是DDoS受災的重災區。

談談DDoS的攻擊方式

分佈式拒絕服務攻擊的精髓是:利用分佈式的客戶端,向目標發起大量看上去合法的請求,消耗或者佔用大量資源,從而達到拒絕服務的目的。

其主要攻擊方法有4種:

1. 攻擊帶寬

跟交通堵塞情況一樣,大家都應該清楚:當網絡數據包的數量達到或者超過上限時,會出現網絡擁堵、響應緩慢的情況。DDoS就是利用這個原理,發送大量網絡數據包,佔滿被攻擊目標的全部帶寬,從而造成正常請求失效,達到拒絕服務的目的。

攻擊者可以使用ICMP洪水攻擊(即發送大量ICMP相關報文)、或者UDP洪水攻擊(即發送用戶數據報協議的大包或小包),使用僞造源IP地址方式進行隱匿,並對網絡造成擁堵和服務器響應速度變慢等影響。

但是,這種直接方式通常依靠受控主機本身的網絡性能,所以效果不是很好,還容易被查到攻擊源頭。於是反射攻擊就出現,攻擊者使用特殊的數據包,即IP地址指向作爲反射器的服務器,源IP地址被僞造成攻擊目標的IP,反射器接收到數據包的時候就被騙了,會將響應數據發送給被攻擊目標,然後就會耗盡目標網絡的帶寬資源。

2. 攻擊系統

創建TCP連接需要客戶端與服務器進行三次交互,也就是常說的“三次握手”。這個信息通常被保存在連接表結構中,但是表的大小有限,所以當超過存儲量,服務器就無法創建新的TCP連接。

攻擊者利用這一點,用受控主機建立大量惡意的TCP連接,佔滿被攻擊目標的連接表,使其無法接受新的TCP連接請求。如果攻擊者發送了大量的TCP SYN報文,讓服務器在短時間內產生大量的半開連接,連接表也會被很快佔滿,導致無法建立新的TCP連接,這個方式是SYN洪水攻擊,很多攻擊者都比較常用。

3.攻擊應用

由於DNS和Web服務的廣泛性和重要性,這兩種服務就成爲消耗應用資源的分佈式拒絕服務攻擊的主要目標。

比如,向DNS服務器發送大量查詢請求,從而達到拒絕服務的效果,如果每一個DNS解析請求所查詢的域名都是不同的,那麼就有效避開服務器緩存的解析記錄,達到更好的資源消耗效果。當DNS服務的可用性受到威脅,互聯網上大量的設備都會受到影響而無法正常使用。

近些年,Web技術發展非常迅速,如果攻擊者利用大量的受控主機不斷地向Web服務器惡意發送大量HTTP請求,要求Web服務器處理,就會完全佔用服務器資源,讓正常用戶的Web訪問請求得不到處理,導致拒絕服務。一旦Web服務受到這種攻擊,就會對其承載的業務造成致命的影響。

4.混合攻擊

在實際的生活中,攻擊者並不關心使用的哪種攻擊方法管用,只要能夠達到目的,一般就會發動其所有的攻擊手段,盡其所能的展開攻勢。對於被攻擊目標來說,需要面對不同的協議、不同資源的分佈式拒絕服務攻擊,分析、響應和處理的成本就會大大增加。

隨着殭屍網絡向小型化的趨勢發展,爲降低攻擊成本,有效隱藏攻擊源,躲避安全設備,同時保證攻擊效果,針對應用層的小流量慢速攻擊已經逐步發展壯大起來。因此,從另一個角度來說,DDoS攻擊方面目前主要是兩個方面:一是UDP及反射式大流量高速攻擊,二是多協議小流量及慢速攻擊。

說說DDoS的攻擊工具

國人講究:工欲善其事必先利其器。隨着開源的DDoS工具撲面而來,網絡攻擊變得越來越容易,威脅也越來越嚴重。 工具有很多,簡單介紹幾款知名的,讓大家有個簡單瞭解。

1. LOIC

LOIC是一個頗受歡迎的DOS攻擊的淹沒式工具,會產生大量流量,可以在多種平臺運行,包括Linux、Windows、Mac OS、Android等。早在2010年,黑客組織對反對維基解密的公司和機構的攻擊活動中,該工具被下載了3萬次以上。

LOIC界面友好,易於使用,初學者也可以很快上手。但是由於該工具需要使用真實IP地址,現在已經停用。

2. HULK (HTTP Unbearable Load King)

HULK是另一個DOS攻擊工具,這個工具使用UserAgent的僞造,來避免攻擊檢測,可以通過啓動500線程對目標發起高頻率HTTP GET FLOOD請求,更可怕的是每一次請求都是獨立的,可以繞過服務端的緩存措施,讓所有請求得到處理。HULK是用Python語言編寫,對獲得的源碼進行更改也非常方便。

3. R.U.D.Y.

R-U-Dead-Yet是一款採用慢速HTTP POST請求方式進行DOS攻擊的工具,它提供了一個交互式控制檯菜單,檢測給定的URL,並允許用戶選擇哪些表格和字段應用於POST-based DOS攻擊,操作非常簡單。

而且,它也使用的是Python語言編寫,可移植性非常好。R.U.D.Y.能夠對所有類型的Web服務端軟件造成影響,因此攻擊的威脅非常大。這些工具在保持攻擊力的同時還再加強易用性,而免費和開源降低了使用門檻。隨着攻防對抗的升級,工具會越來越智能化。

最後聊聊DDoS的防禦

我的導師教過我:DDoS攻擊只是手段,最終目的是永遠的利益。而未來網絡戰爭將出現更加廣泛的、更加頻繁的和更加精準的攻擊。面對這些攻擊來臨時,我們應如何應對?

1.設置高性能設備

要保證網絡設備不能成爲瓶頸,因此選擇路由器、交換機、硬件防火牆等設備時要儘量選用知名度高、口碑好的產品。並且,假如和網絡提供商有特殊關係或協議的話就更好了,當大量攻擊發生時請他們在網絡接點處做一下流量限制來對抗某些種類的DDoS攻擊是非常有效的。

2. 帶寬得保證

網絡帶寬直接決定了能抗受攻擊的能力,假若僅僅只有10M帶寬的話,無論採取什麼措施都很難對抗現在的SYN Flood攻擊。所以,最好選擇100M的共享帶寬,當然是掛在1000M的主幹上了。

3. 不要忘記升級

在有網絡帶寬保證的前提下,請儘量提升硬件配置,要有效對抗每秒10萬個SYN攻擊包。而且最好可以進行優化資源使用,提高web server的負載能力。

4. 異常流量的清洗

通過DDoS硬件防火牆對異常流量的清洗過濾,通過數據包的規則過濾、數據流指紋檢測過濾、及數據包內容定製過濾等頂尖技術能準確判斷外來訪問流量是否正常,進一步將異常流量禁止過濾。

5. 考慮把網站做成靜態頁面

將網站儘可能做成靜態頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,最好在需要調用數據庫的腳本中,拒絕使用代理的訪問,經驗表明,使用代理訪問你網站的80%屬於惡意行爲。

6. 分佈式集羣防禦

這是目前網絡安全界防禦大規模DDoS攻擊的一種有效辦法。分佈式集羣防禦的特點是在每個節點服務器配置多個IP地址,並且每個節點能承受不低於10G的DDoS攻擊,如一個節點受攻擊無法提供服務,系統將會根據優先級設置自動切換另一個節點,並將攻擊者的數據包全部返回發送點,使攻擊源成爲癱瘓狀態,從更爲深度的安全防護角度去影響企業的安全執行決策。

就DDoS防禦方面來說,目前主要是兩個方面,大流量攻擊可以交給運營商及雲端清洗,小流量攻擊可以在企業本地進行設備防護,這個分界點根據行業及業務特性的不同會有所差異,大概的量級應該在百兆BPS左右。相關的緩解與治理,有興趣的童鞋可以看看鮑旭華的《破壞之王》,會有不小的啓示。

其實,對抗DDoS攻擊是一個涉及多個層面的問題,在有的環節,有效性和收益率並不對等。所以需要各方面合作,用戶也可以多多聽聽專家意見,針對攻擊事先做好應對的應急方案。有句話說:“god helps those who help themselves。” 翻譯過來就是,天助自助者,因此面對DDoS攻擊,大家需要具備安全意識,完善自身的安全防護體系纔是正解。

寫在最後

隨着全球互聯網業務的快速發展和雲計算的發展浪潮,可以預見到,針對雲數據中心的DDoS攻擊頻率還會大幅度增長,攻擊手段也會更加複雜。安全工作是一個長期持續性而非階段性的工作,所以需要時刻保持一種警覺。此外,網絡安全不僅僅是某個企業的責任,更是全社會的共同責任,需要大家共同努力。

本文轉自綠盟科技博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章