複製鏈接
請複製以下鏈接發送給好友

cc攻擊

鎖定
攻擊者藉助代理服務器生成指向受害主機的合法請求,實現DDOS和偽裝就叫:CC(Challenge Collapsar)。
CC主要是用來攻擊頁面的。大家都有這樣的經歷,就是在訪問論壇時,如果這個論壇比較大,訪問的人比較多,打開頁面的速度會比較慢,訪問的人越多,論壇的頁面越多,數據庫壓力就越大,被訪問的頻率也越高,佔用的系統資源也就相當可觀。
中文名
CC攻擊
外文名
Challenge Collapsar Attack
簡    稱
CC
模    式
模擬多個用户不停的進行訪問
工    具
代理服務器
影    響
攻擊頁面

cc攻擊原理

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

cc攻擊防CC攻擊

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

cc攻擊攻擊症狀

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攻擊中是非常有用的,可以勾選。另外,如果你對安全的要求比較高,可以在“常規”選項卡下對“新日誌計劃”進行設置,讓其“每小時”或者“每一天”進行記錄。為了便於日後進行分析時好確定時間可以勾選“文件命名和創建使用當地時間”。 [2] 

cc攻擊防禦方法

cc攻擊 cc攻擊
對於CC攻擊.其防禦必須採用多種方法,而這些方法本質上也是在提高服務器的併發能力。
1、服務器垂直擴展和水平擴容
資金允許的情況下,這是最簡單的一種方法,本質上講,這個方法並不是針對CC攻擊的,而是提升服務本身處理併發的能力,但確實提升了對CC攻擊的承載能力。垂直擴展:是指增加每台服務器的硬件能力,如升級CPU、增加內存、升級SSD固態硬盤等。水平擴容:是指通過增加提供服務的服務器來提升承載力。上述擴展和擴容可以在服務的各個層級進行,包括:應用服務器、數據庫服務器和緩存服務器等等。
2、數據緩存(內存級別,不要用文件)
對於服務中具備高度共性,多用户可重用,或單用户多次可重用的數據,一旦從數據庫中檢索出,或通過計算得出後,最好將其放在緩存中,後續請求均可直接從緩存中取得數據,減輕數據庫的檢索壓力和應用服務器的計算壓力,並且能夠快速返回結果並釋放進程,從而也能緩解服務器的內存壓力。要注意的是,緩存不要使用文件形式,可以使用redis、mem—cached等基於內存的nosql緩存服務,並且與應用服務器分離,單獨部署在局域網內。局域網內的網絡IO肯定比起磁盤IO要高。為了不使局域網成為瓶頸,千兆網絡也是有必要的。
3、頁面靜態化
與數據緩存一樣,頁面數據本質上也屬於數據,常見的手段是生成靜態化的html頁面文件,利用客户端瀏覽器的緩存功能或者服務端的緩存服務,以及CDN節點的緩衝服務,均可以降低服務器端的數據檢索和計算壓力,快速響應結果並釋放連接進程。
4、用户級別的調用頻率限制
不管服務是有登陸態還是沒登陸態,基於session等方式都可以為客户端分配唯一的識別ID(後稱作SID),服務端可以將SID存到緩存中。當客户端請求服務時,如果沒有帶SID(cookie中或請求參數中等),則由服務端快速分配一個並返回。可以的話,本次請求可以不返回數據,或者將分配SID獨立出業務服務。當客户端請求時帶了合法SID(即SID能在服務端緩存中匹配到),便可以依據SID對客户端進行頻率限制。而對於SID非法的請求,則直接拒絕服務。相比根據IP進行的頻率限制,根據SID的頻率限制更加精準可控,可最大程度地避免誤殺情況。
5、IP限制
最後,IP限制依然可以結合上述規則一起使用,但是可以將其前置至外層的防火牆或負載均衡器上去做,並且可以調大限制的閾值,防止惡意訪問穿透到應用服務器上,造成應用服務器壓力。 [3] 
參考資料
  • 1.    劉景雲.淺析CC攻擊的原理和防禦[J].電腦知識與技術-經驗技巧,2016,(12):114-116. DOI:10.3969/j.issn.1009-3044.2016.12.045.
  • 2.    CC.WEB服務器被CC攻擊的症狀以及防護[J].計算機與網絡,2013,39(10):42-43. DOI:10.3969/j.issn.1008-1739.2013.10.050.
  • 3.    王交瑞.如何提升防禦CC攻擊的能力[J].計算機與網絡,2017,43(10):59.