專利名稱::一種挑戰黑洞攻擊防御方法及裝置的制作方法
技術領域:
:本方明涉及網絡安全技術,尤其涉及一種挑戰黑洞攻擊防御方法及裝置。
背景技術:
:隨著信息技術的迅速發展,計算機網絡技術在全球各行各業中得到了廣泛普及和推廣,然而,網絡應用的快速發展以及網絡規模的急劇膨脹,在為企業帶來生產經營效率的同時,也使得網絡中的安全漏洞無處不在。這些安全漏洞為網絡攻擊提供了滋生的土i裏,近年來流行的CC(ChallengeCollapsar,又稱挑戰黑洞)攻擊便是網絡攻擊中的一種。CC攻擊是一種基于頁面的分布式拒絕服務(DDoS,DistributedDenialofService)攻擊,它通過發送耗性能的超文本傳輸協i義(HTTP,HypertextTransferProtocol)請求HTTPGET來消耗服務器資源。圖1示出了CC攻擊的典型模式示意圖,攻擊主機(attackerhost)多次通過網絡中的代理服務器向目標主機(targethost)上開銷比較大的動態頁面發起HTTP請求,如數據庫查詢等,導致目標主機進行大量計算,很快達到處理能力極限,從而拒絕所有用戶的服務請求。與普通的依靠大量報文進行攻擊、導致目標主機瞬間癱瘓的DDoS攻擊不同,CC攻擊主要是通過多次訪問目標主機上開銷比較大的動態頁面來實現目標主機的資源消耗的,其不需要過大的報文流量,具有很強的隱蔽性。并且,只需要一臺主機,只要能找到足夠數量的代理服務器,就能在任何時間,對目標發起大少見模的CC攻擊,導致目標服務器的服務處于癱瘓狀態。由于攻擊原理的限制,CC攻擊的目標服務器大多為需要進行大量數據庫查詢的服務器,如大型論壇,信息查詢系統等。這些服務器輻射面廣,實時性強,且大多數都與服務提供商的經濟收入直接掛鉤,所以一旦受到cc攻擊,其損失將是巨大的。因此防御cc攻擊有4艮大的現實意義。在實現本發明的過程中,發明人發現現有技術中至少存在如下問題現有的CC攻擊防御方法雖然能夠檢測出目標主機遭受了CC攻擊,但是不能針對攻擊者的危害程度進行動態地過濾,甚至拒絕所有用戶的服務請求,很容易造成資源的浪費。
發明內容本發明實施例提供一種挑戰黑洞攻擊防御方法及裝置,可以針對攻擊者的危害程度進行動態地過濾。本發明實施例提供一種基于用戶請求可疑度的挑戰黑洞攻擊防御方法,該方法包括根據捕獲的數據包判斷用戶請求的WEB頁面是否是動態頁面;如果是動態頁面,則每個用戶對應一個用戶請求可疑度;根據所述用戶請求可疑度對用戶的動態頁面請求進行過濾。本發明實施例還提供一種基于用戶請求可疑度的挑戰黑洞攻擊防御裝置,該裝置包括第一判斷模塊,用于根據捕獲的數據包判斷用戶請求的WEB頁面是否是動態頁面,如果是動態頁面,則每個用戶對應一個用戶請求可疑度;用戶請求可疑度計算模塊,用于計算用戶請求的可疑度值;防御處理模塊,用于根據存儲模塊中存儲的用戶請求可疑度對用戶的動態頁面請求進行過濾。本發明實施例為每個請求動態頁面的新用戶建立一個可疑數據表,該可疑數據表用于存儲用戶請求可疑度,新用戶的用戶請求可疑度初始值是建立可疑數據表時系統自動賦予的,之后用戶每次發出新的動態頁面請求,其可疑度也發生變化,更新可疑數據表。所以在啟動防御功能時,可以根據可疑數據表中用戶可疑度的不同進行動態地過濾,高可疑度的用戶先過濾,低可疑度的用戶后過濾,這樣可以提高CPU利用率,避免資源的浪費。為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1是挑戰黑洞攻擊的典型模式示意圖2是本發明實施例一挑戰黑洞攻擊防御方法的流程示意圖3是本發明實施例二挑戰黑洞攻擊防御方法的流程示意圖4是本發明實施例二的防御處理方案流程圖5是本發明實施例挑戰黑洞攻擊防御裝置的結構示意圖6是本發明實施例攻擊發生及啟動防御措施后CPU利用率變化示意圖。具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施方式,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施方式僅僅用以解釋本發明,并不用于限定本發明。請參考圖2,為本發明實施例一的流程示意圖,其步驟包括步驟201、根據捕獲的數據包判斷所請求的頁面是否是動態頁面,如果是則進行步驟202;步驟202、判斷該請求動態頁面的用戶是否是新用戶,如果是則進行步驟203,否則進行步驟204;步驟203、為新用戶建立可疑數據表,該數據表包括兩個表項用戶的源IP地址和用戶請求可疑度,其中用戶請求可疑度的初始值是建立數據表時系統自動賦予的;步驟204、計算用戶請求可疑度,并更新可疑數據表;步驟205、根據可疑數據表中的用戶可疑度值對用戶進行過濾。本發明利用可疑數據表存儲用戶請求可疑度,新用戶的用戶請求可疑度初始值是建立可疑數據表時系統自動賦予的,之后用戶每次發出新的動態頁面請求,其可疑度也發生變化,所以在啟動防御功能時,可以根據可疑數據表中用戶可疑度的不同進行動態地過濾,高可疑度的用戶先過濾,低可疑度的用戶后過濾,這樣可以提高CPU利用率,避免資源的浪費。請參考圖3,為本發明實施例二的流程示意圖,其步驟包括步驟301、捕獲請求訪問WEB服務器頁面的數據包;步驟302、判斷用戶請求訪問的頁面是否是動態頁面,動態網頁多以.asp、.jsp、.php、.perl、.cgi、.aspx、.dcsp、.cfm等形式為后綴,并且在動態網頁網址中有一個標志性的符號"?"。通過提取捕獲數據包的URL字段,查看其中是否含有動態頁面的后綴名,可以判斷出請求頁面是否為動態頁面;如果是則進行步驟303,否則回到步驟301;步驟303、判斷該請求動態頁面的用戶是否是新用戶,根據捕獲數據包的用戶的IP地址可以判斷出是否是新用戶,如果是則進行步驟304,否則進行步驟305;步驟304、為新用戶建立可疑數據表,該數據表可以是數據庫的形式也可以是數據列表的形式。可疑數據表包括兩個參數,從數據包釆集的用戶源IP地址以及用戶請求可疑度。用戶請求可疑度的初始值是創建數據表的時候系統自動賦予的,比如O;步驟305、計算用戶請求可疑度用戶請求可疑度可以用可疑度函數T:f(t,n,…)計算,其中t為每個用戶初次請求的響應時間,n為每個用戶請求目標服務器上動態頁面的次數,T與t和n成正比例關系。其中,響應時間t為收到服務器返回狀態碼的時刻減去發送請求的時刻;n,即每個用戶請求目標服務器上動態頁面的次數采用以下方法獲得為每個初次訪問用戶設置訪問次數計數器Nip(初始值為1),以后每當收到用戶新的動態頁面請求時,都將用戶對應的Nip力。1,最后得到的Nip的值就是所述n。此外,還可以根據被保護服務器、網絡的實際情況,增加或刪除參數,從而提高防御效果。步驟306、用步驟305計算出的用戶請求可疑度值替換可疑數據表中的原有的用戶請求可疑度值;步驟307、監控服務器的CPU使用率是否到達警戒線,如果達到了進行步驟308。可以理解的是,步驟307并非是執行完步驟306之后才開始進行的,監控服務器的CPU使用率是否到達警戒線的動作可以是一直處于運行狀態的,也可以在整個過程中的任一步驟前后啟動。步驟308、啟動防御處理功能。具體防御處理可有多種實施方式,本發明發明實施例的防御處理功能的具體步驟如下,如圖4所示步驟3081、判斷CPU使用率是否大于事先設定的第一閾值ul,比如50%,如果不大于50%則繼續監控CPU使用率,如果超過50%則進行步驟3082;步驟3082、判斷CPU使用率是否大于事先設定的第二閾值u2(第二閾值大于第一閾值),比如80%,如果超過80%,則進行步驟3083,如果不超過則進行步驟3084;步驟3083、阻止所有用戶對動態頁面的請求,包括新用戶的請求;步驟3084、判斷用戶請求可疑度是否超過事先設定的第三閾值x,比如0.6,如果沒有超過0.6服務器將繼續響應該用戶的動態頁面請求,否則進行步驟3085;步驟3085、阻止該用戶對動態頁面的請求。另一種防御處理功能的具體步驟如下判斷CPU使用率是否大于事先設定的第一閾值,比如50%,如果不大于50%則繼續監控CPU使用率,如果超過50%則繼續判斷CPU使用率是否大于事先設定的第二閾值(第二閾值大于第一閾值),比如80%,如果超過80%,則阻止所有用戶對動態頁面的請求,包括新用戶的請求,如果不超過則判斷用戶請求可疑度是否超過事先設定的第三閾值x,比如0.6,如果沒有超過0.6服務器將繼續響應該用戶的動態頁面請求,否則阻止該用戶對動態頁面的請求。需要注意的是這里的第三閾值x可以隨著CPU使用率的變化而變化,比如隨著CPU使用率的提高,第三閾值可能降為0.5,此時則只需過濾用戶可疑度超過0.5的用戶了。另一種防御處理功能的具體步驟如下判斷CPU使用率是否大于事先設定的第一閾值,比如50%,如果不大于50%則繼續監控CPU使用率,如果超過50%則繼續判斷CPU使用率是否大于事先設定的第二閾值(第二閾值大于第一閾值),比如80%,如果超過80%,則阻止所有用戶對動態頁面的請求,包括新用戶的請求,如果不超過則過濾掉可疑數據表中用戶請求可疑度值最大的用戶請求,繼續判斷CPU使用率,如果使用率仍然在50%至80%之間,繼續過濾掉可疑數據表中用戶請求可疑度值最大的用戶請求,直至CPU使用率小于50。/。。如下表所示用戶請求可疑度CPU使用率<table>tableseeoriginaldocumentpage11</column></row><table>用戶請求可疑度最大值為0.8,過濾掉該用戶后,CPU使用率為75%,仍然大于50%,此時用戶請求可疑度最大值為0.6,將該用戶過濾掉,同時監控到CPU使用率下降為70%,但仍然超過50%,繼續將用戶請求可疑度最大的用戶,即用戶請求可疑度值為0.5的用戶過濾掉,此時監控CPU使用率下降為45%,低于50%,說明服務器已經恢復正常,可以滿足所有用戶的請求了。本發明實施例通過實時監控CPU使用率,如果CPU使用率大于第二閾值,則拒絕所有用戶的動態頁面請求,包括新用戶的請求,如果CPU使用率在第一閾值和第二閾值之間,則根據用戶可疑度進行動態過濾,用戶可疑度高的先過濾,可疑度低的后過濾,這樣可以避免一味地阻止所有用戶的請求,有利于資源的利用,提高CPU的利用率。CC攻擊發生及啟動本方案所提防雄卩措施后CPU利用率如圖6所示從圖中可以看到,攻擊產生之后,CPU的使用程度陡然升高,使用率一直處于頂端,計算機處于癱瘓狀態,采取防御措施以后,CPU使用率下降,利用率升高,計算機恢復到正常狀態。本發明實施例CC攻擊防御裝置如圖5所示,包括第一判斷模塊501、第二判斷模塊502、存儲模塊503、用戶可疑度計算模塊504、第三判斷模塊505和防御處理模塊506。第一判斷模塊501,用于判斷用戶請求的WEB頁面是否是動態頁面,第一判斷模塊501之前還包括一個數據包捕獲處理模塊507,用于捕獲流入和流出目標服務器的數據包。第二判斷模塊502,用于判斷該請求用戶是否是新用戶,根據數據包中用戶的IP地址可以進行判斷,如果該用戶為新用戶則在存^^莫塊503里為其創建一個可疑數據表,否則利用用戶請求可疑度計算模塊504計算用戶請求可疑度;存儲模塊503,用于存儲每個用戶的源IP地址及其用戶請求可疑度,用戶請求可疑度的初始值是創建數據表時系統自動賦予的;用戶請求可疑度計算模塊504,用于計算用戶請求可疑度值;第三判斷模塊505,用于判斷是否需要啟動防御功能。實時監控WEB服務器CPU使用率,將CPU使用率與事先設定的第一閾值和第二閾值(第一閾值小于第二閾值)進行比較,如果CPU使用率大于笫一閾值并且小于第二閾值則根據所述存儲模塊中用戶請求可疑度的不同進行過濾,如果CPU使用率小于第一閾值則不啟動防御處理模塊506,滿足所有用戶的動態頁面請求,如果CPU使用率大于第二閾值則啟動過濾模塊5062過濾所有用戶的動態頁面請求,包括新用戶的請求。防御處理模塊506,用于根據存儲模塊503中可疑數據表中的信息對用戶請求進行過濾。防御處理模塊506包括第四判斷模塊5061和過濾模塊5062。第四判斷模塊5061用于判斷用戶請求可疑度是否大于事先設定的第三閾值,如果是則啟動過濾模塊5062阻止該用戶對動態頁面的請求。同時,防御處理模塊506也可以只包括過濾模塊5062。當CPU使用率大于第一閾值小于第二閾值時,啟動過濾模塊5062過濾掉用戶可疑度值最大的用戶的請求,然后繼續啟動第三判斷模塊505判斷CPU使用率是否仍然大于第一閾值小于第二閾值,如果是則繼續啟動過濾模塊5062過濾掉此時用戶可疑度值最大的用戶請求,直至CPU使用率小于第一閾值。本發明實施例CC攻擊防范裝置位于WEB服務器或者網絡的邊界路由器上。本發明實施例可以準確地識別CC攻擊,并且利用防御處理模塊506動態地采用相應的防雄卩措施,從而實現對目標主機的有效保護。可以通過程序來指令相關的硬件來完成,所述程序可以存儲于計算機可讀取存儲介質中,所述存儲介質為ROM/RAM、磁碟、光盤等。以上所述,僅為本發明較佳的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本
技術領域:
的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。權利要求1、一種挑戰黑洞攻擊防御方法,其特征在于,包括以下步驟:根據捕獲的數據包判斷用戶請求的WEB頁面是否是動態頁面;如果是動態頁面,則每個用戶對應一個用戶請求可疑度;根據所述用戶請求可疑度對用戶的動態頁面請求進行過濾。2、根據權利要求1所述的挑戰黑洞攻擊防御方法,其特征在于所述步驟如果是動態頁面,則每個用戶對應一個用戶請求可疑度包括如果是動態頁面則判斷是否是新用戶,如果是新用戶為該用戶賦用戶請求可疑度初始值,如果不是新用戶,計算用戶請求可疑度。3、根據權利要求1所述的挑戰黑洞攻擊防御方法,其特征在于所述用戶請求可疑度用可疑數據表存儲。4、根據權利要求1所述的挑戰黑洞攻擊防御方法,其特征在于所述用戶請求可疑度使用可疑度函數計算,所述可疑度函數使用用戶初次請求的響應時間及用戶請求目標服務器上動態頁面的次數計算用戶請求可疑度。5、根據權利要求4所述的挑戰黑洞攻擊防御方法,其特征在于所述用戶初次請求的響應時間為收到服務器返回狀態碼的時刻減去發送請求的時刻。6、根據權利要求4所述的挑戰黑洞攻擊防御方法,其特征在于所述用戶請求目標服務器上動態頁面的次數采用以下方法獲得為每個初次訪問用戶設置訪問次數計數器,并設置初始值Nip,當收到用戶新的動態頁面請求時,將用戶對應的Nip加1,所得到的Nip的值為所述用戶請求目標服務器上動態頁面的次數。7、根據權利要求1所述的挑戰黑洞攻擊防御方法,其特征在于所述根據所述可疑數據表中用戶請求可疑度的不同對用戶請求進行過濾步驟之前包括判斷是否需要啟動防御功能,若判斷需要啟動防御功能,則執行所述根據所述可疑數據表中的用戶請求可疑度對用戶的動態頁面請求進行過濾的步驟。8、根據權利要求7所述的挑戰黑洞攻擊防御方法,其特征在于,所述判斷是否需要啟動防御功能的步驟包括實時監控WEB服務器CPU使用率,將CPU使用率與事先設定的第一閾值和第二閾值進行比較,其中第一閾值小于第二閾值,如果CPU使用率大于第一閾值并且小于第二闊值則根據所述可疑數據表中用戶請求可疑度的不同對用戶的動態頁面請求進行過濾。9、根據權利要求1或8所述的挑戰黑洞攻擊防御方法,其特征在于,包括將用戶可疑度與事先設定的第三閾值進行比較,如果用戶可疑度大于該第三閾值則將這些用戶的動態頁面請求過濾掉,否則不過濾。10、根據權利要求9所述的挑戰黑洞攻擊防御方法,其特征在于,所述第三閾值隨著CPU使用率的不同而發生變化。11、根據權利要求10所述的挑戰黑洞攻擊防御方法,其特征在于,所述第三閾值隨著CPU使用率的變化而變化是指,CPU使用率升高,第三閾值增大,CPU使用率降低,第三閾值減小。12、根據權利要求8所述的挑戰黑洞攻擊防御方法,其特征在于,所述根據可疑數據表中用戶可疑度的不同對用戶的動態頁面請求進行過濾進一步包括首先過濾掉可疑數據表中用戶請求可疑度值最大的用戶的動態頁面請求,繼續監控CPU使用率,如果該使用率大于第一闊值小于第二閾值,則過濾掉可疑數據表中用戶請求可疑度值最大的用戶的動態頁面請求。13、一種挑戰黑洞攻擊防御裝置,其特征在于,包括第一判斷模塊,用于根據捕獲的數據包判斷用戶請求的WEB頁面是否是動態頁面,如果是動態頁面,則每個用戶對應一個用戶請求可疑度;用戶請求可疑度計算模塊,用于計算用戶請求的可疑度值;防御處理模塊,用于根據存儲模塊中存儲的用戶請求可疑度對用戶的動態頁面請求進行過濾。14、根據權利要求13所述的裝置,其特征在于還包括一個數據包捕獲處理模塊,用于捕獲流入和流出目標服務器的數據包。15、根據權利要求13所述的裝置,其特征在于還包括存儲模塊,用于存儲所述用戶請求可疑度計算模塊計算的用戶請求可疑度。16、根據權利要求13所述的裝置,其特征在于還包括第二判斷模塊,用于判斷所述請求用戶是否是新用戶,如果是則啟動用戶請求可疑度計算模塊給該新用戶賦用戶請求可疑度初始值,否則啟動用戶請求可疑度計算模塊計算當前用戶請求可疑度,在存儲模塊中更新所述用戶請求可疑度。17、根據權利要求13所述的裝置,其特征在于,還包括第三判斷模塊,用于判斷是否需要啟動防御功能,若判斷需要啟動防御功能則啟動所述防御處理模塊。18、根據權利要求17所述的裝置,其特征在于,所述第三判斷模塊用于實時監控WEB服務器CPU使用率,將CPU使用率與事先設定的第一閾值和第二閾值進行比較,其中第一閾值小于第二閾值,如果CPU使用率大于第一閾值并且小于第二閾值,則啟動所述防御處理模塊進行部分過濾,如果CPU使用率大于第二閾值則啟動所述防御處理模塊過濾所有用戶的動態頁面讀-,泉。19、根據權利要求18所述的裝置,其特征在于,所述防御處理模塊包括第四判斷模塊和過濾模塊,其中第四判斷模塊用于判斷用戶請求可疑度是否大于事先設定的第三閾值,如果是則啟動用戶請求過濾模塊阻止該用戶對動態頁面的請求;過濾模塊用于過濾用戶對目標服務器的動態頁面請求。20、根據權利要求19所述的裝置,其特征在于所述第三閾值隨著CPU使用率的變化而變化。21、根據權利要求20所述的裝置,其特征在于所述第三閾值隨著CPU使用率的變化而變化是指,CPU使用率升高,第三閾值增大,CPU使用率降低,第三閾值減小。22、根據權利要求17所述的裝置,其特征在于,所述防御處理模塊還用于啟動過濾模塊過濾用戶可疑度值最大的用戶的動態頁面請求,然后啟動所述第三判斷模塊。23、根據權利要求13所述的裝置,其特征在于,該裝置位于WEB服務器或者網絡的邊界路由器上。全文摘要本發明實施例提供了一種挑戰黑洞攻擊防御方法,包括以下步驟根據捕獲的數據包判斷用戶請求的WEB頁面是否是動態頁面;如果是動態頁面,則每個用戶對應一個用戶請求可疑度;根據所述用戶請求可疑度對用戶的動態頁面請求進行過濾。另外,本發明實施例還提供了一種挑戰黑洞攻擊防御裝置。利用本發明實施例的技術方案,可以準確地識別挑戰黑洞攻擊,并且動態地采用相應的防御措施,從而實現對目標主機的有效保護。文檔編號H04L29/06GK101383832SQ20081021668公開日2009年3月11日申請日期2008年10月7日優先權日2008年10月7日發明者烜張,莉楊,楊亞濤,谷勇浩,陽辛申請人:成都市華為賽門鐵克科技有限公司