專利名稱:防范cc攻擊的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù),特別涉及防范挑戰(zhàn)黑洞(CC :ChalIengeCollapsar)攻 擊的方法和設(shè)備。
背景技術(shù):
隨著計(jì)算機(jī)網(wǎng)絡(luò)尤其是因特網(wǎng)(Internet)在全球的普及和深入,計(jì)算機(jī)網(wǎng)絡(luò)技 術(shù)在各行各業(yè)中得到推廣和普及。然而,網(wǎng)絡(luò)應(yīng)用的快速發(fā)展以及網(wǎng)絡(luò)規(guī)模的急劇膨脹,使 得網(wǎng)絡(luò)中的安全漏洞無處不在,網(wǎng)絡(luò)攻擊正是利用這些存在的安全漏洞對目標(biāo)服務(wù)器進(jìn)行 攻擊。近年來流行的CC攻擊就是網(wǎng)絡(luò)攻擊的一種。所謂CC攻擊是一種基于頁面的分布式拒絕服務(wù)(DDOS :DistributedDenial of Service)攻擊,其通過不斷發(fā)送耗性能的請求報(bào)文來消耗目標(biāo)服務(wù)器的性能資源,CC攻擊 的原理如圖1所示,攻擊者利用網(wǎng)絡(luò)中的多臺代理服務(wù)器多次向目標(biāo)服務(wù)器發(fā)送耗性能的 請求報(bào)文,導(dǎo)致目標(biāo)服務(wù)器不斷執(zhí)行大量計(jì)算,很快達(dá)到自身的處理能力極限,從而拒絕所 有用戶的服務(wù)請求。從單個CC攻擊來看,CC攻擊者對目標(biāo)服務(wù)器的攻擊與合法用戶發(fā)送請求報(bào)文訪 問目標(biāo)服務(wù)器完全一樣。如此,目標(biāo)服務(wù)器并不能正確區(qū)分接收的請求報(bào)文哪些是CC攻 擊者發(fā)送的請求報(bào)文,哪些是合法用戶發(fā)送的請求報(bào)文。針對這種情況,現(xiàn)有的防范CC攻 擊的方法是在被保護(hù)的目標(biāo)服務(wù)器之前設(shè)置安全設(shè)備,由安全設(shè)備控制單位時間內(nèi)訪問目 標(biāo)服務(wù)器的請求報(bào)文的個數(shù),即在單位時間內(nèi)只允許預(yù)設(shè)值N個請求報(bào)文來訪問目標(biāo)服務(wù) 器。但是,這種現(xiàn)有的防范CC攻擊的方法中,如果N比較大,就可能會導(dǎo)致過多的CC攻擊 者發(fā)送的請求報(bào)文混入,如此,不能對CC攻擊進(jìn)行有效的防范;而如果N比較小,就會導(dǎo)致 合法用戶的訪問受到限制,達(dá)到了攻擊者讓服務(wù)器拒絕服務(wù)的目的??梢钥闯?,一種有效防范CC攻擊的方法是當(dāng)前亟待解決的技術(shù)問題。
發(fā)明內(nèi)容
本發(fā)明提供了一種防范CC攻擊的方法和設(shè)備,以便有效防范CC攻擊,實(shí)現(xiàn)對目標(biāo) 服務(wù)器的有效保護(hù)。—種防范CC攻擊的方法,在客戶端和被保護(hù)的目標(biāo)服務(wù)器之間設(shè)置安全設(shè)備;所 述安全設(shè)備執(zhí)行以下步驟A,接收到來自客戶端發(fā)送的請求報(bào)文時,確定該接收的請求報(bào)文所攜帶的動作標(biāo) 識1 ;B,從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的 閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值,根據(jù)確定的閾值判斷當(dāng)前單位時間 內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,如果是,在當(dāng)前單位時間內(nèi)將所述請求報(bào)文 發(fā)送給所述目標(biāo)服務(wù)器;否則,在當(dāng)前單位時間內(nèi)丟棄所述請求報(bào)文。一種防范CC攻擊的設(shè)備,該設(shè)備設(shè)置在被保護(hù)的目標(biāo)服務(wù)器之前,包括動作標(biāo)識確定單元、判斷單元、發(fā)送單元和丟棄單元;
所述動作標(biāo)識確定單元用于接收來自客戶端發(fā)送的請求報(bào)文,確定該接收的請求 報(bào)文所攜帶的動作標(biāo)識1 ;所述判斷單元用于從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo) 識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值,根據(jù)確定的閾值判 斷當(dāng)前單位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器;所述發(fā)送單元用于在所述判斷單元的判斷結(jié)果為是時,在當(dāng)前單位時間內(nèi)發(fā)送所 述請求報(bào)文給所述目標(biāo)服務(wù)器;所述丟棄單元用于在所述判斷單元的判斷結(jié)果為否時,在當(dāng)前單位時間內(nèi)丟棄所 述請求報(bào)文。由以上技術(shù)方案可以看出,本發(fā)明提供的防范CC攻擊的方法和設(shè)備中,在客戶端 和被保護(hù)的目標(biāo)服務(wù)器之間設(shè)置安全設(shè)備;當(dāng)安全設(shè)備接收到來自客戶端發(fā)送的請求報(bào)文 時,確定該接收的請求報(bào)文所攜帶的動作標(biāo)識1 ;從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單 位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾 值,根據(jù)確定的閾值判斷當(dāng)前單位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,如果 是,在當(dāng)前單位時間內(nèi)將所述請求報(bào)文發(fā)送給所述目標(biāo)服務(wù)器;否則,在當(dāng)前單位時間內(nèi)丟 棄所述請求報(bào)文。這種方式有針對性的對攜帶各個動作標(biāo)識的各個請求報(bào)文進(jìn)行限制,相 比于現(xiàn)有技術(shù),能夠有效防范CC攻擊,實(shí)現(xiàn)對目標(biāo)服務(wù)器的有效保護(hù)。
圖1為現(xiàn)有技術(shù)中CC攻擊的示意圖;圖2是本發(fā)明實(shí)施例中防范CC攻擊的基本流程圖;圖3a是本發(fā)明實(shí)施例中防范CC攻擊的詳細(xì)流程圖;圖北是本發(fā)明實(shí)施例中配置動作標(biāo)識和目標(biāo)服務(wù)器執(zhí)行該動作標(biāo)識對應(yīng)的動作 的閾值之間對應(yīng)關(guān)系的流程圖;圖4是本發(fā)明實(shí)施例中防范CC攻擊的設(shè)備結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對 本發(fā)明進(jìn)行詳細(xì)描述。本發(fā)明實(shí)施例在客戶端和被保護(hù)的目標(biāo)服務(wù)器之間設(shè)置安全設(shè)備,該安全設(shè)備所 執(zhí)行的主要方法可以如圖2所示,主要包括以下步驟步驟201,接收到來自客戶端發(fā)送的請求報(bào)文時,確定接收的請求報(bào)文攜帶的動作 標(biāo)識。這里,請求報(bào)文攜帶的動作標(biāo)識與目標(biāo)服務(wù)器在接收到該動作標(biāo)識時所執(zhí)行的動 作對應(yīng)。通常,動作標(biāo)識可用數(shù)字代碼或者關(guān)鍵字等來表示,比如,動作標(biāo)識010201表示目 標(biāo)服務(wù)器執(zhí)行檢索數(shù)據(jù)庫的動作,動作標(biāo)識010202表示目標(biāo)服務(wù)器執(zhí)行數(shù)據(jù)排序輸出的 動作等。這里,為便于描述,將步驟201確定出的動作標(biāo)識記為動作標(biāo)識1。步驟202,從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值,根據(jù)確定的閾值判斷當(dāng)前單 位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,如果是,執(zhí)行步驟203;否則,執(zhí)行步 驟 204。這里,單位時間可為1秒或者為1分鐘,本發(fā)明實(shí)施例并不具體限定。目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的閾值具體實(shí)現(xiàn)時可有多種形 式,比如,可為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的個數(shù)閾值或者為用于表 示攜帶該動作標(biāo)識的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值等,本發(fā)明實(shí)施例并不具體 限定,其中,根據(jù)確定的閾值判斷當(dāng)前單位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù) 器的具體操作可參見圖3a所示的步驟30 至步驟308a,這里不再詳述。步驟203,在當(dāng)前單位時間內(nèi)將所述請求報(bào)文發(fā)送給所述目標(biāo)服務(wù)器。這里,本步驟203中發(fā)送的請求報(bào)文攜帶了動作標(biāo)識1。步驟204,在當(dāng)前單位時間內(nèi)丟棄所述請求報(bào)文。
至此,實(shí)現(xiàn)了本發(fā)明實(shí)施例提供的方法的基本流程。為使本發(fā)明實(shí)施例提供的方法更加清楚,下面結(jié)合具體實(shí)施例對上述方法進(jìn)行詳 細(xì)描述。參見圖3a,圖3a為本發(fā)明實(shí)施例提供的詳細(xì)方法流程圖。如圖3a所示,該方法可 以包括以下步驟步驟301a,預(yù)先配置動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作 的閾值之間的對應(yīng)關(guān)系。這里,步驟301a中的對應(yīng)關(guān)系的配置操作具體可參見圖北所示,包括步驟301b,針對目標(biāo)服務(wù)器能夠執(zhí)行的每一動作,判斷目標(biāo)服務(wù)器執(zhí)行該動作 所耗費(fèi)的時間是否大于等于預(yù)設(shè)的耗費(fèi)時間,如果是,則執(zhí)行步驟30 ;否則,執(zhí)行步驟 302b。通常,目標(biāo)服務(wù)器的管理員對目標(biāo)服務(wù)器的性能都有一定的了解,比如,了解目標(biāo) 服務(wù)器能夠執(zhí)行的各個動作(其中,該動作具體用動作標(biāo)識來表示,比如表示該動作的特 征碼或者關(guān)鍵字),以及執(zhí)行各個動作所耗費(fèi)的時間等,如此,本發(fā)明實(shí)施例中,可根據(jù)管理 員對目標(biāo)服務(wù)器性能的了解確定出目標(biāo)服務(wù)器能夠執(zhí)行的各個動作,以及執(zhí)行各個動作時 所耗費(fèi)的時間。之后,針對每一動作,判斷目標(biāo)服務(wù)器執(zhí)行該動作所耗費(fèi)的時間是否大于等 于預(yù)設(shè)的耗費(fèi)時間,其中,預(yù)設(shè)的耗耗費(fèi)時間可為預(yù)先獲知的所有耗費(fèi)時間的平均值,或者 為設(shè)定的一個固定值比如0. 001秒或者為其他值,本發(fā)明實(shí)施例并不具體限定。為便于描 述,這里將耗費(fèi)時間大于等于預(yù)設(shè)的耗費(fèi)時間的動作記為動態(tài)動作,而將耗費(fèi)時間小于預(yù) 設(shè)的耗費(fèi)時間的動作記為靜態(tài)動作。步驟302b,配置該動作對應(yīng)的動作標(biāo)識和表示攜帶該動作標(biāo)識的請求報(bào)文直接發(fā) 送給目標(biāo)服務(wù)器的標(biāo)識值之間的對應(yīng)關(guān)系。這里,步驟302b是在步驟301b判斷出該動作為靜態(tài)動作時執(zhí)行的。本步驟302b 之所以在確定出靜態(tài)動作后,配置該靜態(tài)動作的標(biāo)識對應(yīng)的閾值為表示攜帶該靜態(tài)動作標(biāo) 識的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值,是因?yàn)殪o態(tài)動作耗費(fèi)目標(biāo)服務(wù)器的時間比 較短,相應(yīng)地,耗費(fèi)目標(biāo)服務(wù)器的性能資源也會比較少,通常攻擊者為達(dá)到攻擊目標(biāo)服務(wù)器 的目的,不會發(fā)送由目標(biāo)服務(wù)器執(zhí)行靜態(tài)動作的請求報(bào)文,因此,本實(shí)施例可在接收到攜帶靜態(tài)動作標(biāo)識的請求報(bào)文后,直接發(fā)送該請求報(bào)文給目標(biāo)服務(wù)器,即設(shè)置該靜態(tài)動作標(biāo)識 對應(yīng)的閾值為用于表示攜帶該靜態(tài)動作標(biāo)識的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值。 這里標(biāo)識值可為數(shù)值“0”,也可為一個以上的字符,本發(fā)明實(shí)施例并不具體限定。至此,結(jié)束 與該動作有關(guān)的對應(yīng)關(guān)系的配置。步驟30北,確定目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作的最大個數(shù)。之后,執(zhí)行步驟 304b。這里,步驟30 是在步驟301b判斷出該動作為動態(tài)動作時執(zhí)行的。其中,目標(biāo)服 務(wù)器單位時間內(nèi)執(zhí)行該動作的最大個數(shù)具體為單位時間與該動作的耗費(fèi)時間的比值。比 如,若目標(biāo)服務(wù)器能夠執(zhí)行的動態(tài)動作分別為動作1和動作2,其中,動作1和動作2的耗費(fèi) 時間分別為0. 01秒和0. 005秒,如果單位時間為秒,則目標(biāo)服務(wù)器每秒內(nèi)最多執(zhí)行1/0. 01 =100個動作1和1/0. 005 = 200個動作2,也就是說,目標(biāo)服務(wù)器每秒內(nèi)執(zhí)行動作1的最 大個數(shù)為1/0. 01 = 100,執(zhí)行動作2的最大個數(shù)為1/0. 005 = 200。步驟304b,按照單位時間內(nèi)不使目標(biāo)服務(wù)器的總性能資源完全被消耗的原則設(shè)置 單位時間內(nèi)該動作占用目標(biāo)服務(wù)器的性能資源值。這里,該動作的性能資源值為該動作單 位時間內(nèi)被允許占用目標(biāo)服務(wù)器的性能資源與目標(biāo)服務(wù)器總性能資源的比值。比如,若目標(biāo)服務(wù)器能夠執(zhí)行的動作分別為動作1和動作2,則可按照步驟304b中 的原則分別設(shè)置單位時間內(nèi)動作1和動作2占用目標(biāo)服務(wù)器的性能資源值,比如,設(shè)置動作 1單位時間內(nèi)占用目標(biāo)服務(wù)器的性能資源值為30%,設(shè)置動作2單位時間內(nèi)占用目標(biāo)服務(wù) 器的性能資源值為20%。這里,為保證目標(biāo)服務(wù)器的靈活性,本步驟304b中,可設(shè)置單位時間內(nèi)各個動作 占用目標(biāo)服務(wù)器的性能資源值的總和小于100%。步驟30 ,確定目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作的最大個數(shù)和設(shè)置的該動作單 位時間內(nèi)占用目標(biāo)服務(wù)器的性能資源值的乘積為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作的個 數(shù)閾值。比如,若目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作1的最大個數(shù)為100,步驟304b中設(shè)置出 單位時間內(nèi)動作1占用目標(biāo)服務(wù)器的性能資源值為30%,則本步驟30 中目標(biāo)服務(wù)器單位 時間內(nèi)執(zhí)行動作1的個數(shù)閾值為100*30%= 30,也就是說,目標(biāo)服務(wù)器單位時間內(nèi)最多只 能執(zhí)行30個動作1。如此,通過上述步驟30 至步驟30 ,實(shí)現(xiàn)了目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行各個動 態(tài)動作對應(yīng)的個數(shù)閾值的操作。步驟306b,配置該動作對應(yīng)的動作標(biāo)識與目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作的個 數(shù)閾值之間的對應(yīng)關(guān)系。至此,通過上述步驟30 至步驟306b實(shí)現(xiàn)了與動態(tài)動作有關(guān)的對應(yīng)關(guān)系的配置。步驟30 ,安全設(shè)備接收到請求報(bào)文時,確定該請求報(bào)文攜帶的動作標(biāo)識。本實(shí)施例中,為便于描述,將步驟30 確定的請求報(bào)文攜帶的動作標(biāo)識記為動作 標(biāo)識1。這里,請求報(bào)文的格式可與現(xiàn)有技術(shù)中HTTP請求報(bào)文的格式類似。為便于描述, 這里以請求報(bào)文為HTTP請求報(bào)文為例。需要說明的是,通常,有些客戶端發(fā)送的HTTP請求報(bào)文可能沒有攜帶動作標(biāo)識,本實(shí)施例中,針對不攜帶動作標(biāo)識的HTTP請求報(bào)文,可直接發(fā)送該HTTP請求報(bào)文給目標(biāo)服 務(wù)器;或者,預(yù)先設(shè)置目標(biāo)服務(wù)器單位時間內(nèi)處理的請求報(bào)文的總數(shù)閾值,其中,該總數(shù)閾 值為目標(biāo)服務(wù)器單位時間內(nèi)處理的請求報(bào)文的最大個數(shù),由網(wǎng)絡(luò)帶寬資源確定,目的是為 了保證網(wǎng)絡(luò)不出現(xiàn)擁塞現(xiàn)象,如此,可先判斷當(dāng)前所處的單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器 的HTTP請求報(bào)文的總數(shù)是否達(dá)到預(yù)設(shè)的總數(shù)閾值,如果是,則執(zhí)行下述步驟307a,如果否, 在當(dāng)前時間內(nèi)將該接收的HTTP請求報(bào)文發(fā)送給目標(biāo)服務(wù)器。步驟303a,判斷步驟301a配置的對應(yīng)關(guān)系中是否存在動作標(biāo)識1,如果是,執(zhí)行步 驟3(Ma ;否則,執(zhí)行步驟309a。步驟30 ,確定動作標(biāo)識1對應(yīng)的閾值為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1 對應(yīng)的動作的個數(shù)閾值還是為用于表示攜帶動作標(biāo)識1的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù) 器的標(biāo)識值,如果是個數(shù)閾值,則執(zhí)行步驟306a ;如果是標(biāo)識值,則執(zhí)行步驟30fe。步驟30 ,在當(dāng)前單位時間內(nèi)將攜帶了動作標(biāo)識1的HTTP請求報(bào)文發(fā)送給目標(biāo)服務(wù)器。優(yōu)選地,如果本實(shí)施例預(yù)先設(shè)置了目標(biāo)服務(wù)器單位時間內(nèi)處理的請求報(bào)文的總數(shù) 閾值,則本步驟30 具體為判斷當(dāng)前單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的所有HTTP請求報(bào) 文的總數(shù)是否達(dá)到預(yù)設(shè)的總數(shù)閾值,如果是,執(zhí)行下述步驟307a,否則,發(fā)送該接收的攜帶 了動作標(biāo)識1的HTTP請求報(bào)文給目標(biāo)服務(wù)器。至此,結(jié)束當(dāng)前接收的報(bào)文訪問目標(biāo)服務(wù)器 的流程。步驟306a,判斷當(dāng)前所處的單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的攜帶了動作標(biāo)識1 的HTTP請求報(bào)文的個數(shù)是否達(dá)到所述對應(yīng)關(guān)系中動作標(biāo)識1對應(yīng)的個數(shù)閾值,如果是,執(zhí) 行步驟307a ;否則,執(zhí)行步驟308a。需要說明的是,本領(lǐng)域技術(shù)人員知道,CC攻擊者為隱蔽身份,通常經(jīng)由客戶端和安 全設(shè)備之間設(shè)置的代理服務(wù)器發(fā)送HTTP請求報(bào)文,為有效防范CC攻擊,本實(shí)施例步驟301a 中預(yù)先配置的對應(yīng)關(guān)系中如果動作標(biāo)識對應(yīng)的閾值為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo) 識對應(yīng)的動作的個數(shù)閾值,則該個數(shù)閾值具體可包含不經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的攜帶該動作 標(biāo)識的請求報(bào)文的第一個數(shù)閾值和經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的攜帶該動作標(biāo)識的請求報(bào)文的 第二個數(shù)閾值;其中,由于CC攻擊者通常經(jīng)由代理服務(wù)器發(fā)送HTTP請求報(bào)文,可設(shè)置第一 個數(shù)閾值大于等于第二個數(shù)閾值。這里,經(jīng)由代理服務(wù)器發(fā)送的HTTP請求報(bào)文通常含有特征字段 Χ-Forwarded-FOR,而不經(jīng)由代理服務(wù)器發(fā)送的HTTP請求報(bào)文一般不含有特征字 段X-Forwarded-FOR,因此,可根據(jù)當(dāng)前接收的HTTP請求報(bào)文是否含有特征字段 Χ-Forwarded-FOR來確定經(jīng)由代理服務(wù)器發(fā)送的HTTP請求報(bào)文和不經(jīng)由代理服務(wù)器發(fā)送 的HTTP請求報(bào)文。如此,步驟306a可包括判斷接收的攜帶了動作標(biāo)識1的請求報(bào)文是經(jīng) 由代理服務(wù)器發(fā)送的還是不經(jīng)由代理服務(wù)器發(fā)送的,如果是經(jīng)由代理服務(wù)器發(fā)送的,則判 斷當(dāng)前單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否達(dá)到動作標(biāo)識1對應(yīng)的第二個數(shù) 閾值;如果是,執(zhí)行步驟307a ;否則,執(zhí)行步驟308a ;如果是不經(jīng)由代理服務(wù)器發(fā)送的,則判 斷當(dāng)前單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否達(dá)到動作標(biāo)識1對應(yīng)的第一個數(shù) 閾值,如果是,執(zhí)行步驟307a ;否則,執(zhí)行步驟308a。步驟307a,在當(dāng)前單位時間內(nèi)丟棄接收的HTTP請求報(bào)文。至此,結(jié)束當(dāng)前接收的報(bào)文訪問目標(biāo)服務(wù)器的流程。步驟308a,在當(dāng)前單位時間內(nèi)發(fā)送HTTP請求報(bào)文給目標(biāo)服務(wù)器。如果本實(shí)施例預(yù)先設(shè)置了目標(biāo)服務(wù)器單位時間內(nèi)處理的請求報(bào)文的總數(shù)閾值,則 本步驟308a具體包括判斷當(dāng)前所處的單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的所有請求報(bào)文 的總數(shù)是否達(dá)到預(yù)設(shè)的總數(shù)閾值,如果是,執(zhí)行上述步驟307a的操作;否則,發(fā)送該接收的 HTTP請求報(bào)文給目標(biāo)服務(wù)器。其中,在發(fā)送接收的HTTP請求報(bào)文給目標(biāo)服務(wù)器時,安全設(shè) 備為便于獲知當(dāng)前單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的HTTP請求報(bào)文的個數(shù)和動作標(biāo)識1 的個數(shù),還可進(jìn)一步對發(fā)送的HTTP請求報(bào)文攜帶的動作標(biāo)識1和對發(fā)送的HTTP請求報(bào)文 進(jìn)行計(jì)數(shù)。至此,結(jié)束當(dāng)前接收的報(bào)文訪問目標(biāo)服務(wù)器的流程。步驟309a,記錄接收到該HTTP請求報(bào)文的時間,之后,將該HTTP請求報(bào)文發(fā)送給 目標(biāo)服務(wù)器。執(zhí)行到本步驟309a時,如果本實(shí)施例預(yù)先設(shè)置了目標(biāo)服務(wù)器單位時間內(nèi)處理的 請求報(bào)文的總數(shù)閾值,則本步驟309a還需要判斷當(dāng)前所處的單位時間內(nèi)已發(fā)送給目標(biāo)服 務(wù)器的所有請求報(bào)文的總數(shù)是否達(dá)到預(yù)設(shè)的總數(shù)閾值,如果是,丟棄該接收的HTTP請求報(bào) 文給目標(biāo)服務(wù)器;否則,發(fā)送該接收的HTTP請求報(bào)文給目標(biāo)服務(wù)器。這里以當(dāng)前所處的單 位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的所有請求報(bào)文的總數(shù)還未達(dá)到預(yù)設(shè)的總數(shù)閾值為例進(jìn)行 描述。如此,目標(biāo)服務(wù)器可接收到HTTP請求報(bào)文,之后,根據(jù)該HTTP請求報(bào)文攜帶的動作 標(biāo)識1執(zhí)行相應(yīng)的動作,當(dāng)完成該HTTP請求報(bào)文攜帶的動作標(biāo)識1對應(yīng)的動作后,返回該 HTTP請求報(bào)文對應(yīng)的響應(yīng)報(bào)文。本步驟309a是在步驟303a判斷出步驟301a配置的對應(yīng)關(guān)系中不存在動作標(biāo)識 1時執(zhí)行的,之所以出現(xiàn)這種情況,主要是因?yàn)楦鶕?jù)步驟301a中的描述可以知道步驟301a 配置的對應(yīng)關(guān)系主要依賴于管理員對目標(biāo)服務(wù)器的了解,如果管理員不了解目標(biāo)服務(wù)器還 能執(zhí)行動作標(biāo)識1對應(yīng)的動作,則步驟303a就會判斷出步驟301a配置的對應(yīng)關(guān)系中不存 在動作標(biāo)識1,如此,執(zhí)行本步驟309a。需要說明的是,如果本步驟309a中HTTP請求報(bào)文是CC攻擊者發(fā)送的報(bào)文,由于 CC攻擊者剛開始并不知道哪一動作比較消耗目標(biāo)服務(wù)器的性能資源,因此,其需要通過發(fā) 送HTTP請求報(bào)文來學(xué)習(xí)哪一動作比較消耗目標(biāo)服務(wù)器的性能資源;之后,根據(jù)學(xué)習(xí)的結(jié)果 才會連續(xù)不斷地發(fā)送消耗目標(biāo)服務(wù)器的性能資源比較大的請求報(bào)文。也就是說,CC攻擊者 由于事先不知道消耗目標(biāo)服務(wù)器性能資源比較大的動作,因此,在其學(xué)習(xí)過程中不可能連 續(xù)不斷地發(fā)送HTTP請求報(bào)文,如此,本實(shí)施例可以趁攻擊者學(xué)習(xí)的時機(jī)確定出耗性能比較 大的動作,并設(shè)置單位時間內(nèi)該動作的個數(shù)閾值,具體參見步驟310a至步驟313a。步驟310a,接收目標(biāo)服務(wù)器所返回的響應(yīng)報(bào)文,記錄接收到該響應(yīng)報(bào)文的時間。步驟311a,根據(jù)記錄的接收到響應(yīng)報(bào)文的時間和與該響應(yīng)報(bào)文對應(yīng)的HTTP請求 報(bào)文的時間,計(jì)算目標(biāo)服務(wù)器執(zhí)行該HTTP請求報(bào)文攜帶的動作標(biāo)識1對應(yīng)的動作耗費(fèi)的時 間。本步驟311a中,安全設(shè)備可按照現(xiàn)有技術(shù)確定出接收的HTTP響應(yīng)報(bào)文與已接收 的哪一個HTTP請求報(bào)文對應(yīng),之后,查找到已記錄的與該HTTP響應(yīng)報(bào)文對應(yīng)的HTTP請求 報(bào)文的時間。
這里,步驟311a中計(jì)算的動作標(biāo)識1對應(yīng)的動作的耗費(fèi)時間具體可為記錄的接收 到響應(yīng)報(bào)文的時間和與該響應(yīng)報(bào)文對應(yīng)的且攜帶了動作標(biāo)識1的HTTP請求報(bào)文的時間的差值。步驟312a,判斷步驟311a計(jì)算出的耗費(fèi)時間是否大于等于預(yù)設(shè)的耗費(fèi)時間,如果 是,執(zhí)行步驟313a ;否則,執(zhí)行步驟3Ha。步驟313a,確定動作標(biāo)識1和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作 的個數(shù)閾值之間的對應(yīng)關(guān)系,將該得到的對應(yīng)關(guān)系添加到預(yù)先配置的對應(yīng)關(guān)系中。這里,步驟313a中確定對應(yīng)關(guān)系的操作具體實(shí)現(xiàn)時可與圖北所示的步驟30 至 步驟306b類似,具體包括步驟1,根據(jù)計(jì)算出的耗費(fèi)時間確定目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該HTTP請求報(bào)文 攜帶的動作標(biāo)識對應(yīng)的動作的最大個數(shù)。這里,步驟313a中的確定操作與圖北中的步驟30 中的操作類似,這里不再贅 述。步驟2,根據(jù)已設(shè)置的各個動作的性能資源值并按照單位時間內(nèi)不使目標(biāo)服務(wù)器 的性能資源完全被消耗的原則,設(shè)置接收的HTTP請求報(bào)文攜帶的動作標(biāo)識1對應(yīng)的動作的 性能資源值。這里,根據(jù)步驟304b中的描述,可以知道,配置對應(yīng)關(guān)系時所設(shè)置的各個動作占 用目標(biāo)服務(wù)器的性能資源值的總和并沒有完全占用目標(biāo)服務(wù)器的性能資源,因此,執(zhí)行到 本步驟2時,可從目標(biāo)服務(wù)器剩下的性能資源中設(shè)置接收的HTTP請求報(bào)文所攜帶的動作標(biāo) 識1對應(yīng)的動作的性能資源值。當(dāng)然,若目標(biāo)服務(wù)器剩下的性能資源中沒有足夠的性能資 源提供給接收的HTTP請求報(bào)文所攜帶的動作標(biāo)識1對應(yīng)的動作,則按照單位時間內(nèi)不使目 標(biāo)服務(wù)器的性能資源完全被消耗的原則重新設(shè)置對應(yīng)關(guān)系中所有動作和動作標(biāo)識1對應(yīng) 的動作所占用的性能資源值;或者有選擇性地從對應(yīng)關(guān)系中比較空閑且不經(jīng)常用的動作所 占用的性能資源值中抽取一部分性能資源給動作標(biāo)識1對應(yīng)的動作。具體情況具體分析, 這里并不限定。步驟3,將確定的最大個數(shù)和設(shè)置的性能資源值的乘積確定為請求報(bào)文攜帶的動 作標(biāo)識1對應(yīng)的個數(shù)閾值。需要說明的是,動作標(biāo)識1對應(yīng)的個數(shù)閾值也可由目標(biāo)服務(wù)器的管理員手工設(shè) 置。如此,只需安全設(shè)備提供確定的目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該HTTP請求報(bào)文攜帶的動 作標(biāo)識1對應(yīng)的動作的最大個數(shù)和計(jì)算出的耗費(fèi)時間給管理員;若需要同時提供多個HTTP 請求報(bào)文攜帶的動作標(biāo)識對應(yīng)的動作的最大個數(shù)和對應(yīng)的耗費(fèi)時間,則優(yōu)選地,本發(fā)明實(shí) 施例可按照耗費(fèi)時間的大小順序提供。之后,管理員按照上述步驟1至步驟3確定動作標(biāo) 識1對應(yīng)的個數(shù)閾值。其中,在管理員進(jìn)行設(shè)置時,可由該管理員在特定的客戶端上設(shè)置, 之后,由該特定客戶端將設(shè)置的信息加密,交由安全設(shè)備管理。步驟4,得到動作標(biāo)識1和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的個 數(shù)閾值之間的對應(yīng)關(guān)系。至此,結(jié)束確定動作標(biāo)識1和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo) 識1對應(yīng)的動作的個數(shù)閾值之間的對應(yīng)關(guān)系的操作。步驟314a,確定動作標(biāo)識1和用于表示攜帶動作標(biāo)識1的請求報(bào)文直接發(fā)送給目 標(biāo)服務(wù)器的標(biāo)識值之間的對應(yīng)關(guān)系,將該確定的對應(yīng)關(guān)系添加到預(yù)先配置的對應(yīng)關(guān)系中。
如此,通過上述操作實(shí)現(xiàn)了本發(fā)明實(shí)施例提供的防范CC攻擊的方法。需要說明的是,本領(lǐng)域技術(shù)人員知道,同一個合法用戶通常不會連續(xù)發(fā)送多個含 有相同動作標(biāo)識的HTTP請求報(bào)文,比如,如果單位時間為秒,即同一個合法用戶通常不會 在每兩秒發(fā)送2個以上含有相同動作標(biāo)識的HTTP請求報(bào)文,因此,為進(jìn)一步有效防范CC攻 擊,可設(shè)置目標(biāo)服務(wù)器處理來自同一源地址的且攜帶了同一動作標(biāo)識的請求報(bào)文的時間間 隔,比如設(shè)置每隔兩個單位時間處理1個來自源地址1,且攜帶了動作標(biāo)識1的請求報(bào)文,因 此,在步驟30 和步驟308b執(zhí)行發(fā)送HTTP請求報(bào)文操作時,針對當(dāng)前要發(fā)送的HTTP請求 報(bào)文,比如該HTTP請求報(bào)文攜帶的源地址為源地址2,動作標(biāo)識為動作標(biāo)識2,則判斷上一 次發(fā)送的攜帶了源地址2和動作標(biāo)識2的HTTP請求報(bào)文的時間是否與當(dāng)前時間相隔兩個 單位時間,如果是,發(fā)送該HTTP請求報(bào)文;否則,不發(fā)送該HTTP請求報(bào)文。如此,通過上述 操作,對CC攻擊進(jìn)行了更進(jìn)一步的防范。上述是對本發(fā)明實(shí)施例提供的方法進(jìn)行的描述,下面對本發(fā)明實(shí)施例提供的設(shè)備 進(jìn)行描述。參見圖4,圖4為本發(fā)明實(shí)施例提供的防范CC攻擊的設(shè)備結(jié)構(gòu)圖。如圖4所示,該 設(shè)備設(shè)置在被保護(hù)的目標(biāo)服務(wù)器之前,包括動作標(biāo)識確定單元401、判斷單元402、發(fā)送單 元403和丟棄單元404。其中,動作標(biāo)識確定單元401用于接收來自客戶端發(fā)送的請求報(bào)文,確定該接收 的請求報(bào)文所攜帶的動作標(biāo)識1 ;判斷單元402用于從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo) 識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值,根據(jù)確定的閾值判 斷當(dāng)前單位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器;發(fā)送單元403用于在判斷單元402的判斷結(jié)果為是時,在當(dāng)前單位時間內(nèi)發(fā)送攜 帶了動作標(biāo)識1的請求報(bào)文給所述目標(biāo)服務(wù)器;這里,如果本實(shí)施例預(yù)先設(shè)置了目標(biāo)服務(wù) 器單位時間內(nèi)處理的請求報(bào)文的總數(shù)閾值,則發(fā)送單元403首先判斷當(dāng)前所處的單位時間 內(nèi)已發(fā)送給目標(biāo)服務(wù)器的請求報(bào)文的總數(shù)是否達(dá)到預(yù)設(shè)的總數(shù)閾值,所述總數(shù)閾值為目標(biāo) 服務(wù)器單位時間內(nèi)處理的請求報(bào)文的最大個數(shù),由網(wǎng)絡(luò)帶寬資源確定;如果否,在當(dāng)前單位 時間內(nèi)發(fā)送攜帶了動作標(biāo)識1的請求報(bào)文給目標(biāo)服務(wù)器;否則,觸發(fā)丟棄單元404執(zhí)行在當(dāng) 前單位時間內(nèi)丟棄確定單元401接收的攜帶了動作標(biāo)識1的請求報(bào)文的操作。丟棄單元404用于在判斷單元402的判斷結(jié)果為否時,在當(dāng)前單位時間內(nèi)丟棄確 定單元401接收的攜帶了動作標(biāo)識1的請求報(bào)文。本實(shí)施例中,預(yù)先配置的對應(yīng)關(guān)系中動作標(biāo)識對應(yīng)的閾值具體為如果目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識對應(yīng)的動作所耗費(fèi)的時間大于等于 預(yù)設(shè)的耗費(fèi)時間,則該動作標(biāo)識對應(yīng)的閾值為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識對應(yīng) 的動作的個數(shù)閾值;如果目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識對應(yīng)的動作所耗費(fèi)的時間 小于預(yù)設(shè)的耗費(fèi)時間,則該動作標(biāo)識對應(yīng)的閾值為用于表示攜帶該動作標(biāo)識的請求報(bào)文直 接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值?;谶@種情況,如圖4所示,本實(shí)施例提供了判斷單元402 的一種結(jié)構(gòu)圖,如圖4所示,判斷單元402具體包括閾值確定模塊4021、第一判斷模塊 4022和第二判斷模塊4023,其中,閾值確定模塊4021,用于從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值;以及在第一判 斷模塊4022的判斷結(jié)果為標(biāo)識值時,或者在第二判斷模塊4023的判斷結(jié)果為是時,確定當(dāng) 前單位時間內(nèi)將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,在第二判斷模塊4023的判斷結(jié)果為否 時,確定當(dāng)前單位時間內(nèi)不將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器。第一判斷模塊4022用于判斷閾值確定模塊4021確定的閾值為目標(biāo)服務(wù)器單位時 間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的個數(shù)閾值還是為用于表示攜帶該動作標(biāo)識的請求報(bào)文 直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值;第二判斷模塊4023在第一判斷模塊4022的判斷結(jié)果為個數(shù)閾值時,判斷當(dāng)前已 發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否達(dá)到該動作標(biāo)識1對應(yīng)的個數(shù)閾值。本實(shí)施例中,這 里,動作標(biāo)識1對應(yīng)的個數(shù)閾值可包含不經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的攜帶動作標(biāo)識1的請求報(bào) 文的第一個數(shù)閾值和經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的攜帶動作標(biāo)識1的請求報(bào)文的第二個數(shù)閾值; 所述第一個數(shù)閾值大于等于第二個數(shù)閾值,所述不經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的請求報(bào)文為不攜 帶特征字段X-Forwarded-FOR的請求報(bào)文,經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的請求報(bào)文為攜帶特征字 段X-Forwarded-FOR的請求報(bào)文;如此,第二判斷模塊4023的判斷具體為在接收的攜帶 了動作標(biāo)識1的請求報(bào)文是不經(jīng)由代理服務(wù)器發(fā)送時,判斷當(dāng)前單位時間內(nèi)已發(fā)送給目標(biāo) 服務(wù)器的動作標(biāo)識1是否達(dá)到動作標(biāo)識1對應(yīng)的第一個數(shù)閾值;在接收的攜帶了動作標(biāo)識 1的請求報(bào)文是經(jīng)由代理服務(wù)器發(fā)送時,則判斷當(dāng)前單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的動 作標(biāo)識1是否達(dá)到動作標(biāo)識1對應(yīng)的第二個數(shù)閾值。優(yōu)選地,如圖4所示,該設(shè)備還可包括耗費(fèi)時間確定單元405和更新單元406。其中,耗費(fèi)時間確定單元405用于在預(yù)先配置的對應(yīng)關(guān)系中不存在動作標(biāo)識確定 單元401確定的動作標(biāo)識1時,確定目標(biāo)服務(wù)器執(zhí)行動作標(biāo)識1對應(yīng)的動作所耗費(fèi)的時間, 這里,耗費(fèi)時間確定單元405確定耗費(fèi)時間的方法具體為記錄接收到請求報(bào)文的時間,將 該請求報(bào)文發(fā)送給所述目標(biāo)服務(wù)器;以及記錄接收到所述目標(biāo)服務(wù)器根據(jù)所述請求報(bào)文攜 帶的動作標(biāo)識1完成相應(yīng)的動作后返回的與該請求報(bào)文對應(yīng)的響應(yīng)報(bào)文的時間;根據(jù)記錄 的接收到請求報(bào)文的時間和接收到與該請求報(bào)文對應(yīng)的響應(yīng)報(bào)文的時間計(jì)算所述目標(biāo)服 務(wù)器執(zhí)行該請求報(bào)文攜帶的動作標(biāo)識1對應(yīng)的動作所耗費(fèi)的時間。更新單元406用于根據(jù)耗費(fèi)時間確定單元405確定的耗費(fèi)時間確定動作標(biāo)識1和 目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系,將確定的對應(yīng) 關(guān)系更新到所述預(yù)先配置的對應(yīng)關(guān)系中。如圖4所示,更新單元406具體可包括第三判斷模塊4061,用于判斷耗費(fèi)時間確定單元405確定的耗費(fèi)時間是否大于等 于預(yù)設(shè)的耗費(fèi)時間;第一對應(yīng)關(guān)系確定模塊4062,用于在第三判斷模塊4061的判斷結(jié)果為是時,根據(jù) 確定的耗費(fèi)時間確定目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行所述動作標(biāo)識1對應(yīng)的動作的最大個數(shù), 按照單位時間內(nèi)不使目標(biāo)服務(wù)器的性能資源完全被消耗的原則,設(shè)置單位時間內(nèi)動作標(biāo)識 1對應(yīng)的動作占用目標(biāo)服務(wù)器的性能資源值,所述動作標(biāo)識1對應(yīng)的動作占用目標(biāo)服務(wù)器 的性能資源值為動作標(biāo)識1對應(yīng)的動作單位時間內(nèi)占用目標(biāo)服務(wù)器的性能資源與目標(biāo)服 務(wù)器的總性能資源的比值;將確定的最大個數(shù)和設(shè)置的性能資源值的乘積確定為動作標(biāo)識 1對應(yīng)的個數(shù)閾值;得到動作標(biāo)識1和對應(yīng)的個數(shù)閾值之間的對應(yīng)關(guān)系;
第二對應(yīng)關(guān)系確定模塊4063,用于在第三判斷模塊4061的判斷結(jié)果為否時,確定 動作標(biāo)識1和用于表示攜帶動作標(biāo)識1的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值之間的 對應(yīng)關(guān)系。由以上技術(shù)方案可以看出,本發(fā)明提供的防范CC攻擊的方法和設(shè)備中,在客戶端 和被保護(hù)的目標(biāo)服務(wù)器之間設(shè)置安全設(shè)備;當(dāng)安全設(shè)備接收到來自客戶端發(fā)送的請求報(bào)文 時,確定該接收的請求報(bào)文所攜帶的動作標(biāo)識1 ;從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單 位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾 值,根據(jù)確定的閾值判斷當(dāng)前單位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,如果 是,在當(dāng)前單位時間內(nèi)將所述請求報(bào)文發(fā)送給所述目標(biāo)服務(wù)器;否則,在當(dāng)前單位時間內(nèi)丟 棄所述請求報(bào)文。這種方式有針對性的對攜帶各個動作標(biāo)識的各個請求報(bào)文進(jìn)行限制,相 比于現(xiàn)有技術(shù),能夠有效防范CC攻擊,實(shí)現(xiàn)對目標(biāo)服務(wù)器的有效保護(hù)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種防范CC攻擊的方法,其特征在于,在客戶端和被保護(hù)的目標(biāo)服務(wù)器之間設(shè)置安 全設(shè)備;所述安全設(shè)備執(zhí)行以下步驟A,接收到來自客戶端發(fā)送的請求報(bào)文時,確定該接收的請求報(bào)文所攜帶的動作標(biāo)識1 ;B,從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的閾值 之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值,根據(jù)確定的閾值判斷當(dāng)前單位時間內(nèi)是 否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,如果是,在當(dāng)前單位時間內(nèi)將所述請求報(bào)文發(fā)送 給所述目標(biāo)服務(wù)器;否則,在當(dāng)前單位時間內(nèi)丟棄所述請求報(bào)文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)先配置的對應(yīng)關(guān)系中動作標(biāo)識對 應(yīng)的閾值為如果目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識對應(yīng)的動作所耗費(fèi)的時間大于等于預(yù)設(shè) 的耗費(fèi)時間,則該動作標(biāo)識對應(yīng)的閾值為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識對應(yīng)的動 作的個數(shù)閾值;如果目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識對應(yīng)的動作所耗費(fèi)的時間小于預(yù)設(shè)的耗 費(fèi)時間,則該動作標(biāo)識對應(yīng)的閾值為用于表示攜帶該動作標(biāo)識的請求報(bào)文直接發(fā)送給目標(biāo) 服務(wù)器的標(biāo)識值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟B中根據(jù)確定的閾值判斷當(dāng)前單 位時間內(nèi)是否要將請求報(bào)文發(fā)送給目標(biāo)服務(wù)器包括判斷確定的閾值為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的個數(shù)閾值還 是為用于表示攜帶動作標(biāo)識1的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值,如果是標(biāo)識值,則確定當(dāng)前單位時間內(nèi)要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器; 如果是個數(shù)閾值,則判斷當(dāng)前已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否達(dá)到該動作標(biāo)識 1對應(yīng)的個數(shù)閾值,如果是,確定當(dāng)前單位時間內(nèi)要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,否 則,確定當(dāng)前單位時間內(nèi)不將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟B中,如果預(yù)先配置的對應(yīng)關(guān)系 中不存在動作標(biāo)識1,則確定目標(biāo)服務(wù)器執(zhí)行動作標(biāo)識1對應(yīng)的動作所耗費(fèi)的時間,包括Bi,記錄接收到請求報(bào)文的時間,之后,發(fā)送該請求報(bào)文給所述目標(biāo)服務(wù)器; B2,接收所述目標(biāo)服務(wù)器返回的與該請求報(bào)文對應(yīng)的響應(yīng)報(bào)文,記錄接收到該響應(yīng)報(bào) 文的時間;B3,根據(jù)記錄的接收到請求報(bào)文的時間和接收到與該請求報(bào)文對應(yīng)的響應(yīng)報(bào)文的時間 計(jì)算目標(biāo)服務(wù)器執(zhí)行動作標(biāo)識1對應(yīng)的動作所耗費(fèi)的時間。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在確定出動作標(biāo)識1對應(yīng)的動作所耗費(fèi)的 時間后,進(jìn)一步包括B4,根據(jù)確定的耗費(fèi)時間確定動作標(biāo)識1和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對 應(yīng)的動作的閾值之間的對應(yīng)關(guān)系,將確定的對應(yīng)關(guān)系更新到所述預(yù)先配置的對應(yīng)關(guān)系中。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟B4中確定對應(yīng)關(guān)系包括 B41,判斷確定的耗費(fèi)時間是否大于等于預(yù)設(shè)的耗費(fèi)時間,如果是,執(zhí)行步驟B42;否則,執(zhí)行步驟B43;B42,確定動作標(biāo)識1和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的個數(shù)閾值之間的對應(yīng)關(guān)系;B43,確定動作標(biāo)識1和用于表示攜帶動作標(biāo)識1的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的 標(biāo)識值之間的對應(yīng)關(guān)系。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟B42包括Cl,根據(jù)確定的耗費(fèi)時間確定目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的最 大個數(shù);C2,按照單位時間內(nèi)不使目標(biāo)服務(wù)器的性能資源完全被消耗的原則,設(shè)置單位時間內(nèi) 動作標(biāo)識1對應(yīng)的動作占用目標(biāo)服務(wù)器的性能資源值,所述性能資源值為動作標(biāo)識1對應(yīng) 的動作單位時間內(nèi)占用目標(biāo)服務(wù)器的性能資源與目標(biāo)服務(wù)器的總性能資源的比值;C3,將確定的最大個數(shù)和設(shè)置的性能資源值的乘積確定為動作標(biāo)識1對應(yīng)的個數(shù)閾 值;得到動作標(biāo)識1和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的個數(shù)閾值之間 的對應(yīng)關(guān)系。
8.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述動作標(biāo)識1對應(yīng)的個數(shù)閾值包含不 經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的攜帶動作標(biāo)識1的請求報(bào)文的第一個數(shù)閾值和經(jīng)由代理服務(wù)器轉(zhuǎn) 發(fā)的攜帶動作標(biāo)識1的請求報(bào)文的第二個數(shù)閾值,所述第一個數(shù)閾值大于等于第二個數(shù)閾 值,所述不經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的請求報(bào)文為不攜帶特征字段X-Forwarded-FOR的請求報(bào) 文,經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的請求報(bào)文為攜帶特征字段X-Forwarded-FOR的請求報(bào)文;所述判斷當(dāng)前已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否達(dá)到該動作標(biāo)識1對應(yīng)的個數(shù)閾 值包括如果接收的攜帶了動作標(biāo)識1的請求報(bào)文是不經(jīng)由代理服務(wù)器發(fā)送的,則判斷當(dāng)前單 位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否未達(dá)到動作標(biāo)識1對應(yīng)的第一個數(shù)閾值; 如果接收的攜帶了動作標(biāo)識1的請求報(bào)文是經(jīng)由代理服務(wù)器發(fā)送的,則判斷當(dāng)前單位時間 內(nèi)已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否未達(dá)到動作標(biāo)識1對應(yīng)的第二個數(shù)閾值。
9.根據(jù)權(quán)利要求1至8任一所述的方法,其特征在于,發(fā)送請求報(bào)文給目標(biāo)服務(wù)器包括判斷當(dāng)前所處的單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的請求報(bào)文的總數(shù)是否達(dá)到預(yù)設(shè)的 總數(shù)閾值,所述總數(shù)閾值為目標(biāo)服務(wù)器單位時間內(nèi)處理的請求報(bào)文的最大個數(shù),由網(wǎng)絡(luò)帶 寬資源確定;如果否,發(fā)送請求報(bào)文給目標(biāo)服務(wù)器;否則,在當(dāng)前所處的單位時間內(nèi)不發(fā)送 該請求報(bào)文。
10.一種防范CC攻擊的設(shè)備,其特征在于,該設(shè)備設(shè)置在被保護(hù)的目標(biāo)服務(wù)器之前,包 括動作標(biāo)識確定單元、判斷單元、發(fā)送單元和丟棄單元;所述動作標(biāo)識確定單元用于接收來自客戶端發(fā)送的請求報(bào)文,確定該接收的請求報(bào)文 所攜帶的動作標(biāo)識1 ;所述判斷單元用于從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對 應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值,根據(jù)確定的閾值判斷當(dāng) 前單位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器;所述發(fā)送單元用于在所述判斷單元的判斷結(jié)果為是時,在當(dāng)前單位時間內(nèi)發(fā)送所述請 求報(bào)文給所述目標(biāo)服務(wù)器;所述丟棄單元用于在所述判斷單元的判斷結(jié)果為否時,在當(dāng)前單位時間內(nèi)丟棄所述請求報(bào)文。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其特征在于,所述預(yù)先配置的對應(yīng)關(guān)系中動作標(biāo)識 對應(yīng)的閾值為如果目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識對應(yīng)的動作所耗費(fèi)的時間大于 等于預(yù)設(shè)的耗費(fèi)時間,則該動作標(biāo)識對應(yīng)的閾值為目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該動作標(biāo)識 對應(yīng)的動作的個數(shù)閾值;如果目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行該述動作標(biāo)識對應(yīng)的動作所耗費(fèi) 的時間小于預(yù)設(shè)的耗費(fèi)時間,則該動作標(biāo)識對應(yīng)的閾值為用于表示攜帶該動作標(biāo)識的請求 報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值;所述判斷單元包括閾值確定模塊、第一判斷模塊和第二判斷模塊;其中,所述閾值確定模塊用于從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo) 識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值;以及在所述第一判 斷模塊的判斷結(jié)果為標(biāo)識值時,或者在所述第二判斷模塊的判斷結(jié)果為是時,確定當(dāng)前單 位時間內(nèi)將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,在所述第二判斷模塊的判斷結(jié)果為否時,確 定當(dāng)前單位時間內(nèi)不將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器;所述第一判斷模塊用于判斷所述閾值確定模塊確定的閾值為目標(biāo)服務(wù)器單位時間內(nèi) 執(zhí)行動作標(biāo)識1對應(yīng)的動作的個數(shù)閾值還是為用于表示攜帶該動作標(biāo)識的請求報(bào)文直接 發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值;第二判斷模塊在所述第一判斷模塊的判斷結(jié)果為個數(shù)閾值時,判斷當(dāng)前已發(fā)送給目標(biāo) 服務(wù)器的動作標(biāo)識1是否達(dá)到該動作標(biāo)識1對應(yīng)的個數(shù)閾值。
12.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,該設(shè)備還包括耗費(fèi)時間確定單元,用于在預(yù)先配置的對應(yīng)關(guān)系中不存在所述動作標(biāo)識確定單元確定 的動作標(biāo)識1時,確定目標(biāo)服務(wù)器執(zhí)行動作標(biāo)識1對應(yīng)的動作所耗費(fèi)的時間;更新單元,用于根據(jù)所述耗費(fèi)時間確定單元確定的耗費(fèi)時間確定動作標(biāo)識1和目標(biāo)服 務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系,將確定的對應(yīng)關(guān)系更 新到所述預(yù)先配置的對應(yīng)關(guān)系中。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其特征在于,所述更新單元包括第三判斷模塊,用于判斷所述耗費(fèi)時間確定單元確定的耗費(fèi)時間是否大于等于預(yù)設(shè)的 耗費(fèi)時間;第一對應(yīng)關(guān)系確定模塊,用于在所述第三判斷模塊的判斷結(jié)果為是時,根據(jù)確定的耗 費(fèi)時間確定目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的最大個數(shù),按照單位時間 內(nèi)不使目標(biāo)服務(wù)器的性能資源完全被消耗的原則,設(shè)置單位時間內(nèi)動作標(biāo)識1對應(yīng)的動作 占用目標(biāo)服務(wù)器的性能資源值,所述性能資源值為動作標(biāo)識1對應(yīng)的動作單位時間內(nèi)占用 目標(biāo)服務(wù)器的性能資源與目標(biāo)服務(wù)器的總性能資源的比值;將確定的最大個數(shù)和設(shè)置的性 能資源值的乘積確定為動作標(biāo)識1對應(yīng)的個數(shù)閾值;得到動作標(biāo)識1和目標(biāo)服務(wù)器單位時 間內(nèi)執(zhí)行動作標(biāo)識1對應(yīng)的動作的個數(shù)閾值之間的對應(yīng)關(guān)系;第二對應(yīng)關(guān)系確定模塊,用于在所述第三判斷模塊的判斷結(jié)果為否時,確定動作標(biāo)識1 和用于表示攜帶動作標(biāo)識1的請求報(bào)文直接發(fā)送給目標(biāo)服務(wù)器的標(biāo)識值之間的對應(yīng)關(guān)系。
14.根據(jù)權(quán)利要求11所述的設(shè)備,其特征在于,所述動作標(biāo)識1對應(yīng)的個數(shù)閾值包含不 經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的攜帶動作標(biāo)識1的請求報(bào)文的第一個數(shù)閾值和經(jīng)由代理服務(wù)器轉(zhuǎn) 發(fā)的攜帶動作標(biāo)識1的請求報(bào)文的第二個數(shù)閾值;所述第一個數(shù)閾值大于等于第二個數(shù)閾值,所述不經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的請求報(bào)文為不攜帶特征字段X-Forwarded-FOR的請求報(bào) 文,經(jīng)由代理服務(wù)器轉(zhuǎn)發(fā)的請求報(bào)文為攜帶特征字段X-Forwarded-FOR的請求報(bào)文;所述第二判斷模塊在接收的攜帶了動作標(biāo)識1的請求報(bào)文是不經(jīng)由代理服務(wù)器發(fā)送 時,判斷當(dāng)前單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否達(dá)到動作標(biāo)識1對應(yīng)的第 一個數(shù)閾值;在接收的攜帶了動作標(biāo)識1的請求報(bào)文是經(jīng)由代理服務(wù)器發(fā)送時,則判斷當(dāng) 前單位時間內(nèi)已發(fā)送給目標(biāo)服務(wù)器的動作標(biāo)識1是否達(dá)到動作標(biāo)識1對應(yīng)的第二個數(shù)閾 值。
全文摘要
本發(fā)明公開了一種防范CC攻擊的方法和設(shè)備,在被保護(hù)的目標(biāo)服務(wù)器之前設(shè)置安全設(shè)備;該安全設(shè)備執(zhí)行以下步驟接收到來自客戶端發(fā)送的請求報(bào)文時,確定該接收的請求報(bào)文所攜帶的動作標(biāo)識1;從預(yù)先配置的動作標(biāo)識和目標(biāo)服務(wù)器單位時間內(nèi)執(zhí)行動作標(biāo)識對應(yīng)的動作的閾值之間的對應(yīng)關(guān)系中確定出動作標(biāo)識1對應(yīng)的閾值,根據(jù)確定的閾值判斷當(dāng)前單位時間內(nèi)是否要將所述請求報(bào)文發(fā)送給目標(biāo)服務(wù)器,如果是,在當(dāng)前單位時間內(nèi)將所述請求報(bào)文發(fā)送給所述目標(biāo)服務(wù)器;否則,在當(dāng)前單位時間內(nèi)丟棄所述請求報(bào)文。采用本發(fā)明,能夠有效防范CC攻擊,實(shí)現(xiàn)對目標(biāo)服務(wù)器的有效保護(hù)。
文檔編號H04L9/00GK102045327SQ20091023581
公開日2011年5月4日 申請日期2009年10月9日 優(yōu)先權(quán)日2009年10月9日
發(fā)明者韓艷輝 申請人:杭州華三通信技術(shù)有限公司