首頁>Club>
8
回覆列表
  • 1 # 21世紀紳士

    DoS攻擊、DDoS攻擊和DRDoS攻擊相信大家已經早有耳聞了吧!DoS是Denial of Service的簡寫就是拒絕服務,而DDoS就是Distributed Denial of Service的簡寫就是分散式拒絕服務,而DRDoS就是Distributed Reflection Denial of Service的簡寫,這是分佈反射式拒絕服務的意思。

      不過這3中攻擊方法最厲害的還是DDoS,那個DRDoS攻擊雖然是新近出的一種攻擊方法,但它只是DDoS攻擊的變形,它的唯一不同就是不用佔領大量的“肉雞”。這三種方法都是利用TCP三次握手的漏洞進行攻擊的,所以對它們的防禦辦法都是差不多的。

      DoS攻擊是最早出現的,它的攻擊方法說白了就是單挑,是比誰的機器效能好、速度快。但是現在的科技飛速發展,一般的網站主機都有十幾臺主機,而且各個主機的處理能力、記憶體大小和網路速度都有飛速的發展,有的網路頻寬甚至超過了千兆級別。這樣我們的一對一單挑式攻擊就沒有什麼作用了,搞不好自己的機子就會死掉。舉個這樣的攻擊例子,假如你的機器每秒能夠傳送10個攻擊用的資料包,而被你攻擊的機器(效能、網路頻寬都是頂尖的)每秒能夠接受並處理100攻擊資料包,那樣的話,你的攻擊就什麼用處都沒有了,而且非常有宕機的可能。要知道,你若是傳送這種1Vs1的攻擊,你的機器的CPU佔用率是90%以上的,你的機器要是配置不夠高的話,那你就死定了。

    X446_U6{K`HS66CCD2WQWRO.png

     不過,科技在發展,駭客的技術也在發展。正所謂道高一尺,魔高一仗。經過無數次當機,駭客們終於又找到一種新的DoS攻擊方法,這就是DDoS攻擊。它的原理說白了就是群毆,用好多的機器對目標機器一起發動DoS攻擊,但這不是很多駭客一起參與的,這種攻擊只是由一名駭客來操作的。這名駭客不是擁有很多機器,他是透過他的機器在網路上佔領很多的“肉雞”,並且控制這些“肉雞”來發動DDoS攻擊,要不然怎麼叫做分散式呢。還是剛才的那個例子,你的機器每秒能傳送10攻擊資料包,而被攻擊的機器每秒能夠接受100的資料包,這樣你的攻擊肯定不會起作用,而你再用10臺或更多的機器來對被攻擊目標的機器進行攻擊的話,嘿嘿!結果我就不說了。

    3GEWO]GDKNI4YV1@50]}2.png

    DRDoS分佈反射式拒絕服務攻擊這是DDoS攻擊的變形,它與DDoS的不同之處就是DrDoS不需要在攻擊之前佔領大量的“肉雞”。它的攻擊原理和Smurf攻擊原理相近,不過DRDoS是可以在廣域網上進行的,而Smurf攻擊是在區域網進行的。它的作用原理是基於廣播地址與迴應請求的。一臺計算機向另一臺計算機發送一些特殊的資料包如ping請求時,會接到它的迴應;如果向本網路的廣播地址傳送請求包,實際上會到達網路上所有的計算機,這時就會得到所有計算機的迴應。這些迴應是需要被接收的計算機處理的,每處理一個就要佔用一份系統資源,如果同時接到網路上所有計算機的迴應,接收方的系統是有可能吃不消的,就象遭到了DDoS攻擊一樣。不過是沒有人笨到自己攻擊自己,不過這種方法被駭客加以改進就具有很大的威力了。駭客向廣播地址傳送請求包,所有的計算機得到請求後,卻不會把迴應發到駭客那裡,而是發到被攻擊主機。這是因為駭客冒充了被攻擊主機。駭客傳送請求包所用的軟體是可以偽造源地址的,接到偽造資料包的主機會根據源地址把迴應發出去,這當然就是被攻擊主機的地址。駭客同時還會把傳送請求包的時間間隔減小,這樣在短時間能發出大量的請求包,使被攻擊主機接到從被欺騙計算機那裡傳來的洪水般的迴應,就像遭到了DDoS攻擊導致系統崩潰。駭客藉助了網路中所有計算機來攻擊受害者,而不需要事先去佔領這些被欺騙的主機,這就是Smurf攻擊。而DRDoS攻擊正是這個原理,駭客同樣利用特殊的發包工具,首先把偽造了源地址的SYN連線請求包傳送到那些被欺騙的計算機上,根據TCP三次握手的規則,這些計算機會向源IP發出SYN+ACK或RST包來響應這個請求。同Smurf攻擊一樣,駭客所傳送的請求包的源IP地址是被攻擊主機的地址,這樣受欺騙的主機就都會把迴應發到被攻擊主機處,造成被攻擊主機忙於處理這些迴應而癱瘓。

    ]}1G5(}DTLJZ6DH5M`ZTU}A.png

    解釋:

      SYN一休論壇表情圖片Synchronize sequence numbers)用來建立連線,在連線請求中,SYN=1,ACK=0,連線響應時,SYN=1,ACK=1。即,SYN和ACK來區分Connection Request和Connection Accepted。

      RST一休論壇表情圖片Reset the connection)用於復位因某種原因引起出現的錯誤連線,也用來拒絕非法資料和請求。如果接收到RST位時候,通常發生了某些錯誤。

      ACK一休論壇表情圖片Acknowledgment field significant)置1時表示確認號(Acknowledgment Number)為合法,為0的時候表示資料段不包含確認資訊,確認號被忽略。

      TCP三次握手:

    2_@HBKC{(5RA73X$EM]H4.png

    假設我們要準備建立連線,伺服器正處於正常的接聽狀態。

      第一步:我們也就是客戶端傳送一個帶SYN位的請求,向伺服器表示需要連線,假設請求包的序列號為10,那麼則為:SYN=10,ACK=0,然後等待伺服器的迴應。

      第二步:伺服器接收到這樣的請求包後,檢視是否在接聽的是指定的埠,如果不是就傳送RST=1迴應,拒絕建立連線。如果接收請求包,那麼伺服器傳送確認迴應,SYN為伺服器的一個內碼,假設為100,ACK位則是客戶端的請求序號加1,本例中傳送的資料是:SYN=100,ACK=11,用這樣的資料迴應給我們。向我們表示,伺服器連線已經準備好了,等待我們的確認。這時我們接收到迴應後,分析得到的資訊,準備傳送確認連線訊號到伺服器。

      第三步:我們傳送確認建立連線的資訊給伺服器。確認資訊的SYN位是伺服器傳送的ACK位,ACK位是伺服器傳送的SYN位加1。即:SYN=11,ACK=101。

      這樣我們的連線就建立起來了。

      DDoS究竟如何攻擊?目前最流行也是最好用的攻擊方法就是使用SYN-Flood進行攻擊,SYN-Flood也就是SYN洪水攻擊。SYN-Flood不會完成TCP三次握手的第三步,也就是不傳送確認連線的資訊給伺服器。這樣,伺服器無法完成第三次握手,但伺服器不會立即放棄,伺服器會不停的重試並等待一定的時間後放棄這個未完成的連線,這段時間叫做SYN timeout,這段時間大約30秒-2分鐘左右。若是一個使用者在連線時出現問題導致伺服器的一個執行緒等待1分鐘並不是什麼大不了的問題,但是若有人用特殊的軟體大量模擬這種情況,那後果就可想而知了。一個伺服器若是處理這些大量的半連線資訊而消耗大量的系統資源和網路頻寬,這樣伺服器就不會再有空餘去處理普通使用者的正常請求(因為客戶的正常請求比率很小)。這樣這個伺服器就無法工作了,這種攻擊就叫做:SYN-Flood攻擊。

      到目前為止,進行DDoS攻擊的防禦還是比較困難的。首先,這種攻擊的特點是它利用了TCP/IP協議的漏洞,除非你不用TCP/IP,才有可能完全抵禦住DDoS攻擊。不過這不等於我們就沒有辦法阻擋DDoS攻擊,我們可以盡力來減少DDoS的攻擊。下面就是一些防禦方法:

      1。確保伺服器的系統檔案是最新的版本,並及時更新系統補丁。

      2。關閉不必要的服務。

      3。限制同時開啟的SYN半連線數目。

      4。縮短SYN半連線的time out 時間。

      5。正確設定防火牆

      禁止對主機的非開放服務的訪問

      限制特定IP地址的訪問

      啟用防火牆的防DDoS的屬性

      嚴格限制對外開放的伺服器的向外訪問

      執行埠對映程式禍埠掃描程式,要認真檢查特權埠和非特權埠。

      6。認真檢查網路裝置和主機/伺服器系統的日誌。只要日誌出現漏洞或是時間變更,那這臺機器就可   能遭到了攻擊。

      7。限制在防火牆外與網路檔案共享。這樣會給駭客擷取系統檔案的機會,主機的資訊暴露給駭客,   無疑是給了對方入侵的機會。

      8。路由器

      以Cisco路由器為例

      Cisco Express Forwarding(CEF)

      使用 unicast reverse-path

      訪問控制列表(ACL)過濾

      設定SYN資料包流量速率

      升級版本過低的ISO

      為路由器建立log server

      能夠了解DDoS攻擊的原理,對我們防禦的措施在加以改進,我們就可以擋住一部分的DDoS攻擊,知己知彼,百戰不殆嘛

  • 中秋節和大豐收的關聯?
  • 今天是教師節,關於老師這個職業,大家認為好不好?