【網(wǎng)絡(luò)安全】:DDoS攻擊原理是什么?怎么防御?
【網(wǎng)絡(luò)安全】:DDoS攻擊原理是什么?怎么防御?
隨著網(wǎng)絡(luò)時(shí)代的到來(lái),網(wǎng)絡(luò)安全變得越來(lái)越重要。在互聯(lián)網(wǎng)的安全領(lǐng)域,DDoS(Distributed DenialofService)攻擊技術(shù)因?yàn)樗碾[蔽性,高效性一直是網(wǎng)絡(luò)攻擊者最青睞的攻擊方式,它嚴(yán)重威脅著互聯(lián)網(wǎng)的安全。那么,DDoS攻擊原理是什么?下面小編就為大家介紹一下相關(guān)知識(shí)點(diǎn),我們一起來(lái)看看吧!
DDoS攻擊原理及防護(hù)措施介紹:
一、DDoS攻擊的工作原理
1.1 DDoS的定義
DDos的前身 DoS (DenialofService)攻擊,其含義是拒絕服務(wù)攻擊,這種攻擊行為使網(wǎng)站服務(wù)器充斥大量的要求回復(fù)的信息,消耗網(wǎng)絡(luò)帶寬或系統(tǒng)資源,導(dǎo)致網(wǎng)絡(luò)或系統(tǒng)不勝負(fù)荷而停止提供正常的網(wǎng)絡(luò)服務(wù)。而DDoS分布式拒絕服務(wù),則主要利用 Internet上現(xiàn)有機(jī)器及系統(tǒng)的漏洞,攻占大量聯(lián)網(wǎng)主機(jī),使其成為攻擊者的代理。當(dāng)被控制的機(jī)器達(dá)到一定數(shù)量后,攻擊者通過(guò)發(fā)送指令操縱這些攻擊機(jī)同時(shí)向目標(biāo)主機(jī)或網(wǎng)絡(luò)發(fā)起DoS攻擊,大量消耗其網(wǎng)絡(luò)帶和系統(tǒng)資源,導(dǎo)致該網(wǎng)絡(luò)或系統(tǒng)癱瘓或停止提供正常的網(wǎng)絡(luò)服務(wù)。由于DDos的分布式特征,它具有了比Dos遠(yuǎn)為強(qiáng)大的攻擊力和破壞性。
1.2 DDoS的攻擊原理
如圖1所示,一個(gè)比較完善的DDos攻擊體系分成四大部分,分別是攻擊者( attacker也可以稱為master)、控制傀儡機(jī)( handler)、攻擊傀儡機(jī)( demon,又可稱agent)和受害著( victim)。第2和第3部分,分別用做控制和實(shí)際發(fā)起攻擊。第2部分的控制機(jī)只發(fā)布令而不參與實(shí)際的攻擊,第3部分攻擊傀儡機(jī)上發(fā)出DDoS的實(shí)際攻擊包。對(duì)第2和第3部分計(jì)算機(jī),攻擊者有控制權(quán)或者是部分的控制權(quán),并把相應(yīng)的DDoS程序上傳到這些平臺(tái)上,這些程序與正常的程序一樣運(yùn)行并等待來(lái)自攻擊者的指令,通常它還會(huì)利用各種手段隱藏自己不被別人發(fā)現(xiàn)。在平時(shí),這些傀儡機(jī)器并沒(méi)有什么異常,只是一旦攻擊者連接到它們進(jìn)行控制,并發(fā)出指令的時(shí)候,攻擊愧儡機(jī)就成為攻擊者去發(fā)起攻擊了。
之所以采用這樣的結(jié)構(gòu),一個(gè)重要目的是隔離網(wǎng)絡(luò)聯(lián)系,保護(hù)攻擊者,使其不會(huì)在攻擊進(jìn)行時(shí)受到監(jiān)控系統(tǒng)的跟蹤。同時(shí)也能夠更好地協(xié)調(diào)進(jìn)攻,因?yàn)楣魣?zhí)行器的數(shù)目太多,同時(shí)由一個(gè)系統(tǒng)來(lái)發(fā)布命令會(huì)造成控制系統(tǒng)的網(wǎng)絡(luò)阻塞,影響攻擊的突然性和協(xié)同性。而且,流量的突然增大也容易暴露攻擊者的位置和意圖。整個(gè)過(guò)程可分為:
1)掃描大量主機(jī)以尋找可入侵主機(jī)目標(biāo);
2)有安全漏洞的主機(jī)并獲取控制權(quán);
3)入侵主機(jī)中安裝攻擊程序;
4)用己入侵主機(jī)繼續(xù)進(jìn)行掃描和入侵。
當(dāng)受控制的攻擊代理機(jī)達(dá)到攻擊者滿意的數(shù)量時(shí),攻擊者就可以通過(guò)攻擊主控機(jī)隨時(shí)發(fā)出擊指令。由于攻擊主控機(jī)的位置非常靈活,而且發(fā)布命令的時(shí)間很短,所以非常隱蔽以定位。一旦攻擊的命令傳送到攻擊操縱機(jī),主控機(jī)就可以關(guān)閉或脫離網(wǎng)絡(luò),以逃避追蹤要著,攻擊操縱機(jī)將命令發(fā)布到各個(gè)攻擊代理機(jī)。在攻擊代理機(jī)接到攻擊命令后,就開(kāi)始向目標(biāo)主機(jī)發(fā)出大量的服務(wù)請(qǐng)求數(shù)據(jù)包。這些數(shù)據(jù)包經(jīng)過(guò)偽裝,使被攻擊者無(wú)法識(shí)別它的來(lái)源面且,這些包所請(qǐng)求的服務(wù)往往要消耗較大的系統(tǒng)資源,如CP或網(wǎng)絡(luò)帶寬。如果數(shù)百臺(tái)甚至上千臺(tái)攻擊代理機(jī)同時(shí)攻擊一個(gè)目標(biāo),就會(huì)導(dǎo)致目標(biāo)主機(jī)網(wǎng)絡(luò)和系統(tǒng)資源的耗盡,從而停止服務(wù)。有時(shí),甚至?xí)?dǎo)致系統(tǒng)崩潰。
另外,這樣還可以阻塞目標(biāo)網(wǎng)絡(luò)的防火墻和路由器等網(wǎng)絡(luò)設(shè)備,進(jìn)一步加重網(wǎng)絡(luò)擁塞狀況。于是,目標(biāo)主機(jī)根本無(wú)法為用戶提供任何服務(wù)。攻擊者所用的協(xié)議都是一些非常常見(jiàn)的協(xié)議和服務(wù)。這樣,系統(tǒng)管理員就難于區(qū)分惡意請(qǐng)求和正連接請(qǐng)求,從而無(wú)法有效分離出攻擊數(shù)據(jù)包
二、DDoS攻擊識(shí)別
DDoS ( Denial of Service,分布式拒絕服務(wù)) 攻擊的主要目的是讓指定目標(biāo)無(wú)注提供正常服務(wù),甚至從互聯(lián)網(wǎng)上消失,是目前最強(qiáng)大、最難防御的攻擊方式之一。
2.1 DDoS表現(xiàn)形式
DDoS的表現(xiàn)形式主要有兩種,一種為流量攻擊,主要是針對(duì)網(wǎng)絡(luò)帶寬的攻擊,即大量攻擊包導(dǎo)致網(wǎng)絡(luò)帶寬被阻塞,合法網(wǎng)絡(luò)包被虛假的攻擊包淹沒(méi)而無(wú)法到達(dá)主機(jī);另一種為資源耗盡攻擊,主要是針對(duì)服務(wù)器主機(jī)的政擊,即通過(guò)大量攻擊包導(dǎo)致主機(jī)的內(nèi)存被耗盡或CPU內(nèi)核及應(yīng)用程序占完而造成無(wú)法提供網(wǎng)絡(luò)服務(wù)。
2.2 攻擊識(shí)別
流量攻擊識(shí)別主要有以下2種方法:
1) Ping測(cè)試:若發(fā)現(xiàn)Ping超時(shí)或丟包嚴(yán)重,則可能遭受攻擊,若發(fā)現(xiàn)相同交換機(jī)上的服務(wù)器也無(wú)法訪問(wèn),基本可以確定為流量攻擊。測(cè)試前提是受害主機(jī)到服務(wù)器間的ICMP協(xié)議沒(méi)有被路由器和防火墻等設(shè)備屏蔽;
2) Telnet測(cè)試:其顯著特征是遠(yuǎn)程終端連接服務(wù)器失敗,相對(duì)流量攻擊,資源耗盡攻擊易判斷,若網(wǎng)站訪問(wèn)突然非常緩慢或無(wú)法訪問(wèn),但可Ping通,則很可能遭受攻擊,若在服務(wù)器上用Netstat-na命令觀察到大量 SYN_RECEIVED、 TIME_WAIT, FIN_ WAIT_1等狀態(tài),而EASTBLISHED很少,可判定為資源耗盡攻擊,特征是受害主機(jī)Ping不通或丟包嚴(yán)重而Ping相同交換機(jī)上的服務(wù)器正常,則原因是攻擊導(dǎo)致系統(tǒng)內(nèi)核或應(yīng)用程序CPU利用率達(dá)100%無(wú)法回應(yīng)Ping命令,但因仍有帶寬,可ping通相同交換機(jī)上主機(jī)。
三、DDoS攻擊方式
DDoS攻擊方式及其變種繁多,就其攻擊方式面言,有三種最為流行的DDoS攻擊方式。
3.1 SYN/ACK Flood攻擊
這種攻擊方法是經(jīng)典有效的DDoS攻擊方法,可通殺各種系統(tǒng)的網(wǎng)絡(luò)服務(wù),主要是通過(guò)向受害主機(jī)發(fā)送大量偽造源P和源端口的SYN或ACK包,導(dǎo)致主機(jī)的緩存資源被耗盡或忙于發(fā)送回應(yīng)包而造成拒絕服務(wù),由于源都是傷造的故追蹤起來(lái)比較困難,缺點(diǎn)是實(shí)施起來(lái)有一定難度,需要高帶寬的僵尸主機(jī)支持,少量的這種攻擊會(huì)導(dǎo)致主機(jī)服務(wù)器無(wú)法訪問(wèn),但卻可以Ping的通,在服務(wù)器上用 Netstat-na命令會(huì)觀察到存在大量的 SYN RECEIVED狀態(tài),大量的這種攻擊會(huì)導(dǎo)致Ping失敗,TCP/IP棧失效,并會(huì)出現(xiàn)系統(tǒng)凝固現(xiàn)象,即不響應(yīng)鍵盤(pán)和鼠標(biāo)。普通防火墻大多無(wú)法抵御此種攻擊。
攻擊流程如圖2所示,正常TCP連接為3次握手,系統(tǒng)B向系統(tǒng)A發(fā)送完 SYN/ACK分組后,停在 SYN RECV狀態(tài),等待系統(tǒng)A返回ACK分組;此時(shí)系統(tǒng)B已經(jīng)為準(zhǔn)備建立該連接分配了資源,若攻擊者系統(tǒng)A,使用偽造源IP,系統(tǒng)B始終處于“半連接”等待狀態(tài),直至超時(shí)將該連接從連接隊(duì)列中清除;因定時(shí)器設(shè)置及連接隊(duì)列滿等原因,系統(tǒng)A在很短時(shí)間內(nèi),只要持續(xù)高速發(fā)送偽造源IP的連接請(qǐng)求至系統(tǒng)B,便可成功攻擊系統(tǒng)B,而系統(tǒng)B己不能相應(yīng)其他正常連接請(qǐng)求。
3.2 TCP全連接攻擊
這種攻擊是為了繞過(guò)常規(guī)防火墻的檢查而設(shè)計(jì)的,一般情況下,常規(guī)防火墻大多具備過(guò)濾 TearDrop、Land等DOS攻擊的能力,但對(duì)于正常的TCP連接是放過(guò)的,殊不知很多網(wǎng)絡(luò)服務(wù)程序(如:IIS、 Apache等Web服務(wù)器)能接受的TCP連接數(shù)是有限的,一旦有大量的TCP連接,即便是正常的,也會(huì)導(dǎo)致網(wǎng)站訪問(wèn)非常緩慢甚至無(wú)法訪問(wèn),TCP全連接攻擊就是通過(guò)許多僵尸主機(jī)不斷地與受害服務(wù)器建立大量的TCP連接,直到服務(wù)器的內(nèi)存等資源被耗盡面被拖跨,從而造成拒絕服務(wù),這種攻擊的特點(diǎn)是可繞過(guò)一般防火墻的防護(hù)而達(dá)到攻擊目的,缺點(diǎn)是需要找很多僵尸主機(jī),并且由于僵尸主機(jī)的IP是暴露的,因此此種DDOs攻擊方容易被追蹤。
3.3 TCP刷 Script腳本攻擊
這種攻擊主要是針對(duì)存在ASP、JSP、PHP、CGI等腳本程序,并調(diào)用 MSSQL Server、My SQL Server、 Oracle等數(shù)據(jù)庫(kù)的網(wǎng)站系統(tǒng)而設(shè)計(jì)的,特征是和服務(wù)器建立正常的TCP連接,不斷的向腳本程序提交查詢、列表等大量耗費(fèi)數(shù)據(jù)庫(kù)資源的調(diào)用,典型的以小博大的攻擊方法。一般來(lái)說(shuō),提交一個(gè)GET或POST指令對(duì)客戶端的耗費(fèi)和帶寬的占用是幾乎可以忽略的,而服務(wù)器為處理此請(qǐng)求卻可能要從上萬(wàn)條記錄中去查出某個(gè)記錄,這種處理過(guò)程對(duì)資源的耗費(fèi)是很大的,常見(jiàn)的數(shù)據(jù)庫(kù)服務(wù)器很少能支持?jǐn)?shù)百個(gè)查詢指令同時(shí)執(zhí)行,而這對(duì)于客戶端來(lái)說(shuō)卻是輕而易舉的,因此攻擊者只需通過(guò) Proxy代理向主機(jī)服務(wù)器大量遞交查詢指令,只需數(shù)分鐘就會(huì)把服務(wù)器資源消耗掉而導(dǎo)致拒絕服務(wù),常見(jiàn)的現(xiàn)象就是網(wǎng)站慢如蝸牛、ASP程序失效、PHP連接數(shù)據(jù)庫(kù)失敗、數(shù)據(jù)庫(kù)主程序占用CPU偏高。這種攻擊的特點(diǎn)是可以完全繞過(guò)普通的防火墻防護(hù),輕松找一些Poxy代理就可實(shí)施攻擊,缺點(diǎn)是對(duì)付只有靜態(tài)頁(yè)面的網(wǎng)站效果會(huì)大打折扣,并且有些代理會(huì)暴露DDOS攻擊者的IP地址。
四、DDoS的防護(hù)策略
DDoS的防護(hù)是個(gè)系統(tǒng)工程,想僅僅依靠某種系統(tǒng)或產(chǎn)品防住DDoS是不現(xiàn)實(shí)的,可以肯定的說(shuō),完全杜絕DDoS目前是不可能的,但通過(guò)適當(dāng)?shù)拇胧┑钟蠖鄶?shù)的DDoS攻擊是可以做到的,基于攻擊和防御都有成本開(kāi)銷的緣故,若通過(guò)適當(dāng)?shù)霓k法增強(qiáng)了抵御DDoS的能力,也就意味著加大了攻擊者的攻擊成本,那么絕大多數(shù)攻擊者將無(wú)法繼續(xù)下去而放棄,也就相當(dāng)于成功的抵御了DDoS攻擊。
4.1 采用高性能的網(wǎng)絡(luò)設(shè)備
抗DDoS攻擊首先要保證網(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)處做一下流量限制來(lái)對(duì)抗某些種類的DDoS攻擊是非常有效的。
4.2 盡量避免NAT的使用
無(wú)論是路由器還是硬件防護(hù)墻設(shè)備都要盡量避免采用網(wǎng)絡(luò)地址轉(zhuǎn)換NAT的使用,除了必須使用NAT,因?yàn)椴捎么思夹g(shù)會(huì)較大降低網(wǎng)絡(luò)通信能力,原因很簡(jiǎn)單,因?yàn)镹AT需要對(duì)地址來(lái)回轉(zhuǎn)換,轉(zhuǎn)換過(guò)程中需要對(duì)網(wǎng)絡(luò)包的校驗(yàn)和進(jìn)行計(jì)算,因此浪費(fèi)了很多CPU的時(shí)間。
4.3 充足的網(wǎng)絡(luò)帶寬保證
網(wǎng)絡(luò)帶寬直接決定了能抗受攻擊的能力,假若僅有10M帶寬,無(wú)論采取何種措施都很難對(duì)抗現(xiàn)在的 SYNFlood攻擊,當(dāng)前至少要選擇100M的共享帶寬,1000M的帶寬會(huì)更好,但需要注意的是,主機(jī)上的網(wǎng)卡是1000M的并不意味著它的網(wǎng)絡(luò)帶寬就是千兆的,若把它接在100M的交換機(jī)上,它的實(shí)際帶寬不會(huì)超過(guò)100M,再就是接在100M的帶寬上也不等于就有了百兆的帶寬,因?yàn)榫W(wǎng)絡(luò)服務(wù)商很可能會(huì)在交換機(jī)上限制實(shí)際帶寬為10M。
4.4 升級(jí)主機(jī)服務(wù)器硬件
在有網(wǎng)絡(luò)帶寬保證的前提下,盡量提升硬件配置,要有效對(duì)抗每秒10萬(wàn)個(gè)SYN攻擊包,服務(wù)器的配置至少應(yīng)該為:P4 2.4G/DDR512M/SCSI-HD,起關(guān)鍵作用的主要是CPU和內(nèi)存,內(nèi)存一定要選擇DDR的高速內(nèi)存,硬盤(pán)要盡量選擇SCSI的,要保障硬件性能高并且穩(wěn)定,否則會(huì)付出高昂的性能代價(jià)。
4.5 把網(wǎng)站做成靜態(tài)頁(yè)面
大量事實(shí)證明,把網(wǎng)站盡可能做成靜態(tài)頁(yè)面,不僅能大大提高抗攻擊能力,而且還給黑客入侵帶來(lái)不少麻煩,到現(xiàn)在為止還沒(méi)有出現(xiàn)關(guān)于HTML的溢出的情況,新浪、搜狐、網(wǎng)易等門(mén)戶網(wǎng)站主要都是靜態(tài)頁(yè)面。
此外,最好在需要調(diào)用數(shù)據(jù)庫(kù)的腳本中拒絕使用代理的訪問(wèn),因?yàn)榻?jīng)驗(yàn)表明使用代理訪問(wèn)我們網(wǎng)站的80%屬于惡意行為。
總結(jié)
DDoS攻擊正在不斷演化,變得日益強(qiáng)大、隱密,更具針對(duì)性且更復(fù)雜,它已成為互聯(lián)網(wǎng)安全的重大威脅,同時(shí)隨著系統(tǒng)的更新?lián)Q代,新的系統(tǒng)漏洞不斷地出現(xiàn),DDoS的攻擊技巧的提高,也給DDoS防護(hù)增加了難度,有效地對(duì)付這種攻擊是一個(gè)系統(tǒng)工程,不僅需要技術(shù)人員去探索防護(hù)的手段,網(wǎng)絡(luò)的使用者也要具備網(wǎng)絡(luò)攻擊基本的防護(hù)意識(shí)和手段,只有將技術(shù)手段和人員素質(zhì)結(jié)合到一起才能最大限度的發(fā)揮網(wǎng)絡(luò)防護(hù)的效能。
好了今天小編的介紹就到這里了,希望對(duì)大家有所幫助!如果你喜歡記得分享給身邊的朋友哦!
相關(guān)文章: