訂閱
糾錯
加入自媒體

一文帶你破解DDOS攻擊原理

2021-08-31 17:00
一口Linux
關注

DDOS簡介

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

拒絕服務攻擊的基本概念

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

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

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

DDOS攻擊分類

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

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

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

拒絕服務攻擊處理流程

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

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

(3)啟動對抗措施:最后啟動對抗措施進行攻擊對抗,可以進行資源提升、安全加固、安全防護等措施。

DDOS流量包分析SYN Flood攻擊

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

客戶端向服務器端發(fā)送一個SYN請求包,包含客戶端使用的端口號和初始序列號x。

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

客戶端收到服務器端返回的SYN請求包和ACK回應包后,向服務器端返回一個確認號y+1和序號x+1的ACK請求包,三次握手完成,TCP連接建立成功。

SYN Flood攻擊原理:

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

受害靶機的流量包分析

利用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,可以判斷應該為SYN FLOOD拒絕服務攻擊

UDP Flood攻擊UDP Flood攻擊原理:

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

受害靶機的流量包分析

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

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

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

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

慢速拒絕服務攻擊

apt install slowhttptest -y

安裝slowhttptest

慢速拒絕服務攻擊原理:

完整的http請求包是以  結尾,慢速拒絕服務攻擊時僅發(fā)送 ,少發(fā)送一個 ,服務器認為請求還未發(fā)完,服務器就會一直等待直至超時。

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

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

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

受害靶機的流量包分析

攻擊機ip:10.10.10.129,靶機ip:10.10.10.134

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

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

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

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

ICMP Flood攻擊ICMP Flood攻擊原理:

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

利用hping3造成ICMP Flood攻擊

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

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

受害靶機的流量包分析

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

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

后記

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

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

發(fā)表評論

0條評論,0人參與

請輸入評論內容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗證碼繼續(xù)

暫無評論

暫無評論

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

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