安全測試===dos攻擊和ddos攻擊


Dos攻擊:

dos攻擊 是Denial of Service的簡稱,即拒絕服務,造成DoS的攻擊行為被稱為DoS攻擊,其目的是使計算機或網絡無法提供正常的服務

DoS攻擊是指故意的攻擊網絡協議實現的缺陷或直接通過野蠻手段殘忍地耗盡被攻擊對象的資源,目的是讓目標計算機或網絡無法提供正常的服務或資源訪問,使目標系統服務系統停止響應甚至崩潰,而在此攻擊中並不包括侵入目標服務器或目標網絡設備。這些服務資源包括網絡帶寬,文件系統空間容量,開放的進程或者允許的連接。這種攻擊會導致資源的匱乏,無論計算機的處理速度多快、內存容量多大、網絡帶寬的速度多快都無法避免這種攻擊帶來的后果。

 

Dos攻擊原理:

DoS攻擊是利用TCP協議三次握手的缺陷進行的。基於TCP協議的通信在通信之前,首先要協商,這個協商過程就是以三次握手實現的。正常情況下,客戶端發送一個SYN數據包,說明要進行通信了。服務器收到該SYN包后,回應一個ACK確認包。客戶端再回應一個確認包。這樣三次握手就協商完成,下面就會正式進行通信。當黑客要進行DoS攻擊時,他會操縱很多僵屍主機向被攻擊的服務器發送SYN數據包,當服務器回復ACK確認包后,僵屍主機不再回應,這樣服務器就會保持這個半連接的存在進行等待。每一個這樣的半連接都會耗費服務器的資源,如果有數量極大的半連接,服務器就會停止正常工作了。

 

第一次

第一次握手:建立連接時,客戶端發送syn包(syn=j)到服務器,並進入SYN_SENT狀態,等待服務器確認;SYN:同步序列編號(Synchronize Sequence Numbers)。

第二次

第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=j+1),同時自己也發送一個SYN包(syn=k),即SYN+ACK包,此時服務器進入SYN_RECV狀態;

第三次

第三次握手:客戶端收到服務器的SYN+ACK包,向服務器發送確認包ACK(ack=k+1),此包發送完畢,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態,完成三次握手。

 

當第一次dos攻擊的時候,服務器處於SYN_RECV狀態。此時該一直維持到無響應為止,等待第三次握手的過程是浪費服務器資源的。等待的具體時間長度,叫做半連接存活時間。

(半連接存活時間,是指半連接隊列的條目存活的最長時間,也即服務器從收到SYN包到確認這個報文無效的最長時間,該時間值是所有重傳請求包的最長等待時間總和。有時我們也稱半連接存活時間為Timeout時間、SYN_RECV存活時間。)

 

dos攻擊的危害:

  • 制造大流量無用數據,造成通往被攻擊主機的網絡擁塞,使被攻擊主機無法正常和外界通信。
  • 利用被攻擊主機提供服務或傳輸協議上處理重復連接的缺陷,反復高頻的發出攻擊性的重復服務請求,使被攻擊主機無法及時處理其它正常的請求。
  • 利用被攻擊主機所提供服務程序或傳輸協議的本身實現缺陷,反復發送畸形的攻擊數據引發系統錯誤的分配大量系統資源,使主機處於掛起狀態甚至死機。

 

dos攻擊的方式:

  1、SYN FLOOD
  利用服務器的連接緩沖區(Backlog Queue),利用特殊的程序,設置TCP的Header,向服務器端不斷地成倍發送只有SYN標志的TCP連接請求。當服務器接收的時候,都認為是沒有建立起來的連接請求,於是為這些請求建立會話,排到緩沖區隊列中。 
  如果你的SYN請求超過了服務器能容納的限度,緩沖區隊列滿,那么服務器就不再接收新的請求了。其他合法用戶的連接都被拒絕掉。可以持續你的SYN請求發送,直到緩沖區中都是你的只有SYN標記的請求。 

  2、IP欺騙DOS攻擊
  這種攻擊利用RST位來實現。假設現在有一個合法用戶(1.1.1.1)已經同服務器建立了正常的連接,攻擊者構造攻擊的TCP數據,偽裝自己的IP為1.1.1.1,並向服務器發送一個帶有RST位的TCP數據段。服務器接收到這樣的數據后,認為從1.1.1.1發送的連接有錯誤,就會清空緩沖區中建立好的連接。這時,如果合法用戶1.1.1.1再發送合法數據,服務器就已經沒有這樣的連接了,該用戶就必須從新開始建立連接。 
  攻擊時,偽造大量的IP地址,向目標發送RST數據,使服務器不對合法用戶服務。 
   
  3、帶寬DOS攻擊
  如果你的連接帶寬足夠大而服務器又不是很大,你可以發送請求,來消耗服務器的緩沖區消耗服務器的帶寬。這種攻擊就是人多力量大了,配合上SYN一起實施DOS,威力巨大。不過是初級DOS攻擊。


  4、自身消耗的DOS攻擊
  這是一種老式的攻擊手法。說老式,是因為老式的系統有這樣的自身BUG。比如Win95 (winsock v1), Cisco IOS v.10.x, 和其他過時的系統。
  這種DOS攻擊就是把請求客戶端IP和端口弄成主機的IP端口相同,發送給主機。使得主機給自己發送TCP請求和連接。這種主機的漏洞會很快把資源消耗光。直接導致當機。這中偽裝對一些身份認證系統還是威脅巨大的。
  上面這些實施DOS攻擊的手段最主要的就是構造需要的TCP數據,充分利用TCP協議。這些攻擊方法都是建立在TCP基礎上的。還有其他的DOS攻擊手段。 
   
  5、塞滿服務器的硬盤
  通常,如果服務器可以沒有限制地執行寫操作,那么都能成為塞滿硬盤造成DOS攻擊的途徑,比如: 
  發送垃圾郵件。一般公司的服務器可能把郵件服務器和WEB服務器都放在一起。破壞者可以發送大量的垃圾郵件,這些郵件可能都塞在一個郵件隊列中或者就是壞郵件隊列中,直到郵箱被撐破或者把硬盤塞滿。 
  讓日志記錄滿。入侵者可以構造大量的錯誤信息發送出來,服務器記錄這些錯誤,可能就造成日志文件非常龐大,甚至會塞滿硬盤。同時會讓管理員痛苦地面對大量的日志,甚至就不能發現入侵者真正的入侵途徑。
  向匿名FTP塞垃圾文件。這樣也可以塞滿硬盤空間。

 

Ddos攻擊:

DDOS:分布式拒絕服務(DDoS:Distributed Denial of Service)攻擊指借助於客戶/服務器技術,將多個計算機聯合起來作為攻擊平台,對一個或多個目標發動DDoS攻擊,從而成倍地提高拒絕服務攻擊的威力。

DDOS是DoS攻擊基礎之上產生的一種新的攻擊方式,利用控制成百上千台肉雞,組成一個DDOS攻擊群,同一時刻對目標發起攻擊。Dos是拒絕服務攻擊,而DDOS是分布式拒絕服務攻擊;DOS與DDOS都是攻擊目標服務器、網絡服務的一種方式。

 

 

參考資料:
https://baike.baidu.com/item/%E4%B8%89%E6%AC%A1%E6%8F%A1%E6%89%8B/5111559
https://baike.baidu.com/item/dos%E6%94%BB%E5%87%BB
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM