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