在數(shù)據(jù)時代雖然技術(shù)在不斷發(fā)展,但是DDOS攻擊也在隨之更新,變得越來越難以防控。什么是DDOS攻擊?常見的DDoS攻擊方法都也有哪些呢?不過,科技在發(fā)展黑客的技術(shù)也在發(fā)展。所以我們在面對DDOS攻擊的時候也要學(xué)會去預(yù)防。
什么是DDOS攻擊?
DoS攻擊、DDoS攻擊和DRDoS攻擊相信大家已經(jīng)早有耳聞了吧!DoS是Denial of Service的簡寫就是拒絕服務(wù),而DDoS就是Distributed Denial of Service的簡寫就是分布式拒絕服務(wù),而DRDoS就是Distributed Reflection Denial of Service的簡寫,這是分布反射式拒絕服務(wù)的意思。
不過這3中攻擊方法最厲害的還是DDoS,那個DRDoS攻擊雖然是新近出的一種攻擊方法,但它只是DDoS攻擊的變形,它的唯一不同就是不用占領(lǐng)大量的“肉雞”。這三種方法都是利用TCP三次握手的漏洞進(jìn)行攻擊的,所以對它們的防御辦法都是差不多的。
DoS攻擊是最早出現(xiàn)的,它的攻擊方法說白了就是單挑,是比誰的機(jī)器性能好、速度快。但是現(xiàn)在的科技飛速發(fā)展,一般的網(wǎng)站主機(jī)都有十幾臺主機(jī),而且各個主機(jī)的處理能力、內(nèi)存大小和網(wǎng)絡(luò)速度都有飛速的發(fā)展,有的網(wǎng)絡(luò)帶寬甚至超過了千兆級別。這樣我們的一對一單挑式攻擊就沒有什么作用了,搞不好自己的機(jī)子就會死掉。舉個這樣的攻擊例子,假如你的機(jī)器每秒能夠發(fā)送10個攻擊用的數(shù)據(jù)包,而被你攻擊的機(jī)器(性能、網(wǎng)絡(luò)帶寬都是頂尖的)每秒能夠接受并處理100攻擊數(shù)據(jù)包,那樣的話,你的攻擊就什么用處都沒有了,而且非常有死機(jī)的可能。要知道,你若是發(fā)送這種1Vs1的攻擊,你的機(jī)器的CPU占用率是90%以上的,你的機(jī)器要是配置不夠高的話,那你就死定了。
正所謂道高一尺,魔高一仗。經(jīng)過無數(shù)次當(dāng)機(jī),黑客們終于又找到一種新的DoS攻擊方法,這就是DDoS攻擊。它的原理說白了就是群毆,用好多的機(jī)器對目標(biāo)機(jī)器一起發(fā)動DoS攻擊,但這不是很多黑客一起參與的,這種攻擊只是由一名黑客來操作的。這名黑客不是擁有很多機(jī)器,他是通過他的機(jī)器在網(wǎng)絡(luò)上占領(lǐng)很多的“肉雞”,并且控制這些“肉雞”來發(fā)動DDoS攻擊,要不然怎么叫做分布式呢。還是剛才的那個例子,你的機(jī)器每秒能發(fā)送10攻擊數(shù)據(jù)包,而被攻擊的機(jī)器每秒能夠接受100的數(shù)據(jù)包,這樣你的攻擊肯定不會起作用,而你再用10臺或更多的機(jī)器來對被攻擊目標(biāo)的機(jī)器進(jìn)行攻擊的話,嘿嘿!結(jié)果我就不說了。
DRDoS分布反射式拒絕服務(wù)攻擊這是DDoS攻擊的變形,它與DDoS的不同之處就是DrDoS不需要在攻擊之前占領(lǐng)大量的“肉雞”。它的攻擊原理和Smurf攻擊原理相近,不過DRDoS是可以在廣域網(wǎng)上進(jìn)行的,而Smurf攻擊是在局域網(wǎng)進(jìn)行的。它的作用原理是基于廣播地址與回應(yīng)請求的。一臺計算機(jī)向另一臺計算機(jī)發(fā)送一些特殊的數(shù)據(jù)包如ping請求時,會接到它的回應(yīng);如果向本網(wǎng)絡(luò)的廣播地址發(fā)送請求包,實際上會到達(dá)網(wǎng)絡(luò)上所有的計算機(jī),這時就會得到所有計算機(jī)的回應(yīng)。這些回應(yīng)是需要被接收的計算機(jī)處理的,每處理一個就要占用一份系統(tǒng)資源,如果同時接到網(wǎng)絡(luò)上所有計算機(jī)的回應(yīng),接收方的系統(tǒng)是有可能吃不消的,就象遭到了DDoS攻擊一樣。不過是沒有人笨到自己攻擊自己,不過這種方法被黑客加以改進(jìn)就具有很大的威力了。
黑客向廣播地址發(fā)送請求包,所有的計算機(jī)得到請求后,卻不會把回應(yīng)發(fā)到黑客那里,而是發(fā)到被攻擊主機(jī)。這是因為黑客冒充了被攻擊主機(jī)。黑客發(fā)送請求包所用的軟件是可以偽造源地址的,接到偽造數(shù)據(jù)包的主機(jī)會根據(jù)源地址把回應(yīng)發(fā)出去,這當(dāng)然就是被攻擊主機(jī)的地址。黑客同時還會把發(fā)送請求包的時間間隔減小,這樣在短時間能發(fā)出大量的請求包,使被攻擊主機(jī)接到從被欺騙計算機(jī)那里傳來的洪水般的回應(yīng),就像遭到了DDoS攻擊導(dǎo)致系統(tǒng)崩潰。
借助了網(wǎng)絡(luò)中所有計算機(jī)來攻擊受害者,而不需要事先去占領(lǐng)這些被欺騙的主機(jī),這就是Smurf攻擊。而DRDoS攻擊正是這個原理,黑客同樣利用特殊的發(fā)包工具,首先把偽造了源地址的SYN連接請求包發(fā)送到那些被欺騙的計算機(jī)上,根據(jù)TCP三次握手的規(guī)則,這些計算機(jī)會向源IP發(fā)出SYN+ACK或RST包來響應(yīng)這個請求。同Smurf攻擊一樣,黑客所發(fā)送的請求包的源IP地址是被攻擊主機(jī)的地址,這樣受欺騙的主機(jī)就都會把回應(yīng)發(fā)到被攻擊主機(jī)處,造成被攻擊主機(jī)忙于處理這些回應(yīng)而癱瘓。
常見的DDoS攻擊方法有:
1、SYN/ACK Flood攻擊
這種攻擊方法是經(jīng)典最有效的DDOS攻擊方法,可通殺各種系統(tǒng)的網(wǎng)絡(luò)服務(wù),主要是通過向受害主機(jī)發(fā)送大量偽造源IP和源端口的SYN或ACK包,導(dǎo)致主機(jī)的緩存資源被耗盡或忙于發(fā)送回應(yīng)包而造成拒絕服務(wù),由于源都是偽造的故追蹤起來比較困難,缺點是實施起來有一定難度,需要高帶寬的僵尸主機(jī)支持。少量的這種攻擊會導(dǎo)致主機(jī)服務(wù)器無法訪問,但卻可以Ping的通,在服務(wù)器上用Netstat -na命令會觀察到存在大量的SYN_RECEIVED狀態(tài),大量的這種攻擊會導(dǎo)致Ping失敗、TCP/IP棧失效,并會出現(xiàn)系統(tǒng)凝固現(xiàn)象,即不響應(yīng)鍵盤和鼠標(biāo)。普通防火墻大多無法抵御此種攻擊。
2、TCP全連接攻擊
這種攻擊是為了繞過常規(guī)防火墻的檢查而設(shè)計的,一般情況下,常規(guī)防火墻大多具備過濾TearDrop、Land等DOS攻擊的能力,但對于正常的TCP連接是放過的,殊不知很多網(wǎng)絡(luò)服務(wù)程序(如:IIS、Apache等Web服務(wù)器)能接受的TCP連接數(shù)是有限的,一旦有大量的TCP連接,即便是正常的,也會導(dǎo)致網(wǎng)站訪問非常緩慢甚至無法訪問,TCP全連接攻擊就是通過許多僵尸主機(jī)不斷地與受害服務(wù)器建立大量的TCP連接,直到服務(wù)器的內(nèi)存等資源被耗盡而被拖跨,從而造成拒絕服務(wù),這種攻擊的特點是可繞過一般防火墻的防護(hù)而達(dá)到攻擊目的,缺點是需要找很多僵尸主機(jī),并且由于僵尸主機(jī)的IP是暴露的,因此此種DDOS攻擊方式容易被追蹤。
3、刷Script腳本攻擊
這種攻擊主要是針對存在ASP、JSP、PHP、CGI等腳本程序,并調(diào)用MSSQLServer、MySQLServer、Oracle等數(shù)據(jù)庫的網(wǎng)站系統(tǒng)而設(shè)計的,特征是和服務(wù)器建立正常的TCP連接,并不斷的向腳本程序提交查詢、列表等大量耗費數(shù)據(jù)庫資源的調(diào)用,典型的以小博大的攻擊方法。一般來說,提交一個GET或POST指令對客戶端的耗費和帶寬的占用是幾乎可以忽略的,而服務(wù)器為處理此請求卻可能要從上萬條記錄中去查出某個記錄,這種處理過程對資源的耗費是很大的,常見的數(shù)據(jù)庫服務(wù)器很少能支持?jǐn)?shù)百個查詢指令同時執(zhí)行,而這對于客戶端來說卻是輕而易舉的,因此攻擊者只需通過Proxy代理向主機(jī)服務(wù)器大量遞交查詢指令,只需數(shù)分鐘就會把服務(wù)器資源消耗掉而導(dǎo)致拒絕服務(wù),常見的現(xiàn)象就是網(wǎng)站慢如蝸牛、ASP程序失效、PHP連接數(shù)據(jù)庫失敗、數(shù)據(jù)庫主程序占用CPU偏高。這種攻擊的特點是可以完全繞過普通的防火墻防護(hù),輕松找一些Proxy代理就可實施攻擊,缺點是對付只有靜態(tài)頁面的網(wǎng)站效果會大打折扣,并且有些Proxy會暴露DDOS攻擊者的IP地址。
什么是DDOS攻擊?主要是針對網(wǎng)絡(luò)帶寬的攻擊,即大量攻擊包導(dǎo)致網(wǎng)絡(luò)帶寬被阻塞,而造成無法提供網(wǎng)絡(luò)服務(wù)。這些攻擊對于企業(yè)還是客戶來說都是致命的,對于業(yè)務(wù)和企業(yè)形象都是有害的。