一種防范dns洪水攻擊的裝置和方法
【專利摘要】本發(fā)明提供一種防范DNS洪水攻擊的裝置,應(yīng)用在網(wǎng)絡(luò)安全設(shè)備上,該裝置執(zhí)行以下處理流程步驟:A、在該網(wǎng)絡(luò)安全設(shè)備接收DNS請求報(bào)文后計(jì)算該報(bào)文攜帶的請求解析域名的域名級數(shù),轉(zhuǎn)步驟B;步驟B、更新當(dāng)前域名級數(shù)對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量,然后判斷更新后的所述報(bào)文統(tǒng)計(jì)數(shù)量是否符合預(yù)定的規(guī)則,如果否,則確定發(fā)生DNS攻擊,如果是,則轉(zhuǎn)步驟C;步驟C、判斷所述請求域名的級數(shù)是否小于等于2,如果是,則允許該DNS請求報(bào)文通過。通過本發(fā)明的技術(shù)方案,有效提升了網(wǎng)絡(luò)安全設(shè)備防范DNS洪水攻擊的能力,進(jìn)一步確保了網(wǎng)絡(luò)安全。
【專利說明】一種防范DNS洪水攻擊的裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù),尤其涉及一種防范DNS洪水攻擊的裝置和方法。
【背景技術(shù)】
[0002]DNS是域名系統(tǒng)(Domain Name System)的縮寫,它是由解析器和域名服務(wù)器組成的。域名服務(wù)器(DNS Server)是指保存有該網(wǎng)絡(luò)中所有主機(jī)的域名和對應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器。DNS解析域名的流程大體如下:首先由客戶端發(fā)起域名解析請求,本地DNS服務(wù)器收到該請求后,會在本地及緩存中查找,如果沒有找到,則會向上一級DNS服務(wù)器發(fā)起請求,上一級DNS服務(wù)器會將解析結(jié)果通過回應(yīng)報(bào)文返回給本地DNS服務(wù)器,此時(shí),本地DNS服務(wù)器將所述解析結(jié)果存入緩存,以便后續(xù)客戶端再次請求解析該域名的時(shí)候,可以直接返回解析結(jié)果,同時(shí)會將解析結(jié)果返回給本次請求解析該域名的客戶端。
[0003]近年來DNS攻擊事件屢屢發(fā)生,目前DNS洪水攻擊就是其中一個(gè)典型的攻擊。DNS洪水攻擊是一種基于特定應(yīng)用協(xié)議的UDP洪水攻擊,攻擊方向DNS服務(wù)器發(fā)送大量域域名請求報(bào)文,致使DNS服務(wù)器嚴(yán)重超載,無法繼續(xù)響應(yīng)正常用戶的DNS請求,從而達(dá)到攻擊的目的。
[0004]現(xiàn)有技術(shù)中,對DNS洪水攻擊的防護(hù)主要是根據(jù)域名來防護(hù)的,其基本處理流程是將DNS請求報(bào)文中攜帶的被解析域名解析出來,然后統(tǒng)計(jì)周期內(nèi)訪問次數(shù)或者訪問的數(shù)據(jù)量,正常的域名請求一般是在一個(gè)范圍內(nèi)的,如果超過此范圍,就認(rèn)為是攻擊報(bào)文,將此報(bào)文丟掉?,F(xiàn)有技術(shù)通過域名的防護(hù),只能對整個(gè)域名進(jìn)行防護(hù),比如域名WWW.google, com在其第三級www上離散變化,現(xiàn)有技術(shù)的防護(hù)過于單一,基本無效。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種防范DNS洪水攻擊的裝置和方法,以解決現(xiàn)有技術(shù)存在的不足。
[0006]具體地,所述裝置應(yīng)用在網(wǎng)絡(luò)安全設(shè)備上,該裝置包括:
[0007]級數(shù)計(jì)算模塊,用于在該網(wǎng)絡(luò)安全設(shè)備接收DNS請求報(bào)文后計(jì)算該報(bào)文攜帶的請求解析域名的域名級數(shù),轉(zhuǎn)數(shù)量判斷模塊處理;
[0008]數(shù)量判斷模塊,用于更新當(dāng)前域名級數(shù)對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量,然后判斷更新后的所述報(bào)文統(tǒng)計(jì)數(shù)量是否符合預(yù)定的規(guī)則,如果否,則確定發(fā)生DNS攻擊,如果是,則轉(zhuǎn)級數(shù)判斷模塊;
[0009]級數(shù)判斷模塊,用于判斷所述請求域名的級數(shù)是否小于等于2,如果是,則允許該DNS請求報(bào)文通過。
[0010]所述方法包括以下步驟:
[0011]步驟A、在該網(wǎng)絡(luò)安全設(shè)備接收DNS請求報(bào)文后計(jì)算該報(bào)文攜帶的請求解析域名的域名級數(shù),轉(zhuǎn)步驟B;
[0012]步驟B、更新當(dāng)前域名級數(shù)對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量,然后判斷更新后的所述報(bào)文統(tǒng)計(jì)數(shù)量是否符合預(yù)定的規(guī)則,如果否,則確定發(fā)生DNS攻擊,如果是,則轉(zhuǎn)步驟C ;
[0013]步驟C、判斷所述請求域名的級數(shù)是否小于等于2,如果是,則允許該DNS請求報(bào)文通過。
[0014]由以上技術(shù)方案可見,本發(fā)明通過判斷域名請求報(bào)文的統(tǒng)計(jì)數(shù)量進(jìn)而識別攻擊報(bào)文,有效地防范了 DNS洪水攻擊。
【專利附圖】
【附圖說明】
[0015]圖1是本發(fā)明一種實(shí)施方式的方法流程圖;
[0016]圖2是本發(fā)明一種實(shí)施方式的裝置邏輯圖。
【具體實(shí)施方式】
[0017]針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種防范DNS洪水攻擊的裝置和方法。為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述。
[0018]請參考圖1和圖2,在本發(fā)明一種優(yōu)選的實(shí)施方式中,所述裝置包括:級數(shù)計(jì)算模塊、數(shù)量判斷模塊以及級數(shù)判斷模塊。所述裝置執(zhí)行如下處理流程:
[0019]步驟101、在網(wǎng)絡(luò)安全設(shè)備接收DNS請求報(bào)文后,計(jì)算該報(bào)文攜帶的請求解析域名的域名級數(shù)。
[0020]域名是Internet地址中的一項(xiàng),與網(wǎng)絡(luò)上數(shù)字型IP地址相對應(yīng),用戶可以通過域名訪問其對應(yīng)的網(wǎng)站,相對于IP地址來講,便于記憶。域名可以分為不同的級別,包括頂級域名、二級域名、三級域名等等,舉例來說,域名WWW.abc.def.fhg.1jk.com是一個(gè)六級域名,其中com是該域名的第一級,ijk是第二級、fhg是第三級、def是第四級等等依次類推。
[0021]本步驟中,在接收到DNS請求報(bào)文后,首先從中獲取該報(bào)文攜帶的請求解析的域名,然后計(jì)算該域名的級數(shù)。本步驟由級數(shù)計(jì)算模塊執(zhí)行。
[0022]步驟102、判斷請求域名的域名級數(shù)是否大于配置的級數(shù),如果是,則將所述請求解析域名的域名級數(shù)更新為配置的級數(shù)。
[0023]所述配置的級數(shù)是管理員依據(jù)實(shí)際需要而配置的??梢匀峙渲靡粋€(gè)級數(shù),所有的域名都使用這個(gè)配置的級數(shù)來防護(hù)。也可以為某些重點(diǎn)域名單獨(dú)配置,比方說諸如百度、新浪等訪問量巨大的大型門戶網(wǎng)站可以單獨(dú)配置,舉例來說,需要為新浪配置四級防護(hù),就要將其中需要防護(hù)的域名諸如news.sina.com.cn, tech.sina.com.cn等錄入,以便后續(xù)判斷。本步驟中,在判斷的時(shí)候,優(yōu)先查看所述請求域名是否為單獨(dú)配置的域名,如果是就按照配置的級數(shù)比較,如果否就以全局配置的級數(shù)比較。
[0024]經(jīng)比較,如果所述請求解析域名的級數(shù)大于配置的級數(shù),那么將配置的級數(shù)賦予請求解析域名的域名級數(shù)進(jìn)行后續(xù)步驟,如果所述請求解析域名的域名級數(shù)小于配置的級數(shù),則還是以請求解析域名的域名級數(shù)進(jìn)行后續(xù)步驟。本步驟由級數(shù)計(jì)算模塊執(zhí)行。
[0025]步驟103、更新當(dāng)前域名級數(shù)對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量,然后判斷更新后的所述報(bào)文統(tǒng)計(jì)數(shù)量是否符合預(yù)定的規(guī)則。
[0026]在一種優(yōu)選的實(shí)施方式中,本步驟所述預(yù)定的規(guī)則是周期內(nèi)所述報(bào)文統(tǒng)計(jì)數(shù)量不超過配置的閾值。所述閾值是指在正常情況下,指定周期內(nèi)通過的DNS請求報(bào)文的最大數(shù)量,在優(yōu)選方式中,這個(gè)周期通常不大于I秒鐘。該閾值也是由管理員統(tǒng)一配置,具體地,管理員配置域名級數(shù)的同時(shí)為各域名級數(shù)配置對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量閾值,如果有單獨(dú)配置的域名防護(hù)級數(shù),也需要單獨(dú)為其配置報(bào)文統(tǒng)計(jì)數(shù)量的閾值。指定周期可以通過定時(shí)器來實(shí)現(xiàn),當(dāng)定時(shí)器超時(shí)的時(shí)候,可以將統(tǒng)計(jì)數(shù)量清零進(jìn)而在新的周期內(nèi)重新統(tǒng)計(jì)。
[0027]本步驟中,首先更新所述域名級數(shù)對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量,具體地,是將當(dāng)前的報(bào)文統(tǒng)計(jì)數(shù)量加1,然后和配置的閾值比較,如果沒有超過配置的閾值,說明此時(shí)的DNS請求報(bào)文統(tǒng)計(jì)數(shù)量在正常范圍內(nèi),沒有發(fā)生洪水攻擊,進(jìn)而轉(zhuǎn)步驟104 ;如果超過配置的閾值,說明此時(shí)DNS請求報(bào)文的統(tǒng)計(jì)數(shù)量已經(jīng)超過正常范圍,確認(rèn)發(fā)生DNS攻擊。此時(shí)可依據(jù)現(xiàn)有技術(shù)中的方法進(jìn)行處理,比方說可以丟掉所述DNS請求報(bào)文,也可以對報(bào)文進(jìn)行限速。本步驟由數(shù)量判斷模塊執(zhí)行。
[0028]步驟104、判斷所述請求域名的級數(shù)是否小于等于2,如果是,則允許所述DNS請求報(bào)文通過。
[0029]如果所述請求域名的級數(shù)等于2,則說明該DNS請求報(bào)文中攜帶的待解析的域名的二級域名已經(jīng)在步驟103中通過了驗(yàn)證,所以,就可以允許該DNS請求報(bào)文通過。通常在判斷的過程中,一級域名也就是頂級域名由于訪問量巨大,在一種優(yōu)選的實(shí)施方式中,可以不做防護(hù),所以判斷能否上報(bào)的域名級數(shù)設(shè)置為2。
[0030]本步驟中,如果所述請求域名的級數(shù)大于2,則將所述當(dāng)前域名級數(shù)減I后返回步驟103,直到所述請求域名的級數(shù)滿足小于等于2的條件時(shí),才允許所述DNS請求報(bào)文通過。本步驟由級數(shù)判斷模塊執(zhí)行。
[0031]上述步驟中,步驟104并不是必需的步驟。理論上來講,只要步驟103中經(jīng)判斷所述請求域名的級數(shù)的報(bào)文統(tǒng)計(jì)數(shù)量滿足要求,就能夠說明尚未發(fā)生攻擊行為,該DNS請求報(bào)文不應(yīng)視為攻擊報(bào)文,可以允許其通過。但是在實(shí)際應(yīng)用中,攻擊者可能會使用分布式攻擊,比方說攻擊者從下級域名入手,大量發(fā)送待解析的三級域名和四級域名的DNS請求報(bào)文,但其攻擊的目標(biāo)是二級域名,如果沒有步驟104的處理機(jī)制,則其中二級域名的報(bào)文統(tǒng)計(jì)數(shù)量就不會被更新,此時(shí),攻擊者只要發(fā)送少量甚至不放松針對二級域名的攻擊報(bào)文,那么其大部分的攻擊報(bào)文就會被允許通過,進(jìn)而間接地攻擊該二級域名。
[0032]通過以上描述可以看出,本發(fā)明通過設(shè)置各級域名的報(bào)文統(tǒng)計(jì)數(shù)量來防范DNS洪水攻擊報(bào)文,能夠有效地識別出攻擊者將大量攻擊報(bào)文分散開來,尤其是分散針對多個(gè)不同下級域名的攻擊報(bào)文的情況,這種攻擊分散度越高,則隱蔽性越強(qiáng),在傳統(tǒng)方式中,其所使用的攻擊報(bào)文由于過于分散,因此可以成功地隱藏在正常報(bào)文中,本發(fā)明則能夠有效地防范這種隱蔽性較強(qiáng)的分布式的DNS的攻擊,同時(shí)兼容現(xiàn)有僅僅針對特定技術(shù)域名的防范機(jī)制。
[0033]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種防范DNS洪水攻擊的裝置,應(yīng)用在網(wǎng)絡(luò)安全設(shè)備上,該裝置包括: 級數(shù)計(jì)算模塊,用于在該網(wǎng)絡(luò)安全設(shè)備接收DNS請求報(bào)文后計(jì)算該報(bào)文攜帶的請求解析域名的域名級數(shù),轉(zhuǎn)數(shù)量判斷模塊處理; 數(shù)量判斷模塊,用于更新當(dāng)前域名級數(shù)對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量,然后判斷更新后的所述報(bào)文統(tǒng)計(jì)數(shù)量是否符合預(yù)定的規(guī)則,如果否,則確定發(fā)生DNS攻擊,如果是,則轉(zhuǎn)級數(shù)判斷模塊; 級數(shù)判斷模塊,用于判斷所述請求域名的級數(shù)是否小于等于2,如果是,則允許該DNS請求報(bào)文通過。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述級數(shù)判斷模塊進(jìn)一步用于,在判斷所述請求域名的級數(shù)大于2時(shí),則將所述當(dāng)前域名級數(shù)減I后返回?cái)?shù)量判斷模塊。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述級數(shù)計(jì)算模塊進(jìn)一步用于,判斷請求解析域名的域名級數(shù)是否大于配置的級數(shù),如果是,則將所述請求解析域名的域名級數(shù)更新為配置的級數(shù)。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述預(yù)定的規(guī)則是周期內(nèi)所述報(bào)文統(tǒng)計(jì)數(shù)量不超過配置的閾值。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述周期不大于I秒鐘。
6.一種防范DNS洪水攻擊的方法,應(yīng)用在網(wǎng)絡(luò)安全設(shè)備上,該方法包括: 步驟A、在該網(wǎng)絡(luò)安全設(shè)備接收DNS請求報(bào)文后計(jì)算該報(bào)文攜帶的請求解析域名的域名級數(shù),轉(zhuǎn)步驟B ; 步驟B、更新當(dāng)前域名級數(shù)對應(yīng)的報(bào)文統(tǒng)計(jì)數(shù)量,然后判斷更新后的所述報(bào)文統(tǒng)計(jì)數(shù)量是否符合預(yù)定的規(guī)則,如果否,則確定發(fā)生DNS攻擊,如果是,則轉(zhuǎn)步驟C ; 步驟C、判斷所述請求域名的級數(shù)是否小于等于2,如果是,則允許該DNS請求報(bào)文通過。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟C進(jìn)一步包括:在判斷所述請求域名的級數(shù)大于2時(shí),則將所述當(dāng)前域名級數(shù)減I后返回步驟B。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟A進(jìn)一步包括:判斷請求解析域名的域名級數(shù)是否大于配置的級數(shù),如果是,則將所述請求解析域名的域名級數(shù)更新為配置的級數(shù)。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述預(yù)定的規(guī)則是周期內(nèi)所述報(bào)文統(tǒng)計(jì)數(shù)量不超過配置的閾值。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述周期不大于I秒鐘。
【文檔編號】H04L29/06GK104184585SQ201310205433
【公開日】2014年12月3日 申請日期:2013年5月28日 優(yōu)先權(quán)日:2013年5月28日
【發(fā)明者】賈彥龍 申請人:杭州迪普科技有限公司