cc攻擊

cc攻擊

攻擊者藉助代理伺服器生成指向受害主機的合法請求,實現DDOS和偽裝就叫:CC(ChallengeCollapsar)。

CC主要是用來攻擊頁面的。大家都有這樣的經歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,訪問的人越多,論壇的頁面越多,資料庫壓力就越大,被訪問的頻率也越高,占用的系統資源也就相當可觀。

基本介紹

  • 中文名:CC攻擊
  • 外文名:Challenge Collapsar Attack
  • 簡稱:CC
  • 模式:模擬多個用戶不停的進行訪問
原理,防CC攻擊,攻擊症狀,防禦方法,

原理

CC(ChallengeCoHapsar,挑戰黑洞)攻擊是DDoS攻擊的一種類型,使用代理伺服器向受害伺服器傳送大量貌似合法的請求。CC根據其工具命名,攻擊者使用代理機制,利用眾多廣泛可用的免費代理伺服器發動DDoS攻擊。許多免費代理伺服器支持匿名模式,這使追蹤變得非常困難。
CC攻擊的原理就是攻擊者控制某些主機不停地發大量數據包給對方伺服器造成伺服器資源耗盡,一直到宕機崩潰。CC主要是用來攻擊頁面的,每個人都有這樣的體驗:當一個網頁訪問的人數特別多的時候,打開網頁就慢了,CC就是模擬多個用戶(多少執行緒就是多少用戶)不停地進行訪問那些需要大量數據操作(就是需要大量CPU時間)的頁面,造成伺服器資源的浪費,CPU長時間處於100%,永遠都有處理不完的連線直至就網路擁塞,正常的訪問被中止。

防CC攻擊

CC攻擊可以歸為DDoS攻擊的一種。他們之間的原理都是一樣的,即傳送大量的請求數據來導致伺服器拒絕服務,是一種連線攻擊。CC攻擊又可分為代理CC攻擊,和肉雞CC攻擊。代理CC攻擊是黑客藉助代理伺服器生成指向受害主機的合法網頁請求,實現DDoS,和偽裝就叫:cc(Challenge Collapsar)。而肉雞CC攻擊是黑客使用CC攻擊軟體,控制大量肉雞,發動攻擊,相比來後者比前者更難防禦。因為肉雞可以模擬正常用戶訪問網站的請求。偽造成合法數據包
cc攻擊cc攻擊
一個靜態頁面不需要伺服器多少資源,甚至可以說直接從記憶體中讀出來發給你就可以了,但是論壇之類的動態網站就不一樣了,我看一個帖子,系統需要到資料庫中判斷我是否有讀帖子的許可權,如果有,就讀出帖子裡面的內容,顯示出來——這裡至少訪問了2次資料庫,如果資料庫的體積有200MB大小,系統很可能就要在這200MB大小的數據空間搜尋一遍,這需要多少的CPU資源和時間?如果我是查找一個關鍵字,那么時間更加可觀,因為前面的搜尋可以限定在一個很小的範圍內,比如用戶許可權只查用戶表,帖子內容只查帖子表,而且查到就可以馬上停止查詢,而搜尋肯定會對所有的數據進行一次判斷,消耗的時間是相當的大。
CC攻擊就是充分利用了這個特點,模擬多個用戶(多少執行緒就是多少用戶)不停的進行訪問(訪問那些需要大量數據操作,就是需要大量CPU時間的頁面,比如asp/php/jsp/cgi)。很多朋友問到,為什麼要使用代理呢?因為代理可以有效地隱藏自己的身份,也可以繞開所有的防火牆,因為基本上所有的防火牆都會檢測並發的TCP/IP連線數目,超過一定數目一定頻率就會被認為是Connection-Flood。當然也可以使用肉雞發動CC攻擊。肉雞的CC攻擊效果更可觀。致使伺服器CPU%100,甚至當機的現象。
使用代理攻擊還能很好的保持連線,這裡傳送了數據,代理轉發給對方伺服器,就可以馬上斷開,代理還會繼續保持著和對方連線(我知道的記錄是有人利用2000個代理產生了35萬並發連線)。
當然,CC也可以利用這裡方法對FTP、遊戲連線埠、聊天房間等進行攻擊,也可以實現TCP-FLOOD,這些都是經過測試有效的。

攻擊症狀

CC攻擊有一定的隱蔽性,那如何確定伺服器正在遭受或者曾經遭受CC攻擊呢?可以通過以下三個方法來確定。
1、命令行法
一般遭受CC攻擊時,Web伺服器會出現80連線埠對外關閉的現象, 因為這個連線埠已經被大量的垃圾數據堵塞了正常的連線被中止了。可以通過在命令行下輸入命令netstat -an來查看, “SYN_RECEIVED”是TCP連線狀態標誌,意思是“正在處於連線的初始同步狀態 ”,表明無法建立握手應答處於等待狀態。這就是攻擊的特徵,一般情況下這樣的記錄一般都會有很多條,表示來自不同的代理IP的攻擊。
2、批處理法
上述方法需要手工輸入命令且如果Web伺服器IP連線太多看起來比較費勁,可以建立一個批處理檔案,通過該腳本代碼確定是否存在CC攻擊。
腳本篩選出當前所有的到80連線埠的連線。當感覺伺服器異常時就可以雙擊運行該批處理檔案,然後在打開的log.log檔案中查看所有的連線。如果同一個IP有比較多的到伺服器的連線,那就基本可以確定該IP正在對伺服器進行CC攻擊。
3、查看系統日誌
Web日誌一般在C:\WINDOWS\system32\LogFiles\HTTPERR目錄下,該目錄下用類似httperr1.log的日誌檔案,這個檔案就是記錄Web訪問錯誤的記錄。管理員可以依據日誌時間屬性選擇相應的日誌打開進行分析是否Web被CC攻擊了。
默認情況下,Web日誌記錄的項並不是很多,可以通過ⅡS進行設定,讓Web日誌記錄更多的項以便進行安全分析。其操作步驟是:“開始→管理工具”打開“Internet信息伺服器”,展開左側的項定位到到相應的Web站點,然後右鍵點擊選擇“屬性”打開站點屬性視窗,在“網站”選項卡下點擊“屬性”按鈕,在“日誌記錄屬性”視窗的“高級”選項卡下可以勾選相應的“擴展屬性”,以便讓Web日誌進行記錄。比如其中的“傳送的位元組數”、“接收的位元組數”、“所用時間”這三項默認是沒有選中的,但在記錄判斷CC攻擊中是非常有用的,可以勾選。另外,如果你對安全的要求比較高,可以在“常規”選項卡下對“新日誌計畫”進行設定,讓其“每小時”或者“每一天”進行記錄。為了便於日後進行分析時好確定時間可以勾選“檔案命名和創建使用當地時間”。

防禦方法

對於CC攻擊.其防禦必須採用多種方法,而這些方法本質上也是在提高伺服器的並發能力。
cc攻擊cc攻擊
1、伺服器垂直擴展和水平擴容
資金允許的情況下,這是最簡單的一種方法,本質上講,這個方法並不是針對CC攻擊的,而是提升服務本身處理並發的能力,但確實提升了對CC攻擊的承載能力。垂直擴展:是指增加每台伺服器的硬體能力,如升級CPU、增加記憶體、升級SSD固態硬碟等。水平擴容:是指通過增加提供服務的伺服器來提升承載力。上述擴展和擴容可以在服務的各個層級進行,包括:套用伺服器、資料庫伺服器和快取伺服器等等。
2、數據快取(記憶體級別,不要用檔案)
對於服務中具備高度共性,多用戶可重用,或單用戶多次可重用的數據,一旦從資料庫中檢索出,或通過計算得出後,最好將其放在快取中,後續請求均可直接從快取中取得數據,減輕資料庫的檢索壓力和套用伺服器的計算壓力,並且能夠快速返回結果並釋放進程,從而也能緩解伺服器的記憶體壓力。要注意的是,快取不要使用檔案形式,可以使用redis、mem—cached等基於記憶體的nosql快取服務,並且與套用伺服器分離,單獨部署在區域網路內。區域網路內的網路IO肯定比起磁碟IO要高。為了不使區域網路成為瓶頸,千兆網路也是有必要的。
3、頁面靜態化
與數據快取一樣,頁面數據本質上也屬於數據,常見的手段是生成靜態化的hmll頁面檔案,利用客戶端瀏覽器的快取功能或者服務端的快取服務,以及CDN節點的緩衝服務,均可以降低伺服器端的數據檢索和計算壓力,快速回響結果並釋放連線進程。
4、用戶級別的調用頻率限制
不管服務是有登入態還是沒登入態,基於session等方式都可以為客戶端分配唯一的識別ID(後稱作SID),服務端可以將SID存到快取中。當客戶端請求服務時,如果沒有帶SID(cookie中或請求參數中等),則由服務端快速分配一個並返回。可以的話,本次請求可以不返回數據,或者將分配SID獨立出業務服務。當客戶端請求時帶了合法SID(即SID能在服務端快取中匹配到),便可以依據SID對客戶端進行頻率限制。而對於SID非法的請求,則直接拒絕服務。相比根據IP進行的頻率限制,根據SID的頻率限制更加精準可控,可最大程度地避免誤殺隋況。
5、IP限制
最後,IP限制依然可以結合上述規則一起使用,但是可以將其前置至)JCb層的防火牆或負載均衡器上去做,並且可以調大限制的閾值,防止惡意訪問穿透到套用伺服器上,造成套用伺服器壓力。

相關詞條

熱門詞條

聯絡我們