一種dns攻擊檢測方法及裝置的制造方法
【專利摘要】本申請?zhí)峁┮环NDNS攻擊檢測方法及裝置,應(yīng)用在檢測設(shè)備上,所述方法包括:接收客戶端設(shè)備向DNS服務(wù)器發(fā)送的DNS請求報(bào)文,并更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量;根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量;根據(jù)所述DNS請求報(bào)文數(shù)量以及所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度;當(dāng)所述離散度大于告警閾值時,確認(rèn)檢測到DNS攻擊。應(yīng)用本申請實(shí)施例,可以利用DNS域名請求的離散程度來判斷DNS服務(wù)器是否受到離散域名的DNS攻擊,從而提高了DNS攻擊檢測的準(zhǔn)確性。
【專利說明】
一種DNS攻擊檢測方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種DNS攻擊檢測方法及裝置。
【背景技術(shù)】
[0002]DNS(Domain Name System,域名系統(tǒng))攻擊是一種典型的網(wǎng)絡(luò)攻擊,通過偽造IP地址向DNS服務(wù)器發(fā)送大量的DNS請求報(bào)文,使DNS服務(wù)器在極短的時間內(nèi)需要處理大量的域名解析工作,從而導(dǎo)致DNS服務(wù)器嚴(yán)重超載甚至癱瘓,無法響應(yīng)正常用戶的DNS請求報(bào)文。
[0003]現(xiàn)有技術(shù)中可以通過設(shè)置固定的防護(hù)域名和防護(hù)閾值對DNS攻擊行為進(jìn)行檢測,比如:統(tǒng)計(jì)檢測周期內(nèi)與防護(hù)域名匹配的域名數(shù)量,并將該數(shù)量與防護(hù)閾值進(jìn)行比較,當(dāng)超過防護(hù)閾值時可以確定發(fā)生DNS攻擊。然而,當(dāng)攻擊者采用隨機(jī)變化的域名進(jìn)行DNS攻擊時,由于預(yù)設(shè)的防護(hù)域名是固定的,因此檢測到的DNS請求報(bào)文的數(shù)量可能無法觸發(fā)設(shè)置的防護(hù)閾值,從而無法檢測到DNS攻擊行為,導(dǎo)致DNS服務(wù)器超載甚至癱瘓。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本申請?zhí)峁┮环NDNS攻擊檢測方法及裝置,以解決現(xiàn)有技術(shù)中DNS攻擊檢測的準(zhǔn)確性低下這一問題。
[0005]具體的,本申請是通過如下技術(shù)方案實(shí)現(xiàn)的:
[0006]本申請?zhí)峁┮环NDNS攻擊檢測方法,所述方法應(yīng)用于檢測設(shè)備上,包括:
[0007]接收客戶端設(shè)備向DNS服務(wù)器發(fā)送的DNS請求報(bào)文,并更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量;
[0008]根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量;
[0009]根據(jù)所述DNS請求報(bào)文數(shù)量以及所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度;
[0010]當(dāng)所述離散度大于告警閾值時,確認(rèn)檢測到DNS攻擊。
[0011]可選的,所述根據(jù)所述DNS請求報(bào)文數(shù)量以及所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度之前,還包括:
[0012]根據(jù)所述DNS請求報(bào)文數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)的域名請求速率;
[0013]確定所述域名請求速率大于速率閾值時,執(zhí)行計(jì)算離散度的步驟。
[0014]可選的,所述根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量,包括:
[0015]解析出所述DNS請求報(bào)文中攜帶的域名;
[0016]根據(jù)預(yù)設(shè)算法計(jì)算所述域名的特征值;
[0017]根據(jù)所述特征值更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量。
[0018]可選的,利用下列公式計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度:
[0019]離散度=域名種類數(shù)量/DNS請求報(bào)文數(shù)量。
[0020]可選的,所述方法還包括:
[0021]在當(dāng)前檢測周期結(jié)束時,清空當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量以及域名種類數(shù)量。
[0022]本申請還提供一種DNS攻擊檢測裝置,所述方法應(yīng)用于檢測設(shè)備上,包括:
[0023]接收單元,用于接收客戶端設(shè)備向DNS服務(wù)器發(fā)送的DNS請求報(bào)文,并更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量;
[0024]更新單元,用于根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量;
[0025]離散計(jì)算單元,用于根據(jù)所述DNS請求報(bào)文數(shù)量以及所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度;
[0026]判斷單元,用于當(dāng)所述離散度大于告警閾值時,確認(rèn)檢測到DNS攻擊。
[0027]可選的,所述裝置還包括:
[0028]速率計(jì)算單元,用于根據(jù)所述DNS請求報(bào)文數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)的域名請求速率;
[0029]確定執(zhí)行單元,用于在確定所述域名請求速率大于速率閾值時,通知所述離散計(jì)算單元計(jì)算離散度。
[0030]可選的,所述更新單元,包括:
[0031]解析子單元,用于解析出所述DNS請求報(bào)文中攜帶的域名;
[0032]計(jì)算子單元,用于根據(jù)預(yù)設(shè)算法計(jì)算所述域名的特征值;
[0033]執(zhí)行子單元,用于根據(jù)所述特征值更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量。
[0034]可選的,所述離散計(jì)算單元利用下列公式計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度:
[00;35]離散度=域名種類數(shù)量/DNS請求報(bào)文數(shù)量。
[0036]可選的,所述裝置還包括:
[0037]清空單元,用于在當(dāng)前檢測周期結(jié)束時,清空當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量以及域名種類數(shù)量。
[0038]應(yīng)用本申請實(shí)施例,檢測設(shè)備可以根據(jù)當(dāng)前檢測周期內(nèi)DNS請求報(bào)文數(shù)量以及域名種類數(shù)量計(jì)算接收到的DNS請求報(bào)文的離散度,并在所述離散度大于告警閾值時,確定DNS服務(wù)器受到離散域名的DNS攻擊,檢測設(shè)備通過檢測DNS請求報(bào)文的離散程度來判斷當(dāng)前檢測周期內(nèi)是否受到離散域名DNS攻擊,提高了離散域名DNS攻擊的識別率,進(jìn)而大大提高了 DNS攻擊檢測的準(zhǔn)確性。
【附圖說明】
[0039]圖1是本申請一種DNS攻擊檢測實(shí)施例的應(yīng)用場景示意圖;
[0040]圖2是本申請一種DNS攻擊檢測方法的一個實(shí)施例流程圖;
[0041 ]圖3是本申請一種DNS攻擊檢測裝置所在設(shè)備的一個硬件結(jié)構(gòu)圖;
[0042]圖4是本申請一種DNS攻擊檢測裝置的一個實(shí)施例框圖;
[0043]圖5是本申請一種DNS攻擊檢測裝置的另一個實(shí)施例框圖。
【具體實(shí)施方式】
[0044]這里將詳細(xì)地對示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0045]在本申請使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。
[0046]應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。
[0047]參見圖1,為應(yīng)用本申請一種DNS攻擊檢測實(shí)施例的應(yīng)用場景示意圖。
[0048]圖1中,客戶端設(shè)備和DNS服務(wù)器之間設(shè)置有檢測設(shè)備,其中,除了作為客戶端設(shè)備示例的PC(Personal Computer,個人計(jì)算機(jī))外,客戶端設(shè)備還可以包括手機(jī)、平板電腦等具有網(wǎng)絡(luò)訪問功能的終端設(shè)備。所述檢測設(shè)備可以是交換機(jī)、路由器等等具有DNS攻擊檢測功能的網(wǎng)絡(luò)設(shè)備,可以對網(wǎng)絡(luò)中的DNS請求報(bào)文實(shí)時進(jìn)行檢測。當(dāng)然,在實(shí)際應(yīng)用中,所述檢測設(shè)備也可以為DNS服務(wù)器,比如:將該DNS攻擊檢測功能集成在DNS服務(wù)器中,本申請對此不作特殊限制。
[0049]在一個例子中,可以在檢測設(shè)備中配置固定的防護(hù)域名。在設(shè)定的檢測周期內(nèi),檢測設(shè)備對接收到的DNS請求報(bào)文中的域名進(jìn)行域名解析,若匹配到某防護(hù)域名的DNS請求報(bào)文數(shù)量達(dá)到預(yù)先設(shè)定的防護(hù)閾值,則可以判定受到DNS攻擊。
[0050]然而,目前網(wǎng)絡(luò)中出現(xiàn)了使用離散域名攻擊DNS服務(wù)器的攻擊方式,通過使用不同的域名,發(fā)送大量的DNS請求報(bào)文到同一個DNS服務(wù)器。通過使用離散域名對該DNS服務(wù)器發(fā)起DNS攻擊,由于域名的離散化程度較高,針對某防護(hù)域名的DNS請求報(bào)文數(shù)量可能無法觸及到所述防護(hù)閾值,進(jìn)而無法檢測到離散域名的DNS攻擊,大大降低了 DNS攻擊檢測的準(zhǔn)確性。
[0051]為解決現(xiàn)有技術(shù)問題,本申請?zhí)峁┮环NDNS攻擊檢測方法以及對應(yīng)的裝置。參照圖1所示,該方法可以應(yīng)用在檢測設(shè)備上。通過解析DNS請求報(bào)文中攜帶的域名,更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量,并根據(jù)當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量和所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文的離散度,當(dāng)所述離散度大于預(yù)先設(shè)置的告警閾值時,確定檢測到DNS攻擊,從而提高了DNS攻擊檢測的準(zhǔn)確性,同時也有效防止了DNS攻擊誤判。
[0052]其中,所述告警閾值可以由檢測設(shè)備在預(yù)先設(shè)置的時間段內(nèi),統(tǒng)計(jì)所述時間段內(nèi)所有檢測周期內(nèi)DNS請求報(bào)文的離散度,在所述時間段結(jié)束時,判斷當(dāng)前告警閾值的設(shè)置方式是否為智能設(shè)置模式,若是,則取所述時間段內(nèi)所有檢測周期內(nèi)DNS請求報(bào)文的離散度的最大值作為告警閾值;若不是,則可以發(fā)送所述時間段內(nèi)獲取到的所有離散度到管理設(shè)備,由管理員根據(jù)這些離散度,設(shè)置告警閾值,同樣的,也可以通過管理設(shè)備上的相關(guān)計(jì)算機(jī)軟件得到告警閾值,本申請對此不做特殊限制。
[0053]下面結(jié)合附圖對本申請?zhí)峁┑囊环NDNS攻擊檢測方法及裝置進(jìn)行說明。
[0054]參見圖2,為本申請一種DNS攻擊檢測方法的一個實(shí)施例流程圖,該實(shí)施例從檢測設(shè)備側(cè)進(jìn)行描述,包括以下步驟:
[0055]步驟201:接收客戶端設(shè)備向DNS服務(wù)器發(fā)送的DNS請求報(bào)文,并更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量。
[0056]具體的,當(dāng)客戶端設(shè)備訪問一個互聯(lián)網(wǎng)中的Web頁面時,可以在瀏覽器中輸入該Web頁面的域名,比如:www.baidu.com,由于在互聯(lián)網(wǎng)體系中,設(shè)備與設(shè)備之間通過IP地址進(jìn)行路由尋址以及通信,因此,客戶端設(shè)備通常會先發(fā)起針對該域名的DNS請求報(bào)文到DNS服務(wù)器,以請求該域名所對應(yīng)的IP地址,然后通過該IP地址訪問相關(guān)的服務(wù)器,以獲取該Web頁面的內(nèi)容。在這個過程中,檢測設(shè)備會對所述DNS請求報(bào)文進(jìn)行檢測。具體的,所述檢測設(shè)備在接收到DNS請求報(bào)文時,更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量。
[0057]步驟202:解析出接收到的DNS請求報(bào)文中的域名。
[0058]具體的,檢測設(shè)備可以從接收到的DNS請求報(bào)文中的域名字段,解析出對應(yīng)Web頁面的域名。
[0059]步驟203:根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量。
[0060]具體的,檢測設(shè)備解析出對應(yīng)Web頁面的域名后,可以利用預(yù)設(shè)算法計(jì)算所述域名的特征值,然后根據(jù)當(dāng)前檢測周期內(nèi)已計(jì)算得到的特征值,統(tǒng)計(jì)當(dāng)前檢測周期內(nèi)接收到的所有DNS請求報(bào)文對應(yīng)的域名種類數(shù)量。其中,所述預(yù)設(shè)算法可以由管理人員進(jìn)行設(shè)置,比如:哈希算法等,本申請對此不作特殊限制。
[0061]在一個例子中,檢測設(shè)備可以設(shè)置第一統(tǒng)計(jì)值m表示當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量,第二統(tǒng)計(jì)值η表示當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量。具體的,所述第一統(tǒng)計(jì)值m和所述第二統(tǒng)計(jì)值η的初始值可以為0,當(dāng)檢測設(shè)備接收到一個DNS請求報(bào)文時,可以將第一統(tǒng)計(jì)值m加一,S卩m更新為m+1,隨后解析出該DNS請求報(bào)文中的域名并計(jì)算出該域名的特征值后,查看當(dāng)前檢測周期內(nèi)是否保存有與之相同的特征值,若沒有,則可以將第二統(tǒng)計(jì)值η加一,S卩η更新為η+1,并保存該域名的特征值;若有,則無需更新所述第二統(tǒng)計(jì)值η,其中檢測設(shè)備可以采用在特征值后置位的方式,表示所述特征值已保存,反之,特征值后沒有置位則表示所述特征值未保存,從而在檢測設(shè)備得到特征值后,查看當(dāng)前檢測周期內(nèi)是否保存有與所述特征值相同的特征值。在當(dāng)前檢測周期結(jié)束時,當(dāng)前第一統(tǒng)計(jì)值m的數(shù)值即為所述當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量;當(dāng)前第二統(tǒng)計(jì)值η的數(shù)值即為所述當(dāng)前檢測周期內(nèi)的域名種類數(shù)量。
[0062]在另一個例子中,還可以采用不同的預(yù)設(shè)算法計(jì)算每個域名的多個特征值,從而確保不同域名計(jì)算得到的特征值不同,以防止攻擊誤判。例如,檢測設(shè)備解析得到的域名為:WWW.baidu.com,經(jīng)過三種預(yù)設(shè)算法的計(jì)算得出,該域名的特征值分別為:Al、A2、A3,當(dāng)該域名的這三個特征值與當(dāng)前檢測周期內(nèi)保存的其他域名的三個特征值完全相同時,可以確定所述域名在當(dāng)前檢測周期內(nèi)已經(jīng)存在,因此無需更新所述第二統(tǒng)計(jì)值n,當(dāng)不完全相同時,則可以說明在當(dāng)前檢測周期內(nèi),還沒有接收過針對該域名的DNS請求報(bào)文,從而保存所述域名的三個特征值,并將所述第二統(tǒng)計(jì)值η更新為n+1。
[0063]步驟204:根據(jù)所述DNS請求報(bào)文數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)的域名請求速率。
[0064]具體的,檢測設(shè)備可以在當(dāng)前檢測周期結(jié)束時,先判斷當(dāng)前檢測周期內(nèi)的域名請求速率是否在正常范圍內(nèi),當(dāng)所述域名請求速率不在正常范圍內(nèi)時,再對所述當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散程度進(jìn)行計(jì)算,以防止攻擊誤判。其中,可以根據(jù)獲取到的當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量,以及當(dāng)前檢測周期的時長,計(jì)算出當(dāng)前檢測周期內(nèi)的域名請求速率,其具體的計(jì)算過程如下:
[0065 ]域名請求速率=DNS請求報(bào)文數(shù)量/當(dāng)前檢測周期時長。
[0066]步驟205:判斷當(dāng)前檢測周期內(nèi)的域名請求速率是否大于速率閾值,若大于所述速率閾值,則執(zhí)行步驟206;若小于等于所述速率閾值,則執(zhí)行步驟209。
[0067]具體的,當(dāng)該域名請求速率小于等于所述速率閾值時,說明DNS服務(wù)器在當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量在正常范圍內(nèi),為防止攻擊誤判,可以結(jié)束當(dāng)前檢測周期對DNS攻擊的判斷流程,執(zhí)行步驟209;當(dāng)該域名請求速率大于所述速率閾值時,表示當(dāng)前檢測周期內(nèi)的域名請求流量已經(jīng)超過正常范圍,執(zhí)行步驟206。
[0068]步驟206:根據(jù)所述DNS請求報(bào)文數(shù)量和所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度。
[0069]—般來說,采用離散域名的方式進(jìn)行DNS攻擊,特點(diǎn)是受到攻擊的DNS服務(wù)器,單位時間內(nèi)不僅收到的DNS請求報(bào)文數(shù)量過大,并且DNS請求報(bào)文對應(yīng)的域名種類繁多,因此利用DNS域名請求的離散程度對使用離散域名的DNS攻擊進(jìn)行檢測,其具體的計(jì)算過程如下:
[0070]離散度=域名種類數(shù)量/DNS請求報(bào)文數(shù)量,
[0071]其中,域名種類數(shù)量小于等于DNS請求報(bào)文數(shù)量,因此離散度是個小于等于I的數(shù)值,并且離散度的數(shù)值越大,受到DNS攻擊的可能性越大。
[0072]步驟207:判斷當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度是否大于告警閾值,若大于所述告警閾值,則執(zhí)行步驟208;若小于等于所述告警閾值,則執(zhí)行步驟209。
[0073]具體的,當(dāng)該離散度小于等于所述告警閾值時,可以說明當(dāng)前檢測周期內(nèi)DNS服務(wù)器沒有受到DNS攻擊,執(zhí)行步驟209;當(dāng)該離散度大于所述告警閾值時,表示當(dāng)前檢測周期內(nèi)DNS請求報(bào)文中的域名請求流量過大且離散程度超過正常范圍,執(zhí)行步驟208。
[0074]步驟208:確定檢測到DNS攻擊。
[0075]具體的,當(dāng)檢測設(shè)備確定發(fā)生DNS攻擊時,可以對DNS攻擊進(jìn)行防護(hù),比如:對DNS請求報(bào)文進(jìn)行過濾等,檢測設(shè)備也可以向管理設(shè)備發(fā)送一份告警日志,以使管理設(shè)備通過相關(guān)計(jì)算機(jī)軟件對DNS攻擊進(jìn)行防護(hù),以保證DNS服務(wù)器的正常通信,同樣的,也可以通知管理員,由管理員手動對DNS服務(wù)器進(jìn)行防護(hù)。
[0076]步驟209:清空當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量以及域名種類數(shù)量。
[0077]具體的,在當(dāng)前檢測周期結(jié)束時,檢測設(shè)備會清空保存的特征值,并將第一統(tǒng)計(jì)值和第二統(tǒng)計(jì)值都?xì)w零,即使m = O,η = O。
[0078]由上述實(shí)施例可見,檢測設(shè)備通過預(yù)設(shè)算法計(jì)算DNS請求報(bào)文攜帶的域名的特征值,根據(jù)所述特征值更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量,在當(dāng)前檢測周期結(jié)束時,為防止攻擊誤判,可以先計(jì)算出當(dāng)前檢測周期內(nèi)的域名請求速率,當(dāng)確定所述域名請求速率大于速率閾值后,再根據(jù)接收到的DNS請求報(bào)文數(shù)量和所述域名種類數(shù)量,計(jì)算出當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文的離散度,并在所述離散度大于告警閾值時,確認(rèn)檢測到DNS攻擊,檢測設(shè)備通過檢測DNS請求報(bào)文的離散程度來判斷當(dāng)前檢測周期內(nèi)是否受到離散域名DNS攻擊,提高了離散域名DNS攻擊的識別率,進(jìn)而大大提高了 DNS攻擊檢測的準(zhǔn)確性。
[0079]與上述一種DNS攻擊檢測方法實(shí)施例相對應(yīng),本申請還提供了一種DNS攻擊檢測裝置的實(shí)施例。
[0080]本申請一種DNS攻擊檢測裝置的實(shí)施例可以應(yīng)用在檢測設(shè)備上。裝置實(shí)施例可以通過軟件實(shí)現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個意義上的裝置,是通過其所在設(shè)備的處理器將非易失性存儲器中對應(yīng)的計(jì)算機(jī)程序指令讀取至IJ內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖3所示,為本申請一種DNS攻擊檢測裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、網(wǎng)絡(luò)接口、內(nèi)存以及非易失性存儲器之外,實(shí)施例中裝置所在的設(shè)備通常還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片等等;從硬件結(jié)構(gòu)上來講該設(shè)備還可能是分布式的設(shè)備,可能包括多個接口卡,以便在硬件層面進(jìn)行報(bào)文處理的擴(kuò)展。
[0081 ]參見圖4,是本申請一種DNS攻擊檢測裝置的一個實(shí)施例框圖,所述裝置應(yīng)用在用于DNS攻擊檢測的檢測設(shè)備上,所述DNS攻擊檢測裝置400可以包括:接收單元410、更新單元420、離散計(jì)算單元430、判斷單元440、速率計(jì)算單元450、確定執(zhí)行單元460和清空單元47 O。參見圖5,所述更新單元420還可以包括:解析子單元4201、計(jì)算子單元4202以及執(zhí)行子單元4203ο
[0082]其中,接收單元410,用于接收客戶端設(shè)備向DNS服務(wù)器發(fā)送的DNS請求報(bào)文,并更新當(dāng)前檢測周期內(nèi)DNS請求報(bào)文數(shù)量;
[0083]更新單元420,用于根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量;離散計(jì)算單元430,用于根據(jù)所述DNS請求報(bào)文數(shù)量以及對應(yīng)的域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度;
[0084]判斷單元440,用于當(dāng)所述離散度大于告警閾值時,確認(rèn)檢測到DNS攻擊。
[0085]速率計(jì)算單元450,用于根據(jù)所述DNS請求報(bào)文數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)的域名請求速率;
[0086]確定執(zhí)行單元460,用于在確定所述域名請求速率大于速率閾值時,通知所述離散計(jì)算單元430計(jì)算離散度。
[0087]解析子單元4201,用于解析出所述DNS請求報(bào)文中攜帶的域名;
[0088]計(jì)算子單元4202,用于根據(jù)預(yù)設(shè)算法計(jì)算所述域名的特征值;
[0089]執(zhí)行子單元4203,用于根據(jù)所述特征值更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量。
[0090]可選的,所述離散計(jì)算單元430,利用下列公式計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度:
[0091 ]離散度=域名種類數(shù)量/DNS請求報(bào)文數(shù)量。
[0092]清空單元470,用于在當(dāng)前檢測周期結(jié)束時,清空當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量以及對應(yīng)的域名種類數(shù)量。
[0093]有上述實(shí)施例可見,檢測設(shè)備通過統(tǒng)計(jì)當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量,并根據(jù)DNS請求報(bào)文中域名的特征值,統(tǒng)計(jì)當(dāng)前檢測周期內(nèi)的域名種類數(shù)量,為防止了攻擊誤判,在確定所述域名請求速率大于速率閾值后,再根據(jù)所述DNS請求報(bào)文數(shù)量和所述域名種類數(shù)量,計(jì)算出當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文的離散度,并在所述離散度大于告警閾值時,確定DNS服務(wù)器受到DNS攻擊,通過提高離散域名DNS攻擊的識別率,從而大大提高了 DNS攻擊檢測的準(zhǔn)確性。
[0094]上述裝置中各個單元的功能和作用的實(shí)現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實(shí)現(xiàn)過程,在此不再贅述。
[0095]對于裝置實(shí)施例而言,由于其基本對應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
[0096]以上所述僅為本申請的較佳實(shí)施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請保護(hù)的范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種DNS攻擊檢測方法,其特征在于,所述方法應(yīng)用于檢測設(shè)備上,包括: 接收客戶端設(shè)備向DNS服務(wù)器發(fā)送的DNS請求報(bào)文,并更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量; 根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量; 根據(jù)所述DNS請求報(bào)文數(shù)量以及所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度; 當(dāng)所述離散度大于告警閾值時,確認(rèn)檢測到DNS攻擊。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述DNS請求報(bào)文數(shù)量以及所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度之前,還包括: 根據(jù)所述DNS請求報(bào)文數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)的域名請求速率; 確定所述域名請求速率大于速率閾值時,執(zhí)行計(jì)算離散度的步驟。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量,包括: 解析出所述DNS請求報(bào)文中攜帶的域名; 根據(jù)預(yù)設(shè)算法計(jì)算所述域名的特征值; 根據(jù)所述特征值更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量。4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,利用下列公式計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度: 離散度=域名種類數(shù)量/DNS請求報(bào)文數(shù)量。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 在當(dāng)前檢測周期結(jié)束時,清空當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量以及域名種類數(shù)量。6.一種DNS攻擊檢測裝置,其特征在于,所述裝置應(yīng)用于檢測設(shè)備上,包括: 接收單元,用于接收客戶端設(shè)備向DNS服務(wù)器發(fā)送的DNS請求報(bào)文,并更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文數(shù)量; 更新單元,用于根據(jù)所述DNS請求報(bào)文中攜帶的域名更新當(dāng)前檢測周期內(nèi)接收到的DNS請求報(bào)文對應(yīng)的域名種類數(shù)量; 離散計(jì)算單元,用于根據(jù)所述DNS請求報(bào)文數(shù)量以及所述域名種類數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度; 判斷單元,用于當(dāng)所述離散度大于告警閾值時,確認(rèn)檢測到DNS攻擊。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 速率計(jì)算單元,用于根據(jù)所述DNS請求報(bào)文數(shù)量計(jì)算當(dāng)前檢測周期內(nèi)的域名請求速率;確定執(zhí)行單元,用于在確定所述域名請求速率大于速率閾值時,通知所述離散計(jì)算單元計(jì)算離散度。8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述更新單元,包括: 解析子單元,用于解析出所述DNS請求報(bào)文中攜帶的域名; 計(jì)算子單元,用于根據(jù)預(yù)設(shè)算法計(jì)算所述域名的特征值; 執(zhí)行子單元,用于根據(jù)所述特征值更新當(dāng)前檢測周期內(nèi)的域名種類數(shù)量。9.根據(jù)權(quán)利要求6-8任一所述的裝置,其特征在于,所述離散計(jì)算單元利用下列公式計(jì)算當(dāng)前檢測周期內(nèi)DNS請求報(bào)文的離散度: 離散度=域名種類數(shù)量/DNS請求報(bào)文數(shù)量。10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 清空單元,用于在當(dāng)前檢測周期結(jié)束時,清空當(dāng)前檢測周期內(nèi)的DNS請求報(bào)文數(shù)量以及域名種類數(shù)量。
【文檔編號】H04L29/06GK105939321SQ201510898142
【公開日】2016年9月14日
【申請日】2015年12月7日
【發(fā)明人】李征
【申請人】杭州迪普科技有限公司