DOS拒绝服务攻击
初識DOS攻擊與防御
- DOS攻擊概念
所謂拒絕服務(wù)攻擊,通常是利用傳輸協(xié)議中的某個弱點、系統(tǒng)或服務(wù)存在的漏洞,對目標系統(tǒng)發(fā)起大規(guī)模的進攻,使其無法處理合法用戶的正常請求和提供正常服務(wù),最終導(dǎo)致網(wǎng)絡(luò)服務(wù)癱瘓,甚至系統(tǒng)死機。簡言之,DOS攻擊是使目標系統(tǒng)癱瘓,是一種典型的損人不利己的攻擊。 - DOS攻擊原因
內(nèi)因:網(wǎng)絡(luò)協(xié)議的安全缺陷。
外因:利益驅(qū)使的蓄意行為,即攻擊者故意為之;偶然、無意事件。 - DOS攻擊原理
攻擊原理:利用合理的請求占用過多的服務(wù)資源(網(wǎng)絡(luò)帶寬、文件系統(tǒng)空間容量、開放的進程、允許的連接),使得服務(wù)超載,無法響應(yīng)正常的服務(wù)請求。 - DOS攻擊方法
(1)耗盡計算機資源,如帶寬、內(nèi)存、磁盤空間、處理器時間;
(2)破壞配置信息,如路由信息;
(3)破壞狀態(tài)信息,如TCP鏈接中斷;
(4)破壞網(wǎng)絡(luò)硬件;
(5)破壞通信介質(zhì),阻擋正常通信。
DOS常見攻擊技術(shù)
- SYN Flood(SYN洪水攻擊)
基本思想:利用TCP協(xié)議缺陷,發(fā)送大量偽造的TCP連接請求,從而使得被攻擊方資源耗盡(CPU滿負載或內(nèi)存不足)的攻擊方式。
攻擊過程:在三次握手過程中,假設(shè)客戶端發(fā)送SYN分組后突然死機或掉線,服務(wù)器端發(fā)送SYN/ACK應(yīng)答后無法收到客戶端反饋的ACK分組,即第三次握手無法完成,這種情況被稱為半開的TCP連接狀態(tài);此時,服務(wù)器端一般會重復(fù)發(fā)送ACK分組3-5次,并等待一段時間后丟棄這個半開連接,這段時間稱為SYN Timeout,大約為30秒至2分鐘。
如果一個惡意攻擊者大量模擬以上情況,偽造大量源IP地址,服務(wù)器端為了維護一個非常大的半開連接列表而消耗非常多的資源,如果服務(wù)器的TCP/IP棧不夠強大,最后可能會導(dǎo)致堆棧溢出或崩潰,即使服務(wù)器端足夠強大,服務(wù)器端將忙于處理攻擊者偽造的TCP連接請求而無暇理睬客戶的正常請求,此時,從正常客戶的角度來看,服務(wù)器失去了響應(yīng),這種情況稱為服務(wù)器端受到了SYN Flood攻擊。
攻擊者實施這種攻擊一般有兩種方法:
(1)向目標端發(fā)送SYN分組,并確保發(fā)送分組的地址不會應(yīng)答SYN/ACK分組,這需要監(jiān)聽數(shù)據(jù)包,并且在主機或路由器上進行阻斷;
(2)偽裝成當(dāng)時不在線的IP地址,向目標機發(fā)動攻擊。
防御措施:
(1)縮短SYN Timeout時間;
(2)設(shè)置SYN Cookie,即給每一個連接請求的IP地址分配一個Cookie,如果短時間內(nèi)連續(xù)收到某個IP的重復(fù)的SYN報文,就可以認定受到了該攻擊,以后該IP地址發(fā)來的數(shù)據(jù)包將被丟棄;
(3)設(shè)置路由器和防火墻在給定時間內(nèi)只允許數(shù)量有限的半開TCP連接發(fā)生。 - ICMP Flood
Smurf Flood
攻擊過程:攻擊者發(fā)送源地址偽造的ICMP數(shù)據(jù)包,目的地址設(shè)為某個網(wǎng)絡(luò)的地址,源地址設(shè)為被攻擊主機(一般指web服務(wù)器),收到此ICMP數(shù)據(jù)包的主機會向源地址返回應(yīng)答包,因此該應(yīng)答包都指向了被攻擊主機,使得被攻擊主機在某一個時間段內(nèi)被成千上萬的數(shù)據(jù)包淹沒,從而造成拒絕服務(wù)。
防御措施:配置路由器禁止IP廣播包進網(wǎng)
Ping of Death(死亡之Ping)
攻擊過程:發(fā)送一些尺寸超大(大于64K)的ICMP包。
防御措施:最有效防御方式是禁止ICMP報文通過網(wǎng)絡(luò)安全設(shè)備。 - Land 攻擊(Local Area Network Denial Attack/局域網(wǎng)拒絕服務(wù)攻擊)
攻擊過程:發(fā)送具有相同源地址和目標地址的欺騙數(shù)據(jù)包,即攻擊者構(gòu)造特殊的SYN包,目的地址和源地址都是受害主機,受害主機接收該SYN包后,會向自己回復(fù)SYN/ACK包,第三次握手時自己回復(fù)給自己一個ACK包,大量這樣的數(shù)據(jù)包會使目標主機建立很多無向連接,占用大量系統(tǒng)資源,最終導(dǎo)致崩潰。
防御措施:
(1)防火墻攔截攻擊包;
(2)操作系統(tǒng)修復(fù)漏洞;
(3)配置路由器,屏蔽源地址與目標地址相同的數(shù)據(jù)包。 - TearDrop 攻擊(淚滴攻擊)
攻擊過程:是基于UDP的病態(tài)分片數(shù)據(jù)包的攻擊方法,即攻擊者向目標主機發(fā)送大量的、過大的錯位IP碎片,某些操作系統(tǒng)收到重疊偏移的偽造分片數(shù)據(jù)包時,就會出現(xiàn)系統(tǒng)崩潰或重啟。
現(xiàn)象:對于Windows系統(tǒng)會導(dǎo)致藍屏死機,并顯示STOP0x0000000A錯誤。
防御方法:添加系統(tǒng)補丁程序,丟棄收到的病態(tài)分片數(shù)據(jù)包并對這種攻擊進行審計。
暫存:
認識DDOS攻擊
DDOS攻擊:Distributed Denial of Service分布式拒絕服務(wù)攻擊,利用合理的請求造成資源過載,導(dǎo)致服務(wù)不可用的一種攻擊方式,是一種分布式的、協(xié)同的大規(guī)模攻擊方式。
特點:利用若干個網(wǎng)絡(luò)節(jié)點(肉雞、僵尸網(wǎng)絡(luò))同時向目標發(fā)起攻擊。
CC攻擊
原理:對一些資源消耗較大的應(yīng)用頁面不斷發(fā)起正常請求,以達到造成消耗服務(wù)器端資源的目的。
防御方法:
(1)優(yōu)化服務(wù)器性能:應(yīng)用代碼性能優(yōu)化、網(wǎng)絡(luò)架構(gòu)優(yōu)化。
(2)限制請求頻率:可以通過IP地址和Cookie定位一個客戶端,針對過頻繁訪問,采取重定向頁面。
(3)驗證碼機制:有效阻止自動化重放攻擊的有效行為之一。
總結(jié)
- 上一篇: Python函数和装饰器
- 下一篇: rrpp协议如何修改_【网安学术】基于N