拒绝服务攻击详解
目錄
一、拒絕服務(wù)攻擊的原理
二、拒絕服務(wù)攻擊的分類
1、資源消耗
2、系統(tǒng)或應(yīng)用程序缺陷
3、配置修改
三、典型的拒絕服務(wù)攻擊
1、Ping of Death
2、泛洪攻擊
(1)SYN泛洪
(2)ACK泛洪攻擊
(3)TCPLAND攻擊
(4)UDP泛洪攻擊
3、Smurf攻擊
四、分布式拒絕服務(wù)攻擊DDoS
1、組成
2、流程
3、特點(diǎn)
五、DoS/DDoS攻擊的檢測與防御
1、檢測
2、防御困難的原因
3、防御方法
一、拒絕服務(wù)攻擊的原理
●拒絕服務(wù)(DoS,Denial of Service)是一種典型的破壞服務(wù)可用性的攻擊方式。它不以獲得系統(tǒng)權(quán)限為目的。
●根據(jù)NIST SP 800-61的定義,拒絕服務(wù)是一種通過耗盡CPU、內(nèi)存、帶寬或磁盤空間等系統(tǒng)資源,來阻止或削弱對網(wǎng)絡(luò)、系統(tǒng)或者應(yīng)用程序的授權(quán)使用的行為。
●拒絕服務(wù)攻擊通常利用傳輸協(xié)議弱點(diǎn)、系統(tǒng)漏洞、服務(wù)漏洞對目標(biāo)系統(tǒng)發(fā)起大規(guī)模進(jìn)攻,利用超出目標(biāo)處理能力的海量合理請求數(shù)據(jù)包消耗可用系統(tǒng)資源、帶寬資源等,造成程序緩沖區(qū)溢出錯誤,致使其無法處理合法用戶的請求,無法提供正常服務(wù),最終致使網(wǎng)絡(luò)服務(wù)癱瘓,甚至系統(tǒng)死機(jī)。
●早期的拒絕服務(wù)攻擊主要是利用TCP/IP協(xié)議或應(yīng)用程序的缺陷,使得目標(biāo)系統(tǒng)或應(yīng)用程序崩潰。
? 當(dāng)前的拒絕服務(wù)攻擊試圖通過耗盡系統(tǒng)資源來達(dá)到目標(biāo)系統(tǒng)不能為授權(quán)用戶提供服務(wù)的目的。
二、拒絕服務(wù)攻擊的分類
1、資源消耗
●可消耗的資源包括目標(biāo)系統(tǒng)的系統(tǒng)資源(包括CPU資源、內(nèi)存資源、存儲資源等)和網(wǎng)絡(luò)帶寬
●如:發(fā)送大量的垃圾數(shù)據(jù)包占用網(wǎng)絡(luò)帶寬,導(dǎo)致正常的數(shù)據(jù)包因為沒有可用的帶寬資源而無法到達(dá)目標(biāo)系統(tǒng);發(fā)送大量的垃圾郵件,占用系統(tǒng)磁盤空間;制造大量的垃圾進(jìn)程占用CPU資源等。
2、系統(tǒng)或應(yīng)用程序缺陷
●主要利用網(wǎng)絡(luò)系統(tǒng)或協(xié)議的漏洞來完成,一個惡意的數(shù)據(jù)包可能觸發(fā)協(xié)議棧崩潰,從而無法提供服務(wù)。
●這類攻擊包括死亡之Ping(Ping of Death)、淚滴攻擊(Teardrop)、Land攻擊、Smurf攻擊、IP分片攻擊、UDP泛洪攻擊等。
3、配置修改
●修改系統(tǒng)的運(yùn)行配置,導(dǎo)致網(wǎng)絡(luò)不能正常提供服務(wù)。
●如:修改主機(jī)或路由器的路由信息、修改注冊表或者某些應(yīng)用程序的配置文件。
三、典型的拒絕服務(wù)攻擊
1、Ping of Death
●ICMP報文長度固定(64KB),很多操作系統(tǒng)只開辟64KB的緩沖區(qū)用于存放ICMP數(shù)據(jù)包。如果ICMP數(shù)據(jù)包的實(shí)際尺寸超過64KB,就會產(chǎn)生緩沖區(qū)溢出,導(dǎo)致TCP/IP協(xié)議堆棧崩潰,造成主機(jī)重啟或死機(jī),從而達(dá)到拒絕服務(wù)攻擊的目的。
●通過ping命令的-1選項可以指定發(fā)送數(shù)據(jù)包的大小。如果設(shè)置的大小超過了緩沖區(qū)大小將觸發(fā)協(xié)議棧崩潰,如:
ping -1 65540 192.168.1.1●現(xiàn)在的操作系統(tǒng)已經(jīng)修復(fù)了該漏洞,當(dāng)用戶輸入超出緩沖區(qū)大小的數(shù)值時,系統(tǒng)會提示用戶輸入范圍錯誤。
2、泛洪攻擊
泛洪(Flooding)攻擊是一種常見的依靠大流量來挫敗目標(biāo)系統(tǒng)的一種攻擊方式。
(1)SYN泛洪
●三步握手過程:
●原理:SYN泛洪利用的是TCP協(xié)議的三步握手機(jī)制,攻擊者利用偽造的IP地址向目標(biāo)系統(tǒng)發(fā)出TCP連接請求,目標(biāo)系統(tǒng)發(fā)出的響應(yīng)報文得不到被偽造IP地址的響應(yīng),從而無法完成TCP的三步握手,此時目標(biāo)系統(tǒng)將一直等待最后一次握手消息的到來直到超時,即半開連接。如果攻擊者在較短的時間內(nèi)發(fā)送大量偽造的IP地址的TCP連接請求,則目標(biāo)系統(tǒng)將存在大量的半開連接,占用目標(biāo)系統(tǒng)的資源,如果半開連接的數(shù)量超過了目標(biāo)系統(tǒng)的上限,目標(biāo)系統(tǒng)資源耗盡,從而達(dá)到拒絕服務(wù)的目的。
●常用工具:hping3。hping是面向命令行的用于生成和解析TCP/IP協(xié)議數(shù)據(jù)包匯編/分析的開源工具,支持TCP、UDP、ICMP、RAW-IP協(xié)議,具有跟蹤路由模式。使用hping3可以很方便構(gòu)建拒絕服務(wù)攻擊。如:以下命令將實(shí)現(xiàn)對192.168.1.1主機(jī)進(jìn)行SYN泛洪攻擊:
hping -c 10000 -d 120 -S -p 80 --flood --rand-source 192.168.1.1 //-c 10000:表示參數(shù)數(shù)據(jù)包數(shù)據(jù)量為10000 //-d 120:指定數(shù)據(jù)包大小為120 //-S:指定發(fā)送SYN數(shù)據(jù)包 //-p 80:指定端口號為80 //--flood:指定進(jìn)行防洪,即盡可能快的發(fā)送數(shù)據(jù)包 //--rand-source:指隨機(jī)化發(fā)送數(shù)據(jù)包的源地址發(fā)起攻擊后可以通過Windows任務(wù)管理器看到攻擊效果,CPU的占用率幾乎達(dá)到了100%。
●針對SYN泛洪的防御:
A.縮短SYN Timeout時間
可以使得攻擊者偽造的SYN還沒有達(dá)到目標(biāo)系統(tǒng)上限時就超時,半開連接被丟棄,從而釋放部分被占用的系統(tǒng)資源。
B.設(shè)置SYN Cookie
給每個請求連接的IP分配一個Cookie,如果短時間內(nèi)連續(xù)收到某個IP的重復(fù)SYN報文,就認(rèn)定是攻擊行為,丟棄來自該IP地址的數(shù)據(jù)包。
C.負(fù)反饋策略
一旦SYN半連接的數(shù)量超過系統(tǒng)中TCP活動半連接最大連接數(shù)的閾值,系統(tǒng)將認(rèn)為受到攻擊并作出反應(yīng):減少SYN Timeout時間、減少SYN-ACK的重試次數(shù)、自動對緩沖區(qū)中的報文進(jìn)行延時等措施。
D.退讓策略
SYN泛洪攻擊的缺陷是一旦攻擊開始,將不會再進(jìn)行域名解析。服務(wù)器受到攻擊后迅速更換IP地址,那么攻擊者攻擊的將是一個空的IP地址,而防御方只要將DNS解析更改到新的IP地址就能在很短的時間內(nèi)恢復(fù)正常用戶訪問。為迷惑攻擊者,甚至可以放置一臺“犧牲”服務(wù)器讓攻擊者滿足于攻擊的效果。(蜜罐技術(shù))
E.分布式DNS負(fù)載均衡
將用戶的請求分配到不同IP的服務(wù)器主機(jī)上。
F.防火墻
識別SUN泛洪攻擊所采用的攻擊方法,并將攻擊包阻擋在外。
(2)ACK泛洪攻擊
●原理:與SYN泛洪類似,不同的是攻擊者直接偽造三步握手的最后一個ACK數(shù)據(jù)包。目標(biāo)系統(tǒng)收到該數(shù)據(jù)包后會查詢有沒有該ACK對應(yīng)的握手消息。因為沒有前期握手過程,所以目標(biāo)系統(tǒng)查詢后會回復(fù)ACK/RET。該過程消耗目標(biāo)系統(tǒng)資源,當(dāng)攻擊者發(fā)送大量的偽造的ACK數(shù)據(jù)包時,可能會耗盡系統(tǒng)資源,從而導(dǎo)致拒絕服務(wù)。
(3)TCPLAND攻擊
●原理:TCPLAND(Local Area Network Denial Attack)攻擊同樣利用了TCP的三步握手過程。通過向目標(biāo)系統(tǒng)發(fā)送TCP SYN報文而完成對目標(biāo)系統(tǒng)的攻擊。與正常的TCP SYN報文不同的是,LAND攻擊報文的源IP地址和目的IP地址相同,都是目標(biāo)系統(tǒng)的IP地址。因此,目標(biāo)系統(tǒng)接收到這個SYN報文后,就會向該報文的源地址(目標(biāo)系統(tǒng)本身)發(fā)送一個ACK報文,并建立一個TCP連接,即目標(biāo)系統(tǒng)自身建立連接。如果攻擊者發(fā)送了足夠多的SYN報文,則目標(biāo)系統(tǒng)的資源就會耗盡,最終造成DoS攻擊。
●針對LAND攻擊的檢測:只要判斷網(wǎng)絡(luò)數(shù)據(jù)包的源/目標(biāo)地址是否相同即可。可以通過防火墻設(shè)置適當(dāng)?shù)姆阑饓^濾規(guī)則(入口過濾)來防止該類攻擊。
(4)UDP泛洪攻擊
●原理:攻擊者將UDP數(shù)據(jù)包發(fā)送到目標(biāo)系統(tǒng)的服務(wù)端口上,通常是診斷回送服務(wù)Echo,因為此服務(wù)一般默認(rèn)開啟。若目標(biāo)系統(tǒng)開啟了此服務(wù),就會回應(yīng)一個帶有原始數(shù)據(jù)內(nèi)容的UDP數(shù)據(jù)包給源地址主機(jī)。若目標(biāo)系統(tǒng)沒有開啟此服務(wù),就會丟棄攻擊者發(fā)送的數(shù)據(jù)包,可能會回應(yīng)ICMP的“目標(biāo)主機(jī)不可達(dá)”類型消息給攻擊者。但是無論服務(wù)有沒有開啟,攻擊者消耗目標(biāo)系統(tǒng)鏈路容量的目的已經(jīng)達(dá)到。幾乎所有的UDP端口都可以作為攻擊目標(biāo)端口。
3、Smurf攻擊
Smurf攻擊是發(fā)生在網(wǎng)絡(luò)層的著名DoS攻擊,該攻擊結(jié)合了IP欺騙和ICMP響應(yīng),使大量網(wǎng)絡(luò)傳輸充斥目標(biāo)系統(tǒng),是一種典型的放大反射攻擊。
●原理:因為目標(biāo)系統(tǒng)會優(yōu)先處理ICMP報文而導(dǎo)致無法為合法用戶提供服務(wù)。為了使攻擊有效,Smurf利用了定向廣播技術(shù),即攻擊者向反彈網(wǎng)絡(luò)的廣播地址發(fā)送源地址為被攻擊者主機(jī)IP地址的ICMP數(shù)據(jù)包。因此反彈網(wǎng)絡(luò)會向被攻擊者主機(jī)發(fā)送ICMP響應(yīng)數(shù)據(jù)包,從而淹沒被攻擊主機(jī)。
●例:被攻擊者主機(jī)的IP地址為10.10.10.10。攻擊者首先找到一個存在大量主機(jī)的網(wǎng)絡(luò)(反彈網(wǎng)絡(luò)),并向其廣播地址(192.168.1.255)發(fā)送一個偽造的源地址為被攻擊主機(jī)的ICMP請求分組。路由器收到該數(shù)據(jù)包后,會將該數(shù)據(jù)包在192.168.1.0/24中進(jìn)行廣播。收到廣播的所有192.168.1.0/24網(wǎng)段的主機(jī)都會向10.10.10.10主機(jī)發(fā)送ICMP響應(yīng)。這會導(dǎo)致大量數(shù)據(jù)包被發(fā)往被攻擊主機(jī)10.10.10.10,從而導(dǎo)致拒絕服務(wù)。
四、分布式拒絕服務(wù)攻擊DDoS
分布式拒絕服務(wù)攻擊(DDoS,Distributed Denial of Service)是在Dos基礎(chǔ)上產(chǎn)生的,也是目前威力最大的DoS攻擊方法。DDoS攻擊將大量計算機(jī)(傀儡主機(jī)、僵尸網(wǎng)絡(luò)、botnet)聯(lián)合起來對一個或多個大型站點(diǎn)發(fā)起DoS攻擊,從而提高了DoS的威力。
1、組成
DDoS一般都是基于客戶機(jī)/服務(wù)器模式。DDoS攻擊程序一般由客戶端、服務(wù)端和守護(hù)程序組成。客戶端也稱攻擊控制臺,即攻擊者發(fā)起攻擊的主機(jī),攻擊者一般不需要直接控制守護(hù)程序,而是通過服務(wù)器端來控制攻擊過程,這樣更有利于隱藏自己。
服務(wù)器端也稱主控端,使一些攻擊者已經(jīng)入侵成功并可以實(shí)施控制的主機(jī)。服務(wù)器端安裝的程序可以接受來自攻擊控制臺發(fā)來的指令,并將這些指令發(fā)送到守護(hù)程序所在主機(jī)。
守護(hù)程序所在主機(jī)稱為攻擊代理,其同樣是被攻擊者入侵并控制的一部分主機(jī),在其上安裝攻擊性程序,可以接收來自服務(wù)器端的指令,并向目標(biāo)系統(tǒng)發(fā)起攻擊。
2、流程
首先需要在互聯(lián)網(wǎng)上尋找有漏洞的主機(jī)并實(shí)施入侵,然后在其中安裝后門程序使其成為傀儡/僵尸主機(jī)(由大量僵尸主機(jī)組成的網(wǎng)絡(luò)稱為僵尸網(wǎng)絡(luò))。攻擊者控制的僵尸網(wǎng)絡(luò)里面的主機(jī)越多,DDoS攻擊的威力越大。
3、特點(diǎn)
●分布性
通過分布在不同地點(diǎn)協(xié)同發(fā)起攻擊
●隱蔽性
DDoS通過傀儡主機(jī)發(fā)起攻擊,對于真正發(fā)起攻擊的攻擊者而言具有很好的隱蔽性,導(dǎo)致追蹤攻擊者更為困難
●攻擊威力大
DDoS攻擊的危害性非常巨大,除了會造成攻擊目標(biāo)服務(wù)能力下降外,還會占用大量的網(wǎng)絡(luò)帶寬,造成網(wǎng)絡(luò)擁塞,威脅到這個網(wǎng)絡(luò)的安全運(yùn)行。
五、DoS/DDoS攻擊的檢測與防御
1、檢測
●出現(xiàn)大量的DNS PTR查詢請求
●超出網(wǎng)絡(luò)正常工作時的極限通訊流量
●特大型的ICMP和UDP數(shù)據(jù)包
●不屬于正常連接通訊的TCP和UDP數(shù)據(jù)包
●數(shù)據(jù)段內(nèi)容只包含文字和數(shù)字字符(如:沒有空格、標(biāo)點(diǎn)和控制字符)
2、防御困難的原因
●定位攻擊者不容易,因為Internet上絕大多數(shù)網(wǎng)絡(luò)都不限制源地址,即偽造源地址非常容易,因此很難溯源找到攻擊控制端的位置。且各種反射式攻擊導(dǎo)致無法定位攻擊者。
●如果攻擊者構(gòu)造足夠大的合法流量到達(dá)目標(biāo)網(wǎng)絡(luò),那么流量可能會使目標(biāo)系統(tǒng)的網(wǎng)絡(luò)連接被淹沒,從而限制其他想要連接到目標(biāo)系統(tǒng)的合理請求。
3、防御方法
●進(jìn)行合理的帶寬限制:限制基于協(xié)議的帶寬。如:端口25只能使用25%的帶寬,端口80只能使用50%的帶寬。
●運(yùn)行盡可能少的服務(wù),只允許必要的通信
●及時更新系統(tǒng)并安裝系統(tǒng)補(bǔ)丁
●封鎖惡意IP地址
●增強(qiáng)系統(tǒng)用戶的安全意識,避免成為傀儡主機(jī)。如果攻擊者無法入侵并控制足夠數(shù)量的傀儡主機(jī),則DDoS就無法進(jìn)行。
●建立健全DoS/DDoS攻擊的應(yīng)急響應(yīng)機(jī)制。組織機(jī)構(gòu)應(yīng)該建立相應(yīng)的計算機(jī)應(yīng)急響應(yīng)機(jī)制,當(dāng)DoS/DDoS攻擊發(fā)生時,應(yīng)迅速確定攻擊源,屏蔽攻擊地址,丟棄攻擊數(shù)據(jù)包,最大限度地降低損失。
總結(jié)
- 上一篇: 利比亚行动
- 下一篇: 基于单片机的多功能电子医药盒设计