現(xiàn)如今,信息技術(shù)的發(fā)展為人們帶來了諸多便利,無論是個(gè)人社交行為,還是商業(yè)活動(dòng)都開始離不開網(wǎng)絡(luò)了。但是網(wǎng)際空間帶來了機(jī)遇的同時(shí),也帶來了威脅,其中DDoS就是最具破壞力的攻擊,通過這些年的不斷發(fā)展,它已經(jīng)成為不同組織和個(gè)人的攻擊,用于網(wǎng)絡(luò)中的勒索、報(bào)復(fù),甚至網(wǎng)絡(luò)戰(zhàn)爭。
先聊聊DDoS的概念和發(fā)展
在說發(fā)展之前,咱先得對(duì)分布式拒絕服務(wù)(DDoS)的基本概念有個(gè)大體了解。
啥叫“拒絕服務(wù)”攻擊呢?
其實(shí)可以簡單理解為:讓一個(gè)公開網(wǎng)站無法訪問。要達(dá)到這個(gè)目的的方法也很簡單:不斷地提出服務(wù)請(qǐng)求,讓合法用戶的請(qǐng)求無法及時(shí)處理。
啥叫“分布式”呢?
其實(shí)隨著網(wǎng)絡(luò)發(fā)展,很多大型企業(yè)具備較強(qiáng)的服務(wù)提供能力,所以應(yīng)付單個(gè)請(qǐng)求的攻擊已經(jīng)不是問題。道高一尺,魔高一丈,于是乎攻擊者就組織很多同伙,同時(shí)提出服務(wù)請(qǐng)求,直到服務(wù)無法訪問,這就叫“分布式”。但是在現(xiàn)實(shí)中,一般的攻擊者無法組織各地伙伴協(xié)同“作戰(zhàn)”,所以會(huì)使用“僵尸網(wǎng)絡(luò)”來控制N多計(jì)算機(jī)進(jìn)行攻擊。
啥叫“僵尸網(wǎng)絡(luò)”呢?
就是數(shù)量龐大的僵尸程序(Bot)通過一定方式組合,出于惡意目的,采用一對(duì)多的方式進(jìn)行控制的大型網(wǎng)絡(luò),也可以說是一種復(fù)合性攻擊方式。因?yàn)榻┦鳈C(jī)的數(shù)量很大而且分布廣泛,所以危害程度和防御難度都很大。
僵尸網(wǎng)絡(luò)具備高可控性,控制者可以在發(fā)布指令之后,就斷開與僵尸網(wǎng)絡(luò)的連接,而控制指令會(huì)自動(dòng)在僵尸程序間傳播執(zhí)行。
這就像個(gè)生態(tài)系統(tǒng)一樣,對(duì)于安全研究人員來說,通過捕獲一個(gè)節(jié)點(diǎn)可以發(fā)現(xiàn)此僵尸網(wǎng)絡(luò)的許多僵尸主機(jī),但很難窺其全貌,而且即便封殺一些僵尸主機(jī),也不會(huì)影響整個(gè)僵尸網(wǎng)絡(luò)的生存。
DDoS的發(fā)展咋樣?
正所謂“以史為鑒,可以知興替”。既然大概了解DDoS是啥了,咱們就說說它的歷史發(fā)展吧。
最早的時(shí)候,黑客們都是大都是為了炫耀個(gè)人技能,所以攻擊目標(biāo)選擇都很隨意,娛樂性比較強(qiáng)。后來,有一些宗教組織和商業(yè)組織發(fā)現(xiàn)了這個(gè)攻擊的效果,就以勒索、報(bào)復(fù)等方式為目的,對(duì)特定目標(biāo)進(jìn)行攻擊,并開發(fā)一些相應(yīng)的工具,保證攻擊成本降低。當(dāng)國家級(jí)政治勢(shì)力意識(shí)到這個(gè)價(jià)值的時(shí)候,DDoS就開始被武器化了,很容易就被用于精確目標(biāo)的網(wǎng)絡(luò)戰(zhàn)爭中。
再談?wù)凞DoS的攻擊方式
分布式拒絕服務(wù)攻擊的精髓是:利用分布式的客戶端,向目標(biāo)發(fā)起大量看上去合法的請(qǐng)求,消耗或者占用大量資源,從而達(dá)到拒絕服務(wù)的目的。
其主要攻擊方法有4種:
1、攻擊帶寬
跟帝都的交通堵塞情況一樣,大家都該清楚,當(dāng)網(wǎng)絡(luò)數(shù)據(jù)包的數(shù)量達(dá)到或者超過上限的時(shí)候,會(huì)出現(xiàn)網(wǎng)絡(luò)擁堵、響應(yīng)緩慢的情況。DDoS就是利用這個(gè)原理,發(fā)送大量網(wǎng)絡(luò)數(shù)據(jù)包,占滿被攻擊目標(biāo)的全部帶寬,從而造成正常請(qǐng)求失效,達(dá)到拒絕服務(wù)的目的。
攻擊者可以使用ICMP洪水攻擊(即發(fā)送大量ICMP相關(guān)報(bào)文)、或者UDP洪水攻擊(即發(fā)送用戶數(shù)據(jù)報(bào)協(xié)議的大包或小包),使用偽造源IP地址方式進(jìn)行隱匿,并對(duì)網(wǎng)絡(luò)造成擁堵和服務(wù)器響應(yīng)速度變慢等影響。
但是這種直接方式通常依靠受控主機(jī)本身的網(wǎng)絡(luò)性能,所以效果不是很好,還容易被查到攻擊源頭。于是反射攻擊就出現(xiàn),攻擊者使用特殊的數(shù)據(jù)包,也就是IP地址指向作為反射器的服務(wù)器,源IP地址被偽造成攻擊目標(biāo)的IP,反射器接收到數(shù)據(jù)包的時(shí)候就被騙了,會(huì)將響應(yīng)數(shù)據(jù)發(fā)送給被攻擊目標(biāo),然后就會(huì)耗盡目標(biāo)網(wǎng)絡(luò)的帶寬資源。
2、攻擊系統(tǒng)
創(chuàng)建TCP連接需要客戶端與服務(wù)器進(jìn)行三次交互,也就是常說的“三次握手”。這個(gè)信息通常被保存在連接表結(jié)構(gòu)中,但是表的大小有限,所以當(dāng)超過了存儲(chǔ)量,服務(wù)器就無法創(chuàng)建新的TCP連接了。
攻擊者就是利用這一點(diǎn),用受控主機(jī)建立大量惡意的TCP連接,占滿被攻擊目標(biāo)的連接表,使其無法接受新的TCP連接請(qǐng)求。如果攻擊者發(fā)送了大量的TCP SYN報(bào)文,使服務(wù)器在短時(shí)間內(nèi)產(chǎn)生大量的半開連接,連接表也會(huì)被很快占滿,導(dǎo)致無法建立新的TCP連接,這個(gè)方式是SYN洪水攻擊,很多攻擊者都比較常用。
DDoS攻擊系統(tǒng)
3、攻擊應(yīng)用
由于DNS和Web服務(wù)的廣泛性和重要性,這兩種服務(wù)就成為了消耗應(yīng)用資源的分布式拒絕服務(wù)攻擊的主要目標(biāo)。
比如向DNS服務(wù)器發(fā)送大量查詢請(qǐng)求,從而達(dá)到拒絕服務(wù)的效果,如果每一個(gè)DNS解析請(qǐng)求所查詢的域名都是不同的,那么就有效避開服務(wù)器緩存的解析記錄,達(dá)到更好的資源消耗效果。當(dāng)DNS服務(wù)的可用性受到威脅,互聯(lián)網(wǎng)上大量的設(shè)備都會(huì)受到影響而無法正常使用。
近些年,Web技術(shù)發(fā)展非常迅速,如果攻擊者利用大量的受控主機(jī)不斷地向Web服務(wù)器惡意發(fā)送大量HTTP請(qǐng)求,要求Web服務(wù)器處理,就會(huì)完全占用服務(wù)器資源,讓正常用戶的Web訪問請(qǐng)求得不到處理,導(dǎo)致拒絕服務(wù)。一旦Web服務(wù)受到這種攻擊,就會(huì)對(duì)其承載的業(yè)務(wù)造成致命的影響。
4、混合攻擊
在實(shí)際的生活中,乖哦概念記者并不關(guān)心自己使用的哪種攻擊方法管用,只要能夠達(dá)到目的,一般就會(huì)發(fā)動(dòng)其所有的攻擊手段,盡其所能的展開攻勢(shì)。對(duì)于被攻擊目標(biāo)來說,需要面對(duì)不同的協(xié)議、不同資源的分布式拒絕服務(wù)攻擊,分析、響應(yīng)和處理的成本就會(huì)大大增加。
隨著僵尸網(wǎng)絡(luò)向著小型化的趨勢(shì)發(fā)展,為降低攻擊成本,有效隱藏攻擊源,躲避安全設(shè)備,同時(shí)保證攻擊效果,針對(duì)應(yīng)用層的小流量慢速攻擊已經(jīng)逐步發(fā)展壯大起來。因此,從另一個(gè)角度來說,DDoS攻擊方面目前主要是兩個(gè)方面:UDP及反射式大流量高速攻擊、和多協(xié)議小流量及慢速攻擊。
也說說DDoS的攻擊工具
國人比較講究:工欲善其事必先利其器。隨著開源的DDoS工具撲面而來,網(wǎng)絡(luò)攻擊變得越來越容易,威脅也越來越嚴(yán)重。 工具有很多,簡單介紹幾款知名的,讓大家有個(gè)簡單了解。
LOIC
LOIC低軌道離子炮,是一個(gè)最受歡迎的DOS攻擊的淹沒式工具,會(huì)產(chǎn)生大量的流量,可以在多種平臺(tái)運(yùn)行,包括Linux、Windows、Mac OS、Android等等。早在2010年,黑客組織對(duì)反對(duì)維基解密的公司和機(jī)構(gòu)的攻擊活動(dòng)中,該工具就被下載了3萬次以上。
LOIC界面友好,易于使用,初學(xué)者也可以很快上手。但是由于該工具需要使用真實(shí)IP地址,現(xiàn)在Anonymous已經(jīng)停用了。
HULK (HTTP Unbearable Load King)
HULK是另一個(gè)DOS攻擊工具,這個(gè)工具使用UserAgent的偽造,來避免攻擊檢測(cè),可以通過啟動(dòng)500線程對(duì)目標(biāo)發(fā)起高頻率HTTP GET FLOOD請(qǐng)求,牛逼的是每一次請(qǐng)求都是獨(dú)立的,可以繞過服務(wù)端的緩存措施,讓所有請(qǐng)求得到處理。HULK是用Python語言編寫,對(duì)獲得源碼進(jìn)行更改也非常方便。
R.U.D.Y.
R-U-Dead-Yet是一款采用慢速HTTP POST請(qǐng)求方式進(jìn)行DOS攻擊的工具,它提供了一個(gè)交互式控制臺(tái)菜單,檢測(cè)給定的URL,并允許用戶選擇哪些表格和字段應(yīng)用于POST-based DOS攻擊,操作非常簡單。
而且它也使用的是Python語言編寫,可移植性非常好。R.U.D.Y.能夠?qū)λ蓄愋偷腤eb服務(wù)端軟件造成影響,因此攻擊的威脅非常大。
這些工具在保持攻擊力的同時(shí)還再加強(qiáng)易用性,而免費(fèi)和開源降低了使用的門檻,相信隨著攻防對(duì)抗的升級(jí),工具會(huì)越來越智能化。
最后嘮嘮DDoS的防御
我的導(dǎo)師教過我:DDoS攻擊只是手段,最終目的是永遠(yuǎn)的利益。而未來網(wǎng)絡(luò)戰(zhàn)爭將會(huì)出現(xiàn)更加廣泛的攻擊、更加頻繁的攻擊和更加精準(zhǔn)的攻擊,面對(duì)這些來臨的時(shí)候,我們應(yīng)該如何應(yīng)對(duì)?
DDoS的防御
設(shè)置高性能設(shè)備
要保證網(wǎng)絡(luò)設(shè)備不能成為瓶頸,因此選擇路由器、交換機(jī)、硬件防火墻等設(shè)備的時(shí)候要盡量選用知名度高、口碑好的產(chǎn)品。再就是假如和網(wǎng)絡(luò)提供商有特殊關(guān)系或協(xié)議的話就更好了,當(dāng)大量攻擊發(fā)生的時(shí)候請(qǐng)他們?cè)诰W(wǎng)絡(luò)接點(diǎn)處做一下流量限制來對(duì)抗某些種類的DDoS攻擊是非常有效的。
帶寬得保證
網(wǎng)絡(luò)帶寬直接決定了能抗受攻擊的能力,假若僅僅有10M帶寬的話,無論采取什么措施都很難對(duì)抗現(xiàn)在的SYN Flood攻擊。所以,最好選擇100M的共享帶寬,當(dāng)然是掛在1000M的主干上了。
不要忘記升級(jí)
在有網(wǎng)絡(luò)帶寬保證的前提下,請(qǐng)盡量提升硬件配置,要有效對(duì)抗每秒10萬個(gè)SYN攻擊包。而且最好可以進(jìn)行優(yōu)化資源使用,提高web server 的負(fù)載能力。
異常流量的清洗
通過DDoS硬件防火墻對(duì)異常流量的清洗過濾,通過數(shù)據(jù)包的規(guī)則過濾、數(shù)據(jù)流指紋檢測(cè)過濾、及數(shù)據(jù)包內(nèi)容定制過濾等頂尖技術(shù)能準(zhǔn)確判斷外來訪問流量是否正常,進(jìn)一步將異常流量禁止過濾。
考慮把網(wǎng)站做成靜態(tài)頁面
把網(wǎng)站盡可能做成靜態(tài)頁面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來不少麻煩,最好在需要調(diào)用數(shù)據(jù)庫的腳本中,拒絕使用代理的訪問,經(jīng)驗(yàn)表明,使用代理訪問你網(wǎng)站的80%屬于惡意行為。
分布式集群防御
這是目前網(wǎng)絡(luò)安全界防御大規(guī)模DDoS攻擊的最有效辦法。分布式集群防御的特點(diǎn)是在每個(gè)節(jié)點(diǎn)服務(wù)器配置多個(gè)IP地址,并且每個(gè)節(jié)點(diǎn)能承受不低于10G的DDoS攻擊,如一個(gè)節(jié)點(diǎn)受攻擊無法提供服務(wù),系統(tǒng)將會(huì)根據(jù)優(yōu)先級(jí)設(shè)置自動(dòng)切換另一個(gè)節(jié)點(diǎn),并將攻擊者的數(shù)據(jù)包全部返回發(fā)送點(diǎn),使攻擊源成為癱瘓狀態(tài),從更為深度的安全防護(hù)角度去影響企業(yè)的安全執(zhí)行決策。
就DDoS防御方面來說,目前主要是兩個(gè)方面,大流量攻擊可以交給運(yùn)營商及云端清洗,小流量攻擊可以在企業(yè)本地進(jìn)行設(shè)備防護(hù),這個(gè)分界點(diǎn)根據(jù)行業(yè)及業(yè)務(wù)特性的不同會(huì)有所差異,大概的量級(jí)應(yīng)該在百兆BPS左右。相關(guān)的緩解與治理,有興趣的童鞋可以看看鮑旭華的《破壞之王》,會(huì)有不小的啟示。
DDoS的防御
其實(shí),對(duì)抗DDoS攻擊是一個(gè)涉及多個(gè)層面的問題,在有的環(huán)節(jié),有效性和收益率并不對(duì)等。所以需要各方面合作,用戶也可以多多聽聽專家的意見,針對(duì)攻擊事先做好應(yīng)對(duì)的應(yīng)急方案。有句話說:“god helps those who help themselves.”意思是,上帝只幫助那些自助的人,因此面對(duì)DDoS的攻擊,大家需要具備安全意識(shí),完善自身的安全防護(hù)體系才是正解。
分享到微信 ×
打開微信,點(diǎn)擊底部的“發(fā)現(xiàn)”,
使用“掃一掃”即可將網(wǎng)頁分享至朋友圈。