訂閱
糾錯(cuò)
加入自媒體

一文帶你破解DDOS攻擊原理

DDOS簡(jiǎn)介

DDOS又稱為分布式拒絕服務(wù),全稱是Distributed Denial of Service。DDOS本是利用合理的請(qǐng)求造成資源過載,導(dǎo)致服務(wù)不可用,從而造成服務(wù)器拒絕正常流量服務(wù)。就如酒店里的房間是有固定的數(shù)量的,比如一個(gè)酒店有50個(gè)房間,當(dāng)50個(gè)房間都住滿人之后,再有新的用戶想住進(jìn)來,就必須要等之前入住的用戶先出去。如果入住的用戶一直不出去,那么酒店就無法迎接新的用戶,導(dǎo)致酒店負(fù)荷過載,這種情況就是“拒絕服務(wù)”。如果想繼續(xù)提供資源,那么酒店應(yīng)該提升自己的資源量,服務(wù)器也是同樣的道理。

拒絕服務(wù)攻擊的基本概念

**拒絕服務(wù):**拒絕服務(wù)是指應(yīng)用系統(tǒng)無法正常對(duì)外提供服務(wù)的狀態(tài),如網(wǎng)絡(luò)阻塞、系統(tǒng)宕機(jī)、響應(yīng)緩慢等都屬于拒絕服務(wù)的表現(xiàn)。

拒絕服務(wù)攻擊(DOS):拒絕服務(wù)攻擊(Denial of Service Attack)是一種通過各種技術(shù)手段導(dǎo)致目標(biāo)系統(tǒng)進(jìn)入拒絕服務(wù)狀態(tài)的攻擊,常見手段包括利用漏洞、消耗應(yīng)用系統(tǒng)性能和消耗應(yīng)用系統(tǒng)帶寬。

分布式拒絕服務(wù)攻擊(DDOS):分布式拒絕服務(wù)攻擊(Distributed Denial of Service Attack)是拒絕服務(wù)攻擊的高級(jí)手段,利用分布全球的僵尸網(wǎng)絡(luò)發(fā)動(dòng)攻擊,能夠產(chǎn)生大規(guī)模的拒絕服務(wù)攻擊。

DDOS攻擊分類

(1)漏洞型(基于特定漏洞進(jìn)行攻擊):只對(duì)具備特定漏洞的目標(biāo)有效,通常發(fā)送特定數(shù)據(jù)包或少量的數(shù)據(jù)包即可達(dá)到攻擊效果。

(2)業(yè)務(wù)型(消耗業(yè)務(wù)系統(tǒng)性能額為主):與業(yè)務(wù)類型高度相關(guān),需要根據(jù)業(yè)務(wù)系統(tǒng)的應(yīng)用類型采取對(duì)應(yīng)的攻擊手段才能達(dá)到效果,通常業(yè)務(wù)型攻擊實(shí)現(xiàn)效果需要的流量遠(yuǎn)低于流量型。

(3)流量型(消耗帶寬資源為主):主要以消耗目標(biāo)業(yè)務(wù)系統(tǒng)的帶寬資源為攻擊手段,通常會(huì)導(dǎo)致網(wǎng)絡(luò)阻塞,從而影響正常業(yè)務(wù)。

拒絕服務(wù)攻擊處理流程

(1)現(xiàn)象分析:根據(jù)發(fā)現(xiàn)的現(xiàn)象、網(wǎng)絡(luò)設(shè)備和服務(wù)的情況初步判斷是否存在拒絕服務(wù)攻擊。

(2)抓包分析:通過抓包分析的方式進(jìn)一步了解攻擊的方式和特征。

(3)啟動(dòng)對(duì)抗措施:最后啟動(dòng)對(duì)抗措施進(jìn)行攻擊對(duì)抗,可以進(jìn)行資源提升、安全加固、安全防護(hù)等措施。

DDOS流量包分析SYN Flood攻擊

在正常的情況下,TCP三次握手過程如下

客戶端向服務(wù)器端發(fā)送一個(gè)SYN請(qǐng)求包,包含客戶端使用的端口號(hào)和初始序列號(hào)x。

服務(wù)器端收到客戶端發(fā)送過來的SYN請(qǐng)求包后,知道客戶端想要建立連接,于是向客戶端發(fā)送一個(gè)SYN請(qǐng)求包和ACK回應(yīng)包,包含確認(rèn)號(hào)x+1和服務(wù)器端的初始序列號(hào)y。

客戶端收到服務(wù)器端返回的SYN請(qǐng)求包和ACK回應(yīng)包后,向服務(wù)器端返回一個(gè)確認(rèn)號(hào)y+1和序號(hào)x+1的ACK請(qǐng)求包,三次握手完成,TCP連接建立成功。

SYN Flood攻擊原理:

首先是客戶端發(fā)送一個(gè)SYN請(qǐng)求包給服務(wù)器端,服務(wù)器端接受后會(huì)發(fā)送一個(gè)SYN+ACK包回應(yīng)客戶端,最后客戶端會(huì)返回一個(gè)ACK包給服務(wù)器端來實(shí)現(xiàn)一次完整的TCP連接。Syn flood攻擊就是讓客戶端不返回最后的ACK包,這就形成了半開連接,TCP半開連接是指發(fā)送或者接受了TCP連接請(qǐng)求,等待對(duì)方應(yīng)答的狀態(tài),半開連接狀態(tài)需要占用系統(tǒng)資源以等待對(duì)方應(yīng)答,半開連接數(shù)達(dá)到上限,無法建立新的連接,從而造成拒絕服務(wù)攻擊。

受害靶機(jī)的流量包分析

利用wireshark軟件抓取數(shù)據(jù)包的數(shù)據(jù),通過篩選器篩選出發(fā)送包頻率多的ip地址。

篩選218.xxx.xxx.87,分析協(xié)議占比,發(fā)現(xiàn)tcp和http占比比較大

篩選tcp中的syn數(shù)據(jù)包,發(fā)現(xiàn)syn數(shù)據(jù)包占比為82.9,可以判斷應(yīng)該為SYN FLOOD拒絕服務(wù)攻擊

UDP Flood攻擊UDP Flood攻擊原理:

由于UDP屬于無連接協(xié)議,消耗的系統(tǒng)資源較少,相同條件下容易產(chǎn)生更高的流量,是流量型攻擊的主要手段。當(dāng)受害系統(tǒng)接收到一個(gè)UDP數(shù)據(jù)包的時(shí)候,它會(huì)確定目的端口正在等待中的應(yīng)用程序。當(dāng)它發(fā)現(xiàn)該端口中并不存在正在等待的應(yīng)用程序,它就會(huì)產(chǎn)生一個(gè)目的地址無法連接的ICMP數(shù)據(jù)包發(fā)送給該偽造的源地址。如果向受害者計(jì)算機(jī)端口發(fā)送了足夠多的UDP數(shù)據(jù)包的時(shí)候,系統(tǒng)就會(huì)造成拒絕服務(wù)攻擊,因此,UDP FLOOD成為了流量型拒絕服務(wù)攻擊的主要手段。

受害靶機(jī)的流量包分析

利用wireshark軟件抓取數(shù)據(jù)包的數(shù)據(jù),通過篩選器篩選出發(fā)送包頻率多的ip地址。

篩選117.xxx.xxx.0網(wǎng)段,分析協(xié)議占比,可以看到受害靶機(jī)接受的UDP包比較多。

可以看到UDP包的大小都是固定的172bytes。

可以看出都是發(fā)送udp包,udp包大小都是相同的,可以判斷是udp flood攻擊。

慢速拒絕服務(wù)攻擊

apt install slowhttptest -y

安裝slowhttptest

慢速拒絕服務(wù)攻擊原理:

完整的http請(qǐng)求包是以  結(jié)尾,慢速拒絕服務(wù)攻擊時(shí)僅發(fā)送 ,少發(fā)送一個(gè) ,服務(wù)器認(rèn)為請(qǐng)求還未發(fā)完,服務(wù)器就會(huì)一直等待直至超時(shí)。

slowhttptest -c 5000 -H -g -o my_header_stats -i 10 -r 5000 -t GET -u “http://10.10.10.134” -x 200 -p 3

(測(cè)試時(shí)建立5000連接數(shù)-c;選擇slowloris模式-H;生成cvs和HTML文件的統(tǒng)計(jì)數(shù)據(jù)-G;生成的文件名my_header_stats -o;指定發(fā)送數(shù)據(jù)間的間隔10秒 -i 每秒連接數(shù)5000-t;指定url-u;指定發(fā)送的最大數(shù)據(jù)長(zhǎng)度200 -x;指定等待時(shí)間來確認(rèn)DOS攻擊已經(jīng)成功-p)

觀察靶機(jī)的cpu和網(wǎng)絡(luò)流量明顯增加很多

受害靶機(jī)的流量包分析

攻擊機(jī)ip:10.10.10.129,靶機(jī)ip:10.10.10.134

[PSH,ACK]是攻擊機(jī)發(fā)送有數(shù)據(jù)的ACK包給靶機(jī),[ACK]包是靶機(jī)回復(fù)攻擊機(jī)的數(shù)據(jù)包。

可以看到?jīng)]有發(fā)送2次連續(xù)的,以至于靶機(jī)要一直等待。

http協(xié)議比例為36.6,tcp協(xié)議比例為87.4

篩選ack數(shù)據(jù)包,占比率98.2,不符合常態(tài),綜上可以判斷為慢速拒絕服務(wù)攻擊

ICMP Flood攻擊ICMP Flood攻擊原理:

當(dāng) ICMP ping 產(chǎn)生的大量回應(yīng)請(qǐng)求超出了系統(tǒng)的最大限度,以至于系統(tǒng)耗費(fèi)所有資源來進(jìn)行響應(yīng)直至再也無法處理有效的網(wǎng)絡(luò)信息流,但是由于ICMP協(xié)議報(bào)文被丟棄不影響大多數(shù)系統(tǒng)運(yùn)行,所以容易被防護(hù)。

利用hping3造成ICMP Flood攻擊

hping3 -q -n -a 1.1.1.1 –icmp -d 200 –flood 10.10.10.134

觀察靶機(jī)的cpu和網(wǎng)絡(luò)流量明顯增加很多

受害靶機(jī)的流量包分析

偽造的源ip:1.1.1.1發(fā)送大量icmp包給目標(biāo)ip:10.10.10.134

篩選出同一IP發(fā)送大量ICMP包,且占比率86.0,判斷為ICMP拒絕服務(wù)攻擊。

后記

拒絕服務(wù)攻擊造成的危害是比較大的,本質(zhì)是對(duì)有限資源的無限制的占用所造成的,所以在這方面需要限制每個(gè)不可信任的資源使用中的分配額度,或者提高系統(tǒng)的有限資源等方式來防范拒絕服務(wù)攻擊。

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評(píng)論

暫無評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)