應(yīng)用層DDoS防御方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)技術(shù),更為具體地,涉及應(yīng)用層DDoS防御技術(shù)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)的發(fā)展,大多數(shù)企業(yè)都會(huì)通過(guò)Web網(wǎng)站向用戶提供服務(wù)。因此,針對(duì)Web服務(wù)器的應(yīng)用層分布式拒絕服務(wù)(DDoS)攻擊就會(huì)威脅到網(wǎng)站的正常運(yùn)作,甚至造成用戶流失和利潤(rùn)損失。與傳統(tǒng)的DDoS攻擊不同,應(yīng)用層DDoS攻擊會(huì)使用真實(shí)IP與服務(wù)器建立正常TCP連接,且數(shù)據(jù)包與正常數(shù)據(jù)包格式相同,因此,傳統(tǒng)的針對(duì)數(shù)據(jù)包的特征匹配方法難以應(yīng)對(duì)應(yīng)用層DDoS攻擊。
[0003]目前應(yīng)用層DDoS的防御方法主要有三種:1.對(duì)請(qǐng)求主體進(jìn)行驗(yàn)證,該類方法的問(wèn)題在于圖片驗(yàn)證碼等驗(yàn)證方式影響了用戶體驗(yàn)的流暢度;2.針對(duì)IP和URL進(jìn)行請(qǐng)求頻率驗(yàn)證,該類方法在面對(duì)離散性DDoS攻擊時(shí)不能發(fā)現(xiàn)異常流量;3.對(duì)用戶的訪問(wèn)行為進(jìn)行建模分析以發(fā)現(xiàn)異常流量,該方法中防御所需的數(shù)據(jù)流量較大,導(dǎo)致該方法難以應(yīng)用在訪問(wèn)人員較多的網(wǎng)站上很難實(shí)現(xiàn)。
[0004]申請(qǐng)?zhí)枮镃N 201210139585.6的我國(guó)專利申請(qǐng)公開(kāi)了一種應(yīng)用層DDoS分布式拒絕服務(wù)攻擊防御方法。該申請(qǐng)的技術(shù)方案利用了針對(duì)IP和URL進(jìn)行請(qǐng)求頻率驗(yàn)證的方法,首先建立基準(zhǔn)矩陣,然后根據(jù)基準(zhǔn)矩陣來(lái)發(fā)現(xiàn)流量的異常。該方法需進(jìn)行大量的計(jì)算分析,還需要串聯(lián)網(wǎng)絡(luò)設(shè)備的支持,且面對(duì)離散性DDoS攻擊時(shí)并不能很好的防御。
[0005]申請(qǐng)?zhí)枮镃N 201310018798.8的我國(guó)專利申請(qǐng)公開(kāi)了一種針對(duì)網(wǎng)站的應(yīng)用層DDoS攻擊檢測(cè)方法和防御系統(tǒng)。該申請(qǐng)的技術(shù)方案利用對(duì)用戶的訪問(wèn)行為進(jìn)行建模分析。在業(yè)務(wù)網(wǎng)站較為龐大,訪問(wèn)用戶相對(duì)復(fù)雜時(shí),使用該方法并不能建立一個(gè)有效的模型,對(duì)合法用戶可能會(huì)造成誤傷,也達(dá)不到良好的防御效果。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明提供應(yīng)用層DDoS防御方法及系統(tǒng),以盡可能至少解決上述問(wèn)題中的一部分。
[0007]本發(fā)明提供的應(yīng)用層DDoS防御方法,其包括:a)設(shè)置在客戶端的信息收集模塊收集客戶端web瀏覽器的用戶動(dòng)作信息;b)客戶端向服務(wù)器發(fā)送第一次web請(qǐng)求,用以請(qǐng)求密鑰;c)服務(wù)器判定該第一次web請(qǐng)求是否合法,在判定合法的情況下,傳送密鑰給所述客戶端;d)客戶端向服務(wù)器發(fā)起第二次web請(qǐng)求,該第二次web請(qǐng)求由所述密鑰加密,且該第二次web請(qǐng)求包含所收集的用戶動(dòng)作信息字段;e)所述服務(wù)器接收第二次web請(qǐng)求,判定該第二次web請(qǐng)求中是否包含用戶動(dòng)作信息字段;f)在判定該第二次web請(qǐng)求中包含用戶動(dòng)作信息字段的情況下,確認(rèn)所述用戶動(dòng)作是否符合預(yù)定條件;g)在確認(rèn)所述用戶動(dòng)作在預(yù)定范圍內(nèi)的情況下,處理該第二次web請(qǐng)求。
[0008]可選地,所述的應(yīng)用層DDoS防御方法,其中,所述用戶動(dòng)作信息包括:鼠標(biāo)單位時(shí)間的移動(dòng)距離、提交表單之前的鼠標(biāo)確認(rèn)鍵的點(diǎn)擊次數(shù)、按下鍵盤回車鍵以提交表單請(qǐng)求之前的按鍵次數(shù)。
[0009]可選地,所述的應(yīng)用層DDoS防御方法,其中,所述步驟f)中確定所述用戶動(dòng)作是否符合預(yù)定條件包括:確定鼠標(biāo)單位時(shí)間的移動(dòng)距離大于移動(dòng)閾值m,所述鼠標(biāo)確認(rèn)鍵的點(diǎn)擊次數(shù)與按下鍵盤回車鍵以提交表單請(qǐng)求之前鍵盤Tab鍵的激活次數(shù)之和大于和閾值Cp,以及按下鍵盤回車鍵以提交表單請(qǐng)求之前字符按鍵次數(shù)大于按鍵閾值Lp。
[0010]可選地,所述的應(yīng)用層DDoS防御方法,其中,所述用戶動(dòng)作信息字段位于HTTP請(qǐng)求的頭部。
[0011 ] 可選地,所述的應(yīng)用層DDoS防御方法,還包括:設(shè)置動(dòng)態(tài)IP表,其包括黑名單與白名單,所述黑名單用于存放服務(wù)器認(rèn)為是非正常的IP地址,所述白名單用于存放正常請(qǐng)求加密密鑰的IP地址。
[0012]可選地,所述的應(yīng)用層DDoS防御方法,其中,所述步驟c)中服務(wù)器判定該第一次web請(qǐng)求是否合法包括:cl)判斷發(fā)出第一次web請(qǐng)求的IP地址是否在黑名單中,若是,貝Ij拋棄請(qǐng)求,若不在黑名單中,則c2)確定該IP地址是否在白名單中,若不在,則將該IP地址增加到該白名單,并將該第一次web請(qǐng)求判斷為合法,如確定該IP地址在白名單中,則c3)判斷該IP地址發(fā)出web請(qǐng)求的頻率是否已超過(guò)白名單頻率閾值,如是,則將該IP地址移到黑名單,否則,將該第一次web請(qǐng)求判斷為合法。
[0013]可選地,所述的應(yīng)用層DDoS防御方法,其中,在步驟c)服務(wù)器判定該第一次web請(qǐng)求不合法的情況下,停止本次處理,并將發(fā)出該請(qǐng)求的IP地址移至黑名單。
[0014]可選地,所述的應(yīng)用層DDoS防御方法,其中,在步驟e)判定該第二次web請(qǐng)求中不包含用戶動(dòng)作信息字段的情況下,停止本次處理,并將發(fā)送給第二次web請(qǐng)求的IP地址移至黑名單。
[0015]可選地,所述的應(yīng)用層DDoS防御方法,其中,所述客戶端對(duì)所述服務(wù)器的請(qǐng)求是通過(guò)Ajax技術(shù)實(shí)現(xiàn)。
[0016]根據(jù)本發(fā)明的又一方面,還提供應(yīng)用層DDoS防御系統(tǒng),其包括:信息收集模塊,其設(shè)置在客戶端,用于收集客戶端瀏覽器的用戶動(dòng)作信息;第一請(qǐng)求發(fā)送單元,其設(shè)置在客戶端,用于向服務(wù)器發(fā)送第一次web請(qǐng)求,以請(qǐng)求密鑰;第一判斷單元,其設(shè)置在服務(wù)器,用于判定該第一次web請(qǐng)求是否合法,以便所述服務(wù)器在判定合法的情況下傳送密鑰給所述客戶端;第二請(qǐng)求發(fā)送單元,其設(shè)置在客戶端,用于向所述服務(wù)器發(fā)起第二次web請(qǐng)求,該第二次web請(qǐng)求由所述密鑰加密,且該第二次web請(qǐng)求包含所收集的用戶動(dòng)作信息字段;第二判斷單元,其設(shè)置在所述服務(wù)器,用于判定所述服務(wù)器所接收的該第二次web請(qǐng)求中是否包含用戶動(dòng)作信息字段;第三判斷單元,其設(shè)置在所述服務(wù)器,在所述第二判斷單元的判斷結(jié)果為該第二次web請(qǐng)求中包含用戶動(dòng)作信息字段的情況下,確認(rèn)所述用戶動(dòng)作是否符合預(yù)定條件;處理單元,其設(shè)置在所述服務(wù)器,用于在所述第三判斷單元確認(rèn)所述用戶動(dòng)作在預(yù)定范圍內(nèi)的情況下,處理該第二次web請(qǐng)求。
[0017]可選地,所述的應(yīng)用層DDoS防御系統(tǒng),其中,所述用戶動(dòng)作信息包括:鼠標(biāo)單位時(shí)間的移動(dòng)距離、提交表單之前的鼠標(biāo)確認(rèn)鍵的點(diǎn)擊次數(shù)、按下鍵盤回車鍵以提交表單請(qǐng)求之前的按鍵次數(shù)。
[0018]可選地,所述的應(yīng)用層DDoS防御系統(tǒng),其中,所述第三判斷單元根據(jù)鼠標(biāo)單位時(shí)間的移動(dòng)距離是否大于移動(dòng)閾值m,所述鼠標(biāo)確認(rèn)鍵的點(diǎn)擊次數(shù)與按下鍵盤回車鍵以提交表單請(qǐng)求之前鍵盤Tab鍵的激活次數(shù)之和是否大于和閾值Cp,以及按下鍵盤回車鍵以提交表單請(qǐng)求之前字符按鍵次數(shù)是否大于按鍵閾值Lp來(lái)確定所述用戶動(dòng)作是否符合預(yù)定條件。
[0019]可選地,所述的應(yīng)用層DDoS防御系統(tǒng),其中,還包括表單設(shè)置單元,其用于設(shè)置動(dòng)態(tài)IP表,該動(dòng)態(tài)IP表包括黑名單與白名單,所述黑名單用于存放服務(wù)器認(rèn)為是非正常的IP地址,所述白名單用于存放正常請(qǐng)求加密密鑰的IP地址。
[0020]可選地,所述的應(yīng)用層DDoS防御系統(tǒng),其中,所述第一判斷單元包括第一判斷子單元、第二判斷子單元以及第三判斷子單元,且:第一判斷子單元設(shè)置成用于判斷發(fā)出第一次web請(qǐng)求的IP地址是否在黑名單中,若是,則拋棄請(qǐng)求,若不在黑名單中,則將該信息通知第二判斷子單元,所述第二判斷子單元用于確定該IP地址是否在白名單中,若不在,則將該IP地址增加到該白名單,并將該第一次web請(qǐng)求判斷為合法,如確定該IP地址在白名單中,將該信息發(fā)送給所述第三判斷子單元,所述第三判斷子單元用于判斷該IP地址發(fā)出web請(qǐng)求的頻率是否已超過(guò)白名單頻率閾值,如是,則將該IP地址移到黑名單,否則,將該第一次web請(qǐng)求判斷為合法。
[0021]根據(jù)本發(fā)明的各示例,可在不影響web業(yè)務(wù)、不降低用戶體驗(yàn)的情況下對(duì)DDoS攻擊進(jìn)行有效防御,從而確保web網(wǎng)站的正常運(yùn)行。
【附圖說(shuō)明】
[0022]圖1是根據(jù)本發(fā)明示例的應(yīng)用層DDoS防御方法的流程圖。
[0023]圖2是應(yīng)用層DDoS防御系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]現(xiàn)在參照附圖描述本發(fā)明的示意性示例。相同的附圖標(biāo)號(hào)表示相同的元件。下文描述的各實(shí)施例有助于本領(lǐng)域技術(shù)人員透徹理解本發(fā)明,且意在示例而非限制。除非另有限定,文中使用的術(shù)語(yǔ)(包括科學(xué)、技術(shù)和行業(yè)術(shù)語(yǔ))具有與本發(fā)明所屬領(lǐng)域的技術(shù)人員普遍理解的含義相同的含義。此外,流程圖中各步驟的先后順序也不以圖示的順序?yàn)橄蕖?br>[0025]圖1是根據(jù)本發(fā)明示例的應(yīng)用層DDoS防御方法的流程圖。該方法執(zhí)行在包括客戶端與服務(wù)器的應(yīng)用環(huán)境中,其中該客戶端與該服務(wù)器是通信連接的。該客戶端可通過(guò)其上的web網(wǎng)頁(yè)向web服務(wù)器發(fā)起請(qǐng)求,以要求相應(yīng)的服務(wù)。在本文各示例中,客戶端是可接入網(wǎng)絡(luò)的、可供用戶使用的各種電子設(shè)備,服務(wù)器則是可通過(guò)網(wǎng)絡(luò)與客戶端交互的電子設(shè)備;其中,該客戶端例如為手機(jī)、平板電腦、筆記本電腦、臺(tái)式電腦等,而該服務(wù)器例如為臺(tái)式電腦,也不排除服務(wù)器為筆記本電腦、平板電腦、甚至手機(jī)等。這都取決于具體的應(yīng)用環(huán)境。
[0026]如圖1所示,在步驟10,設(shè)置在客戶端的信息收集模塊收集客戶端瀏覽器的用