專利名稱:一種cc攻擊防護方法及其系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及網絡安全技術,尤其是涉及一種TOB服務器的 CC(ChalIengeCollapsar)防護方法及系統(tǒng)。
背景技術:
隨著互聯(lián)網迅猛發(fā)展,各種形式的網絡應用產品不斷涌現(xiàn),互聯(lián)網應用領域不斷拓寬,人們對專業(yè)IDC及⑶N服務的市場需求日益增長。當用戶訪問加入⑶N服務的網站 時,域名解析請求將最終交給全局負載均衡DNS進行處理。全局負載均衡DNS通過一組預先 定義好的策略,將當時系統(tǒng)訪問速度最快、最接近用戶的節(jié)點緩存服務器地址提供給用戶, 使用戶能夠得到快速的服務,高速緩存服務器返回請求所對應的本地資源,或者為客戶請 求存取保存于源點服務器的數據,同時在本地作緩存。CDN網絡在為用戶提供高速訪問時, 也面臨著各種各樣更強的網絡攻擊,比如DDOS(Distributed Denial of Service)、CC等攻 擊。攻擊者對網絡通信數據包進行抓取、分析和破解,同時還采用惡意搶占帶寬的方式,耗 盡服務器帶寬,使專業(yè)的互聯(lián)網設備因為承受不了沉重的數據請求而被迫退出服務。CC攻擊是一種分布式拒絕服務攻擊是以消耗服務器資源為目的,這種攻擊不使用 虛假IP,往往通過大量的代理服務器來連接服務器,通過向服務器請求一些較耗服務器資 源的正常URL請求,使得服務器CPU計算資源迅速達到最高,無法進行其它正常連接。它主 要針對特定域名的WEB應用程序。CDN網絡節(jié)點服務器無法做動態(tài)服務器腳本頁面緩存。 CC攻擊端向節(jié)點發(fā)送動態(tài)服務器腳本頁面的請求時,節(jié)點會向直接向源點服務器轉發(fā)請 求。此時,CDN的節(jié)點緩存服務器需要維護攻擊端與節(jié)點,節(jié)點與源點服務器的兩個TCP連 接。源點服務器需要維護節(jié)點與源點間的TCP連接。一次CC攻擊連接需要耗費系統(tǒng)三個 TCP連接。隨著攻擊量的增加,CDN系統(tǒng)性能將受到很大影響直至崩潰。目前應用于⑶N網絡服務的對抗CC攻擊的常用方法(中國專利申請 200710177720. 5)是根據服務器訪問流量閥值大小來判斷攻擊行為。容易把用戶的正常訪 問請求屏蔽掉,如果攻擊者設置好適當的攻擊速度,則防護系統(tǒng)難以有效地檢測出CC攻擊 行為,從而影響域名的訪問。因此,目前需要一種能夠快速檢測出CC攻擊對象又同時能夠避免將用戶的正常 訪問請求屏蔽掉的方法及系統(tǒng)。
發(fā)明內容
本發(fā)明的目的是提供一種CC攻擊防護方法,這種方法可以快速檢測出CC攻擊對 象;同時,本發(fā)明也針對該方法提供了一種CC攻擊防護系統(tǒng),實現(xiàn)對CDN網絡TOB服務器的 可靠防護。為了實現(xiàn)上述目的,系統(tǒng)采用如下的技術方案。本發(fā)明公開一種CC攻擊防護方法,包括以下步驟Sl :WEB服務器接收HTTP請求,判斷來訪IP是否為第一次訪問。S2-1 如果是第一次訪問,生成客戶端腳本并發(fā)送至客戶端,請求客戶驗證所述腳本、將所述驗證后的腳本作為安全標記并作第二次訪問。S2-2 如果不是第一次訪問,判斷是否為第二次訪問;如果是第二次訪問,則判斷 所述第一次與第二次訪問的時間間隔是否在預設時間A內,如果超過所述預設時間A,則執(zhí) 行所述步驟3,如果是在所述預設時間A內或者不是第二次訪問,則解析HTTP頭信息。優(yōu)選 地,所述預設時間A為120s、60s、30s、15s或10s。
進一步地,驗證是否帶有安全標記,如果帶有安全標記,則判斷安全標記是否合 法,如果認定合法,則進行S2-2-1 ;如果未帶有安全標記或安全標記不合法,則執(zhí)行S3。S2-2-1 判斷所述IP在預設時間C內的訪問次數是否超過最大訪問次數N2,如果 超過所述最大訪問次數N2,則將所述IP添加至所述過濾列表中,如果未超過所述最大訪問 次數N2,則更新已帶有的所述安全標記,并允許其訪問WEB服務器。優(yōu)選地,所述預設時間 C為60s、30s或10s,所述最大訪問次數N2為10000次、5000次、1000次或100次。S3:將所述訪問記為一次攻擊,記錄攻擊次數,判斷所述攻擊次數是否超過預設最 大攻擊次數W,如果沒有超過所述最大攻擊次數W,則拒絕其訪問WEB服務器,如果超過所 述最大攻擊次數Ni,則通過將所述訪問的IP地址添加至過濾列表來進行底層過濾,并且拒 絕其訪問WEB服務器。優(yōu)選地,所述最大訪問次數m為30次、20次、10次或5次。優(yōu)選地,在Sl之前,進行以下步驟的操作。(i)接受IP訪問請求,判斷該IP是否在所述過濾列表中,如果不在所述過濾列表 中,則執(zhí)行所述步驟1,如果在所述過濾列表中,則進行步驟(ii);(ii)判斷該IP的此次訪問與第一次被添加到所述過濾列表中的時間間隔是否在 預設時間B內,如果超過所述預設時間B,則在所述過濾列表中刪除記錄的所述IP地址,并 執(zhí)行所述步驟1,如果在預設時間B內,則拒絕其進行服務器訪問。優(yōu)選地,所述預設時間B 為 24h 或 48h。本發(fā)明針對以上方法還提供了一種CC攻擊防護系統(tǒng),該系統(tǒng)包括如下模塊。(I)CC攻擊檢測模塊,其嵌入到TOB服務器中,具有以下功能接收功能,接收HTTP請求;計數功能,對攻擊次數進行記錄;識別功能,判斷來訪IP是否為第一次訪問、是否有所述安全標記、所述安全標記 是否合法,判斷所述兩次訪問時間間隔是否在預設時間內,判斷攻擊次數是否超過預設最 大攻擊次數或最大訪問次數;執(zhí)行功能,根據所述識別信息來執(zhí)行下一步驟;添加功能,將IP地址添加至所述過濾器模塊中。(2)CC隨機腳本生成模塊,其生成隨機的客戶端腳本代碼以及更新安全標記。(3)過濾器模塊,其位于操作系統(tǒng)的網絡底層(例如NDIS (網絡驅動器接口標準) 層),動態(tài)接受所述CC攻擊檢測模塊添加的攻擊IP地址并過濾所述IP連接。(4)控制管理模塊,位于控制管理服務器,用于在所述CC攻擊防護系統(tǒng)啟動時為 其他模塊設置相應的工作參數(比如IP受到攻擊次數、過濾IP超時時間等信息)。本發(fā)明的防護方法能迅速、有效地檢測CC攻擊行為,提高⑶N網絡TOB服務器的 防護能力,在快速檢測出CC攻擊對象的同時,又避免了將用戶的正常訪問請求屏蔽掉。
圖1是本發(fā)明的CC攻擊防護方法的流程圖。圖2是本發(fā)明的CC攻擊防護方法中的過濾器模塊的工作流程圖。圖3是本發(fā)明的CC防護系統(tǒng)的組成示意圖。圖4是本發(fā)明的CC防護系統(tǒng)的流程圖。
具體實施方式
為了更詳細的說明本發(fā)明的目的和技術方案,下面結合附圖并對本發(fā)明作進一步 說明。以下結合附圖1對本發(fā)明的CC攻擊防護方法以及完成該方法各個步驟的系統(tǒng)的 模塊進行說明。步驟1 通過控制管理模塊來設置相應的工作參數,WEB服務器接收HTTP請求,CC 攻擊檢測模塊判斷來訪IP是否為第一次訪問。步驟2-1 如果是第一次訪問,CC隨機腳本生成模塊生成客戶端腳本并發(fā)送至客 戶端,請求客戶驗證所述腳本、將所述驗證后的腳本作為安全標記并作第二次訪問。步驟2-2 如果不是第一次訪問,CC攻擊檢測模塊判斷是否為第二次訪問;如果是 第二次訪問,則判斷所述第一次與第二次訪問的時間間隔是否在60s內,如果超過60s,則 執(zhí)行所述步驟3,如果是在60s內或者不是第二次訪問,則解析HTTP頭信息。進一步地,CC攻擊檢測模塊驗證是否帶有安全標記,如果帶有安全標記,則判斷安 全標記是否合法,如果認定合法,則進行步驟2-2-1 ;如果未帶有安全標記或安全標記不合 法,則執(zhí)行步驟3。步驟2-2-1 :CC攻擊檢測模塊判斷所述IP在60s內的訪問次數是否超過最大訪問 次數5000次,如果超過5000次,則將所述IP添加至所述過濾列表中,如果未超過5000次, 則更新已帶有的所述安全標記,并允許其訪問WEB服務器。步驟3 =CC攻擊檢測模塊將所述訪問記為一次攻擊,記錄攻擊次數,判斷所述攻擊 次數是否超過預設最大攻擊次數30次,如果沒有超過30次,則拒絕其訪問TOB服務器,如 果超過30次,則通過將所述訪問的IP地址添加至過濾列表來進行底層過濾,并且拒絕其訪 問WEB服務器。其中,本發(fā)明的隨機腳本驗證過程能夠以多種方式實現(xiàn),本文以非窮舉地舉例如 下。(I)Cookie 腳本處理Cookie驗證是通過驗證客戶端腳本生成的,位于HTTP頭里面的安全標記來檢測 是否為CC攻擊。WEB服務器收到由客戶端發(fā)起的以下HTTP請求GET/dir/page.htmHTTP/1. 1Host :www. 8u. cnCC攻擊檢測模塊在檢測到來訪IP為合法IP后,且沒有安全標記后,由隨機腳本生 成模塊生成相應的響應體發(fā)送給客戶端執(zhí)行
HTTP/1. 02000KContent-Type : text/htmlContent-Length 295Accept-Ranges:bytesConnection :close<script>var mycookie = " abcdf32" ;var cl =" 0fdfee6f464a72c04d8106d fc7c2b81b8dc5b8130dc79d7577025c2197// ;var c2 = " 5c2197" ;mycookie+ = cl ;var td = new DateO ;td. setDate (td. getDate ()+30) ;var myurl = " / “ ;document, cookie =“xx8abUxANTICC = CODE = “ +mycookie+ “ ;expires = “ +td. toGMTString() + “; path = / ; “ ;location = myurl ;</script)客戶端接收到來自于TOB服務器的響應并執(zhí)行腳本代碼,再向WEB服務器發(fā)送帶 有Cookie標記執(zhí)行結果的請求GET/dir/page. htm HTTP/1. 1Host :www. 8u. cnCookie :xx8abUxANTICC = CODE = e4714093496eab6b4a72c04d8106dfc74b5ed3c a86ab4d221cc717dab6802be0CC檢測模塊收到客戶端請求后,驗證Cookie安全標記,只有標記匹配的才識別為 安全請求,由隨機腳本生成模塊更新安全標記后轉交由WEB服務器繼續(xù)執(zhí)行。(2)用戶交互檢查用戶交互檢查用于驗證使用瀏覽器控件(比如IE Web控件)來進行CC攻擊的請 求,這種請求向客戶端發(fā)送腳本后,在客戶端瀏覽器的控件中生成的頁面要求用戶必須通 過點擊才能正常訪問域名。WEB服務器收到由客戶端發(fā)起的以下HTTP請求GET/dir/page. htmHTTP/1. 1Host :www. 8u. cnCC模塊在檢測到來訪IP為合法IP后,且沒有安全標記后,由隨機腳本生成模塊生 成相應的響應體發(fā)送給客戶端執(zhí)行HTTP/1. 02000KContent-Type text/htmlContent-Length 434Accept-Ranges :bytesConnection :close<script>var mycookie = “ e4714093496eab6bd0decf8b5ac448de754f42695aa9d aea〃 ; var td = new DateO ;td. setDate (td. getDate ()+30) ; var myurl = “ /〃 ;function go fun () {document, cookie= CN8UANTICC = CODE = " +mycookie+" ;expires = " +td. toGMTString ()+ “ ;path = / ; “ ;location = myurl ;} </scriptXbody topmargin = IOOXdiv style = " display:none/r Xa href =〃 javascript: gofun2 () ; 〃 > ;^、擊進 人網立占 </a></div><div align = centerXa href =〃 j avascript:gofun() ; 〃 > ;^擊進入網站 </a></div></body>客戶端接收到來自于TOB服務器的響應并執(zhí)行腳本代碼,腳本代碼生成要求用戶 點擊的網頁。如果用戶不點擊生成的鏈接,IE Web控件不會訪問要攻擊的域名。(3) URL 檢查URL檢查是把用戶訪問的域名變成腳本,再返回給客戶端,由客戶端在執(zhí)行腳本后,由腳本來訪問域名。隨機腳本生成模塊會生成以下腳本代碼返回給客戶端HTTP/1. 02000KContent-Type text/htmlContent-Length 295Accept-Ranges:bytesConnection :close<script>var myurl = " / ? “ ;var ul = " dc090f" ;var u2 = " abcwkey"; var u3 = " 0fee6f “ ;varu4 = " c83bdc “ ;myurl+ = u2 ;myurl+ = " =" ;myurl+ = u4 ;location = myurl ;</script)客戶端接收到來自于TOB服務器的響應并執(zhí)行腳本代碼,腳本代碼要求客戶端自 動重新連接的腳本指定的域名。客戶再次連接WEB服務器后,CC攻擊檢測模塊收到客戶端 請求,驗證Cookie安全標記,接著由隨機腳本生成模塊更新安全標記后轉交由WEB服務器 繼續(xù)執(zhí)行。以下結合附圖2對本發(fā)明的過濾器及其工作流程進行說明。在步驟1之前,來訪IP先經過所述過濾器模塊的處理。所述過濾器模塊的工作流程如下。(i)接受IP訪問請求,判斷該IP是否在所述過濾列表中,如果不在所述過濾列表 中,則執(zhí)行所述步驟1,如果在所述過濾列表中,則進行步驟(ii);(ii)判斷該IP的此次訪問與第一次被添加到所述過濾列表中的時間間隔是否在 預設時間B內,如果超過所述預設時間B,則在所述過濾列表中刪除記錄的所述IP地址,并 執(zhí)行所述步驟1,如果在預設時間48h內,則拒絕其進行服務器訪問。圖3是CC攻擊防護系統(tǒng)的系統(tǒng)組成示意圖。如圖3所示,系統(tǒng)包含了 CC攻擊檢 測模塊、CC隨機腳本生成模塊、過濾器模塊以及控制管理模塊。CC攻擊檢測模塊實現(xiàn)了對所有訪問WEB服務器的HTTP請求檢測、隨機腳本生成 和添加IP到過濾器的功能。CC攻擊檢測模塊由IP檢測模塊和隨機腳本生成模塊組成,IP 檢測模塊用于檢查來訪問是否為合法IP。CC隨機腳本生成模塊,其生成隨機的客戶端腳本代碼以及更新安全標記。過濾器模塊由實時過濾器和參數設置模塊組成。實時過濾器子模塊實時接收來自 網絡的IP數據包,根據過濾IP列表過濾非法IP。參數設置模塊用于接收和讀取過濾器模 塊中。管理控制模塊用于設定和監(jiān)控系統(tǒng)中各模塊工作參數,由實時監(jiān)測和參數設置模 塊組成,實時監(jiān)測模塊實時獲取位于⑶N網絡所有在線TOB服務器中CC過濾器模塊的工作 情況,以便管理員即時知道CC攻擊情況并作出相應處理。參數設置模塊用于設置和保存系統(tǒng)各模塊的工作參數,比如CC檢測IP超時時間、域名攻擊最大次數以及添加和刪除攻擊IP寸。參見圖4,對本發(fā)明的CC攻擊防護系統(tǒng)及過濾器模塊的工作流程進行更詳盡的說 明。系統(tǒng)啟動時,初始化過濾器、CC攻擊檢測模塊的工作參數,并啟 動過濾器。過濾器 位于操作系統(tǒng)網絡組件的NDIS層,直接處理發(fā)送到TOB服務器的IP數據包,在過濾器中有 一過濾IP鏈表,當有IP連接訪問系統(tǒng)時,過濾器檢索來訪IP是否是要過濾的IP,如果是則 直接拒絕連接,否則放行該連接。進一步地,位于TOB服務器的CC攻擊檢測模塊檢測連接是否是CC攻擊,如果不是 CC攻擊,則為此請求提供正常WEB服務,如果是CC攻擊,在達到1000次后,拒絕此次訪問, 將此IP添加到過濾器中。過濾器模塊位于TOB服務器操作系統(tǒng)的網絡底層(例如Windows 2003系統(tǒng)的 NDIS (網絡驅動器接口標準)層),系統(tǒng)初始化時,過濾器加載由控制管理器預設的工作參 數并啟動。當有IP訪問WEB服務器時,過濾器模塊首先接收到訪問請求,過濾器模塊檢查 來訪IP是否在過濾列表中。如果來訪IP不在過濾列表中,則過濾器模塊直接放行此IP的 連接。如果來訪IP在過濾IP列表中,過濾器模塊會檢查IP的本次訪問時間與添加時間 之差是否超過系統(tǒng)預設的IP超時時間-例如24小時-如果沒有超時,過濾器模塊直接拒 絕此IP的連接,如果超過了預設時間,則過濾器模塊自動將此IP從過濾列表中刪除,同時 放行此IP的連接。
權利要求
一種CC攻擊防護方法,其特征在于,包括以下步驟步驟1判斷訪問是否為第一次訪問;步驟2-1如果是第一次訪問,生成客戶端腳本并發(fā)送至客戶端,請求客戶驗證所述腳本、將所述驗證后的腳本作為安全標記并作第二次訪問;步驟2-2如果不是第一次訪問,解析HTTP頭信息,判斷所述訪問請求中是否帶有所述安全標記以及所述安全標記是否合法,如果訪問不帶有所述安全標記或所述安全標記不合法,則進行步驟3;如果帶有合法的安全標記,則允許其訪問WEB服務器;步驟3將所述訪問記為一次攻擊,拒絕其進行WEB服務器訪問。
2.根據權利要求1所述的CC攻擊防護方法,其特征在于,在所述步驟2-2中,在判斷 不是第一次訪問后,進一步判斷是否為第二次訪問;如果是第二次訪問,則判斷所述第一次 與第二次訪問的時間間隔是否在預設時間A內,如果超過所述預設時間A,則執(zhí)行所述步驟 3,如果是在所述預設時間A內或者不是第二次訪問,則解析HTTP頭信息。
3.根據權利要求2所述的CC攻擊防護方法,其特征在于,所述預設時間A為120s、60s、 30s、15s 或 10s。
4.根據權利要求1所述的CC攻擊防護方法,其特征在于,在所述步驟3中,在將所述 訪問記為一次攻擊后,記錄攻擊次數,判斷所述攻擊次數是否超過預設最大攻擊次數附,如 果沒有超過所述最大攻擊次數N1,則拒絕其訪問TOB服務器,如果超過所述最大攻擊次數 m,則通過將所述訪問的IP地址添加至過濾列表來進行底層過濾,并且拒絕其訪問WEB服 務器;優(yōu)選地,所述最大訪問次數m為30次、20次、10次或5次。
5.根據權利要求4所述的CC攻擊防護方法,其特征在于,在所述步驟2-2中,在判斷所 述訪問帶有合法的安全標記后,判斷所述IP在預設時間C內的訪問次數是否超過最大訪問 次數N2 ;如果超過所述最大訪問次數N2,則將所述IP添加至所述過濾列表中,如果未超過 所述最大訪問次數N2,則允許其訪問TOB服務器;優(yōu)選地,其中所述預設時間C為60s、30s 或10s,所述最大訪問次數N2為10000次、5000次、1000次或100次。
6.根據權利要求5所述的CC攻擊防護方法,其特征在于,在判斷所述IP在預設時間C 內的訪問次數是否超過最大訪問次數N2之后,在允許其訪問TOB服務器之前,更新已帶有 的所述安全標記。
7.根據權利要求4所述的CC攻擊防護方法,其特征在于,在執(zhí)行所述步驟1之前,進行 以下步驟(i)接受IP訪問請求,判斷該IP是否在所述過濾列表中,如果不在所述過濾列表中,則 執(zhí)行所述步驟1,如果在所述過濾列表中,則進行步驟(ii);(ii)判斷該IP的此次訪問與第一次被添加到所述過濾列表中的時間間隔是否在預設 時間B內,如果超過所述預設時間B,則在所述過濾列表中刪除記錄的所述IP地址,并執(zhí)行 所述步驟1,如果在預設時間B內,則拒絕其進行服務器訪問。
8.根據權利要求7所述的CC攻擊防護方法,其特征在于,所述預設時間B為24h或48h。
9.根據權利要求1所述的CC攻擊防護方法,其特征在于,完成所述客戶端腳本的生成 及驗證的方法選自下述方法所述驗證腳本通過Cookie腳本生成,所述Cookie腳本通過客戶端腳本生成驗證;所述驗證腳本通過用戶交互檢驗生成,所述用戶交互檢驗驗證瀏覽器控件發(fā)送來的請求;所述驗證腳本通過URL檢查生成,所述URL檢查是把用戶訪問的鏈接轉換為腳本,再返 回給客戶端,由客戶端在執(zhí)行腳本后,由腳本來訪問域名。
10. 一種根據權利要求1-9任一項的CC攻擊防護方法的CC攻擊防護系統(tǒng),其包括以下 模塊CC攻擊檢測模塊,嵌入到WEB服務器中,其接收HTTP請求,對攻擊次數進行記錄,判 斷來訪IP是否為第一次訪問、是否帶有所述安全標記、所述安全標記是否合法,判斷兩次 訪問時間間隔是否在預設時間A或B或c內,判斷攻擊次數是否超過預設最大攻擊次數m 或最大訪問次數N2,根據所述判斷信息來執(zhí)行下一步驟,將IP地址添加至所述過濾器模塊 中;CC隨機腳本生成模塊,其生成隨機的客戶端腳本代碼以及更新所述安全標記; 過濾器模塊,其位于操作系統(tǒng)的網絡底層,動態(tài)接受所述CC攻擊檢測模塊添加的攻擊 IP地址并過濾所述IP地址;控制管理模塊,位于控制管理服務器,用于在所述CC攻擊防護系統(tǒng)啟動時為上述模塊 設置相應的工作參數。
全文摘要
本發(fā)明涉及一種CC攻擊防護方法及其系統(tǒng)。其方法包括以下步驟,步驟1判斷訪問是否為第一次訪問;步驟2-1如果是第一次訪問,生成客戶端腳本并發(fā)送至客戶端,請求客戶驗證所述腳本、將所述驗證后的腳本作為安全標記并作第二次訪問;步驟2-2如果不是第一次訪問,解析HTTP頭信息,判斷所述訪問請求中是否帶有所述安全標記以及所述安全標記是否合法,如果訪問不帶有所述安全標記或所述安全標記不合法,則進行步驟3;如果帶有合法的安全標記,則允許其訪問WEB服務器;步驟3將所述訪問記為一次攻擊,拒絕其進行WEB服務器訪問。該系統(tǒng)其包括以下模塊,CC攻擊檢測模塊,CC隨機腳本生成模塊,過濾器模塊,控制管理模塊。本發(fā)明的方法能夠快速檢測出CC攻擊對象并避免了將用戶的正常訪問請求屏蔽掉。
文檔編號H04L29/06GK101834866SQ201010163069
公開日2010年9月15日 申請日期2010年5月5日 優(yōu)先權日2010年5月5日
發(fā)明者湯霜輝 申請人:北京來安科技有限公司