<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種防御DDoS攻擊的方法和設備的制作方法

文檔序號:7752642閱讀:341來源:國知局
專利名稱:一種防御DDoS攻擊的方法和設備的制作方法
技術領域
本發明涉及分布式拒絕服務(DDoS,Distributed Deny of krvice)技術領域,尤其涉及一種防御DDoS攻擊的方法和設備。
背景技術
隨著hternet的發展,網絡應用越來越多,由于互聯網自身設計的開放性,各種網絡應用都受到安全威脅。其中,DDoS攻擊就是一種常見的攻擊服務器的手段,攻擊者控制大量傀儡機(此時傀儡機作為攻擊設備)向被攻擊的服務器發起大量的連接,占用了服務器的資源,導致服務器不能很好的服務于正常設備。在這種背景下,產生了流量清洗設備,專門用于識別客戶端是攻擊設備還是正常設備,并將攻擊流量過濾掉,使之不能達到服務器,以減輕對服務器的影響。然而,為了部署上的方便,現在的流量清洗設備一般采用單向引流的方式,這就為識別攻擊增加了一些困難。目前,常用的電子郵件協議有簡單郵件傳輸協議(SMTP,Simple Message Transfer Protocol)和郵局協議 3 (P0P3,Post Office Protocol 3)。電子郵件(E-mail) 服務器可能受到SMTP DDoS攻擊或P0P3DDoS攻擊,現有技術中,主要采用防御SYN Flood的方法來防御SMTP DDoS攻擊或P0P3 DDoS攻擊。防御SYN Flood的方法可以區分出非法的 TCP連接,并通過SMTP/P0P3狀態機區分出非法的SMTP/P0P3連接;然而,這種SYN Flood的方法只是對不完整的SMTP/P0P3客戶端(即不能完成TCP三次握手、或者不能完成合法的 SMTP/P0P3狀態機的客戶端)有效,而現有的DDoS攻擊一般采用控制大量傀儡機的方式,這種方式都有完整的SMTP/P0P3客戶端對服務器進行攻擊。因此,對于通過控制大量傀儡機對服務器進行的SMTP DDoS攻擊或P0P3DDoS攻擊,現有的防御方式已失去防御作用,無法完整地區分出攻擊設備(即傀儡機)和正常設備。

發明內容
本發明提供了一種防御DDoS攻擊的方法,用于區分出攻擊設備和正常設備,從而防御對E-mail服務器的DDoS攻擊。本發明還提供了一種防御DDoS攻擊的設備,用于區分出攻擊設備和正常設備,從而防御對E-mail服務器的DDoS攻擊。本發明的技術方案是這樣實現的一種防御DDoS攻擊的方法,包括計算服務器向客戶端發送的認證回應報文的長度,所述計算的方式為分別獲取所述認證回應報文的前一條報文和后一條報文中的TCP ACK的值,計算所述后一條報文中的TCP ACK的值與所述前一條報文中的TCP ACK的值的差,該差值為所述認證回應報文的長度;
將所述認證回應報文的長度與預先保存的認證成功報文的長度或認證失敗報文的長度進行比較,識別該認證回應報文是否為認證失敗報文,如果是,則服務器丟棄所述客戶端的連接請求。一種防御DDoS攻擊的設備,所述設備與服務器連接,設備包括計算模塊、保存模塊、識別模塊和處理模塊;其中,所述計算模塊,用于計算服務器向客戶端發送的認證回應報文的長度,所述計算的方式為分別獲取所述認證回應報文的前一條報文和后一條報文中的TCP ACK的值,計算所述后一條報文中的TCP ACK的值與所述前一條報文中的TCP ACK的值的差,該差值為所述認證回應報文的長度;保存模塊,用于預先保存認證成功報文的長度或認證失敗報文的長度;識別模塊,用于將所述認證回應報文的長度與預先保存的認證成功報文的長度或認證失敗報文的長度進行比較,識別該認證回應報文是否為認證失敗報文,如果是,則通知所述處理模塊;所述處理模塊,用于當收到認證回應報文是認證失敗報文的通知時,指示服務器丟棄所述客戶端的連接請求。可見,本發明提出的防御DDoS攻擊的方法和設備,通過TCP ACK之差識別出服務器對客戶端認證成功還是失敗,如果認證失敗,則說明該客戶端很有可能是攻擊設備,則丟棄該客戶端的連接請求,從而防御對E-mail服務器的DDoS攻擊。


圖1為本發明防御DDoS攻擊的方法流程圖;圖2為現有技術中一種典型的SMTP認證過程;圖3為本發明防御DDoS攻擊的設備結構示意圖。
具體實施例方式在現有的hternet中,出于安全考慮,絕大部分E-mail服務器都要求對客戶端進行認證,例如,要求客戶端輸入正確的用戶名和密碼。而攻擊者控制的傀儡機不可能掌握大量的真實用戶來進行攻擊,所以,服務器對傀儡機(即攻擊設備)的認證是失敗的。因此,通過認證結果就能夠區分出客戶端是攻擊設備還是正常設備,從而防御攻擊設備的DDoS攻擊。并且,對于同一個服務器,其向客戶端發送的認證成功報文和認證失敗報文的長度是固定的,通過計算認證回應報文的長度,并將該認證回應報文的長度與預先保存的認證成功報文或認證失敗報文的長度進行比較,就能夠區分出該認證回應報文是認證成功報文還是認證失敗報文。攻擊者也可能在其控制的傀儡機中使用少量的真實用戶,這種情況可以通過限制每個用戶發起請求的頻度來限制。基于上述思路,本發明提出一種防御DDoS攻擊的方法,如圖1為本發明防御DDoS 攻擊的方法流程圖,該方法包括步驟101 計算服務器向客戶端發送的認證回應報文的長度;步驟102 將所述認證回應報文的長度與預先保存的認證成功報文的長度或認證失敗報文的長度進行比較,識別該認證回應報文是否為認證失敗報文,如果是,則服務器丟棄所述客戶端的連接請求。上述步驟101可以包括分別獲取所述認證回應報文的前一條報文和后一條報文中的TCP確認號(ACK)的值,計算所述后一條報文中的TCPACK的值與所述前一條報文中的TCP ACK的值的差,該差值即為所述認證回應報文的長度。上述步驟102中的識別過程可以包括將認證回應報文的長度與預先保存的認證失敗報文的長度進行比較,當認證回應報文的長度與認證失敗報文的長度相同時,識別出該認證回應報文是認證失敗報文;或者,將認證回應報文的長度與預先保存的認證成功報文的長度進行比較,當認證回應報文的長度與認證成功報文的長度相同時,識別出該認證回應報文不是認證失敗報文。這里,服務器可以通過手工配置或者學習的方式得到認證成功報文和認證失敗報文的長度。正常情況下,服務器發送的認證成功報文多于認證失敗報文,利用這一規律,可以通過服務器發送的認證回應報文長度的分布情況,得到認證成功報文和認證失敗報文的長度。例如,假定在一定時間內統計出服務器向外發送的認證回應報文有1000條,其中長度為100字節的有980條,長度為60字節的有20條,根據這些報文長度的分布情況,可以得出認證成功報文的長度為100字節,認證失敗報文的長度為60字節。 上述步驟102之后可以進一步包括當服務器丟棄該客戶端的連接請求的次數超過預先設定的門限時,可以將該客戶端的IP地址加入黑名單中,在預先設定的時間段內不再處理來自該客戶端的報文。以下在具體的SMTP認證過程中,詳細介紹本發明提出的防御DDoS攻擊的方法。如圖2為現有技術中一種典型的SMTP認證過程,包括步驟201 客戶端向服務器發送報文1,即AUTH LOGIN報文,請求服務器對其進行認證。步驟202 服務器向客戶端發送報文2,要求客戶端輸入用戶名。步驟203 客戶端向服務器發送報文3,攜帶該客戶端的用戶名。步驟204 服務器向客戶端發送報文4,要求客戶端輸入密碼。步驟205 客戶端向服務器發送報文5,攜帶該客戶端的密碼。步驟206 服務器向客戶端發送報文6,即認證回應報文,該認證回應報文可能是認證成功報文、也可能是認證失敗報文。步驟207 客戶端向服務器發送報文7,繼續其他請求。在背景技術部分已經提過,現有的流量清洗設備一般采用單向引流的方式進行過濾,也就是說,現有的流量清洗設備只能識別出報文1、3、5、7這些客戶端發送至服務器的報文,而無法識別報文2、4、6這些服務器發送至客戶端的報文,所以也就無法識別出服務器對客戶端的認證結果是認證成功還是認證失敗。而本發明提出的防御DDoS的方法,可以通過認證回應報文(即報文6)的后一條報文(即報文7)的TCK ACK和前一條報文(即報文5)的TCK ACK的差計算出報文6的長度。之后,將報文6的長度與預先報文的認證失敗報文或認證成功報文的長度進行比較,識別出報文6是否為認證失敗報文,如果是,則說明該客戶端有可能是攻擊設備,服務器則丟棄該客戶端的連接請求,并可以在多次丟棄其連接請求后將該客戶端放入黑名單, 有效防御該客戶端的攻擊。除了 AUTH LOGIN認證方式,還有其他的認證方式,如AUTHCRAM-MD5,AUTH PLAIN 等,都可以通過本發明提出的方式識別出攻擊設備,從而有效防御攻擊設備的攻擊。對于P0P3DDoS攻擊,本發明可以采用同樣的方法進行防御。本發明還提出一種防御DDoS攻擊的設備,所述設備與服務器連接,如圖3為本發明防御DDoS攻擊的設備結構示意圖,該設備包括計算模塊301、保存模塊302、識別模塊 303和處理模塊304 ;其中,所述計算模塊301,用于計算服務器向客戶端發送的認證回應報文的長度,所述計算的方式為分別獲取所述認證回應報文的前一條報文和后一條報文中的TCP ACK的值, 計算所述后一條報文中的TCP ACK的值與所述前一條報文中的TCP ACK的值的差,該差值為所述認證回應報文的長度;保存模塊302,用于預先保存認證成功報文的長度或認證失敗報文的長度;識別模塊303,用于將所述認證回應報文的長度與預先保存的認證成功報文的長度或認證失敗報文的長度進行比較,識別該認證回應報文是否為認證失敗報文,如果是,則通知所述處理模塊304 ;所述處理模塊304,用于當收到認證回應報文是認證失敗報文的通知時,指示服務器丟棄所述客戶端的連接請求。上述保存模塊302可以預先保存認證失敗報文的長度;上述識別模塊303識別認證回應報文是否為認證失敗報文的方式可以為將認證回應報文的長度與所述認證失敗報文的長度進行比較,當認證回應報文的長度與認證失敗報文的長度相同時,識別出該認證回應報文是認證失敗報文;或者,所述保存模塊302可以預先保存認證成功報文的長度;上述識別模塊303識別認證回應報文是否為認證失敗報文的方式可以為將認證回應報文的長度與所述認證成功報文的長度進行比較,當認證回應報文的長度與認證成功報文的長度相同時,識別出該認證回應報文不是認證失敗報文。上述設備可以進一步包括鎖定模塊305,用于當服務器丟棄客戶端的連接請求的次數超過預先設定的門限時,指示所述服務器在預先設定的時間段內不再處理來自所述客戶端的報文。綜上可見,本發明提出的防御DDoS攻擊的方法和設備,能夠在單向流量清洗環境中通過TCP ACK之差識別出服務器對客戶端認證成功還是失敗,當認證失敗時,則丟棄該客戶端的連接請求,從而防御攻擊設備對E-mail服務器的DDoS攻擊。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
權利要求
1.一種防御分布式拒絕服務DDoS攻擊的方法,其特征在于,所述方法包括計算服務器向客戶端發送的認證回應報文的長度,所述計算的方式為分別獲取所述認證回應報文的前一條報文和后一條報文中的TCP確認號ACK的值,計算所述后一條報文中的TCP ACK的值與所述前一條報文中的TCP ACK的值的差,該差值為所述認證回應報文的長度;將所述認證回應報文的長度與預先保存的認證成功報文的長度或認證失敗報文的長度進行比較,識別該認證回應報文是否為認證失敗報文,如果是,則服務器丟棄所述客戶端的連接請求。
2.根據權利要求1所述的方法,其特征在于,所述識別認證回應報文是否為認證失敗報文的方式為將認證回應報文的長度與預先保存的認證失敗報文的長度進行比較,當認證回應報文的長度與認證失敗報文的長度相同時,識別出該認證回應報文是認證失敗報文;或者,將認證回應報文的長度與預先保存的認證成功報文的長度進行比較,當認證回應報文的長度與認證成功報文的長度相同時,識別出該認證回應報文不是認證失敗報文。
3.根據權利要求1或2所述的方法,其特征在于,所述服務器丟棄該客戶端的連接請求之后,進一步包括當服務器丟棄該客戶端的連接請求的次數超過預先設定的門限時,在預先設定的時間段內不再處理來自所述客戶端的報文。
4.一種防御DDoS攻擊的設備,所述設備與服務器連接,其特征在于,所述設備包括計算模塊、保存模塊、識別模塊和處理模塊;其中,所述計算模塊,用于計算服務器向客戶端發送的認證回應報文的長度,所述計算的方式為分別獲取所述認證回應報文的前一條報文和后一條報文中的TCP ACK的值,計算所述后一條報文中的TCP ACK的值與所述前一條報文中的TCP ACK的值的差,該差值為所述認證回應報文的長度;保存模塊,用于預先保存認證成功報文的長度或認證失敗報文的長度;識別模塊,用于將所述認證回應報文的長度與預先保存的認證成功報文的長度或認證失敗報文的長度進行比較,識別該認證回應報文是否為認證失敗報文,如果是,則通知所述處理模塊;所述處理模塊,用于當收到認證回應報文是認證失敗報文的通知時,指示服務器丟棄所述客戶端的連接請求。
5.根據權利要求4所述的設備,其特征在于,所述保存模塊預先保存認證失敗報文的長度;所述識別模塊識別認證回應報文是否為認證失敗報文的方式為將認證回應報文的長度與所述認證失敗報文的長度進行比較,當認證回應報文的長度與認證失敗報文的長度相同時,識別出該認證回應報文是認證失敗報文;或者,所述保存模塊預先保存認證成功報文的長度;所述識別模塊識別認證回應報文是否為認證失敗報文的方式為將認證回應報文的長度與所述認證成功報文的長度進行比較,當認證回應報文的長度與認證成功報文的長度相同時,識別出該認證回應報文不是認證失敗報文。
6.根據權利要求4或5所述的設備,其特征在于,所述設備進一步包括 鎖定模塊,用于當服務器丟棄客戶端的連接請求的次數超過預先設定的門限時,指示所述服務器在預先設定的時間段內不再處理來自所述客戶端的報文。
全文摘要
本發明提出一種防御分布式拒絕服務(DDoS)攻擊的方法和設備,其中方法包括計算服務器向客戶端發送的認證回應報文的長度,所述計算的方式為分別獲取所述認證回應報文的前一條報文和后一條報文中的TCP確認號(ACK)的值,計算所述后一條報文中的TCP ACK的值與所述前一條報文中的TCP ACK的值的差,該差值為所述認證回應報文的長度;將所述認證回應報文的長度與預先保存的認證成功報文的長度或認證失敗報文的長度進行比較,識別該認證回應報文是否為認證失敗報文,如果是,則服務器丟棄所述客戶端的連接請求。本發明能夠區分出攻擊設備和正常設備,從而防御對E-mail服務器的DDoS攻擊。
文檔編號H04L29/06GK102291378SQ20101021144
公開日2011年12月21日 申請日期2010年6月18日 優先權日2010年6月18日
發明者孫志強, 陳光輝 申請人:杭州華三通信技術有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影