Dns系統(tǒng)以及dns攻擊的防御方法和防御裝置制造方法
【專(zhuān)利摘要】本發(fā)明提供了一種DNS系統(tǒng)以及DNS攻擊的防御方法和防御裝置。其中該防御方法包括:獲取DNS查詢(xún)請(qǐng)求以及DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;按照IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出請(qǐng)求源在的請(qǐng)求記錄信息;判斷請(qǐng)求記錄信息中預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;若是,判定請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。由于對(duì)每個(gè)請(qǐng)求源的IP地址進(jìn)行判斷,不會(huì)影響其他請(qǐng)求源的正常訪問(wèn),實(shí)現(xiàn)了精確的攻擊防御。
【專(zhuān)利說(shuō)明】DNS系統(tǒng)以及DNS攻擊的防御方法和防御裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)安全【技術(shù)領(lǐng)域】,特別是涉及DNS系統(tǒng)以及DNS攻擊的防御方法和防御裝置。
【背景技術(shù)】
[0002]域名系統(tǒng)(Domain Name System,簡(jiǎn)稱(chēng)DNS)是因特網(wǎng)(Internet)的一項(xiàng)核心服務(wù),有著極其重要的地位,其作為可以將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使人更方便的訪問(wèn)互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。
[0003]域名系統(tǒng)作為一個(gè)基礎(chǔ)性的互聯(lián)網(wǎng)協(xié)議,相對(duì)于目前防范措施比較完善的各種WEB服務(wù),基于DNS的防范依然很弱,易被黑客利用攻擊。DNS攻擊時(shí)一種新型的拒絕服務(wù)攻擊(Denial of Service,簡(jiǎn)稱(chēng) Dos 攻擊)。
[0004]DNS自身的特性決定了它可以被利用作為“攻擊放大器”進(jìn)行分布式拒絕服務(wù)攻擊。一是DNS協(xié)議自身的弱點(diǎn)導(dǎo)致查詢(xún)請(qǐng)求報(bào)文和查詢(xún)應(yīng)答報(bào)文均可被偽造,網(wǎng)絡(luò)攻擊者可以通過(guò)虛假的源地址偽造成被攻擊主機(jī)向DNS服務(wù)器發(fā)送DNS查詢(xún)請(qǐng)求,同時(shí)還可以隱藏攻擊者的身份;二是DNS服務(wù)器對(duì)DNS查詢(xún)請(qǐng)求時(shí)“有求必應(yīng)”,并且無(wú)法判斷一個(gè)DNS查詢(xún)請(qǐng)求是否為惡意攻擊;三是DNS服務(wù)器解析域名時(shí),應(yīng)答報(bào)文比查詢(xún)報(bào)文要大,可以實(shí)現(xiàn)放大攻擊的效果。
[0005]例如,在早期針對(duì)DNS服務(wù)器的攻擊行為中,攻擊者能夠向DNS服務(wù)器發(fā)出60個(gè)字節(jié)的查詢(xún)信息,收到512個(gè)字節(jié)的回應(yīng)信息,使通訊量放大8.5倍。隨著對(duì)DNS協(xié)議的深入研究,攻擊者發(fā)現(xiàn)利用具有遞歸查詢(xún)功能的DNS服務(wù)器可以把DNS回應(yīng)數(shù)據(jù)放大到66倍。如果數(shù)以萬(wàn)計(jì)的計(jì)算機(jī),偽裝成被攻擊主機(jī)同時(shí)向DNS服務(wù)器連續(xù)發(fā)送大量的DNS請(qǐng)求數(shù)據(jù)包,由DNS服務(wù)器返回的應(yīng)答數(shù)據(jù)量成倍放大,甚至能夠超過(guò)每秒鐘100GB,這對(duì)被攻擊主機(jī)來(lái)說(shuō)是致命的攻擊行為。
[0006]DNS攻擊的一個(gè)明顯特征是偽造成被攻擊者的IP發(fā)送大量的請(qǐng)求數(shù)據(jù)包,迫使其回應(yīng),達(dá)到放大效果。
[0007]現(xiàn)有技術(shù)中針對(duì)DNS攻擊采取的方法是利用防火墻限制IP地址的請(qǐng)求量,例如控制某IP段內(nèi)通過(guò)的DNS請(qǐng)求包限制在300個(gè)以?xún)?nèi)每秒,大于這個(gè)的請(qǐng)求認(rèn)為可能是攻擊,直接丟棄。采取這樣的限制措施,需要對(duì)IP地址段設(shè)置對(duì)應(yīng)的限制閾值。但是通常DNS服務(wù)器的服務(wù)的是全球的所有IP。特別是授權(quán)DNS服務(wù)器的服務(wù)對(duì)象是全球的本地遞歸服務(wù)器。這些本地遞歸服務(wù)器IP不可能預(yù)先知道。因此無(wú)法把全球所有的IP逐一進(jìn)行配置。
[0008]當(dāng)然也可以將IP段設(shè)置成較大的地址段進(jìn)行限制,也就是限制該段的請(qǐng)求總量,這樣會(huì)造成大量的誤攔,無(wú)法做到精確對(duì)DNS攻擊進(jìn)行防御。
[0009]現(xiàn)有技術(shù)中的另一種防御方法為:存在發(fā)生攻擊時(shí),查找攻擊源的IP地址,再將該IP地址的限速策略設(shè)置到防火墻配置,這種方式的實(shí)時(shí)性差,無(wú)法實(shí)現(xiàn)實(shí)時(shí)防御。
【發(fā)明內(nèi)容】
[0010]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的DNS系統(tǒng)、DNS攻擊的防御裝置和相應(yīng)的DNS攻擊的防御方法。
[0011]本發(fā)明一個(gè)進(jìn)一步的目的是要使得精確對(duì)DNS攻擊進(jìn)行防御。
[0012]本發(fā)明另一個(gè)進(jìn)一步的目的是要提高防御DNS攻擊的實(shí)時(shí)性,不降低服務(wù)的性能和效率。
[0013]依據(jù)本發(fā)明的一個(gè)方面,提供了一種DNS攻擊的防御方法。該防御方法包括:獲取DNS查詢(xún)請(qǐng)求以及DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;按照IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出請(qǐng)求源的請(qǐng)求記錄信息;判斷請(qǐng)求記錄信息中在預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;若是,判定請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。
[0014]可選地,獲取DNS查詢(xún)請(qǐng)求包括:在操作系統(tǒng)的防火墻框架內(nèi)注冊(cè)鉤子函數(shù);利用鉤子函數(shù)捕捉DNS查詢(xún)請(qǐng)求。
[0015]可選地,在獲取DNS查詢(xún)請(qǐng)求之后還包括:分別判斷DNS查詢(xún)請(qǐng)求的數(shù)據(jù)包數(shù)據(jù)格式是否符合預(yù)定協(xié)議,以及DNS查詢(xún)請(qǐng)求的目的端口是否為預(yù)定端口 ;若均為是,執(zhí)行查詢(xún)請(qǐng)求記錄信息的步驟。
[0016]可選地,按照IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出請(qǐng)求源在預(yù)定周期內(nèi)的請(qǐng)求記錄信息包括:按照IP地址中前三段的數(shù)值,在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針,其中第一索引表中存儲(chǔ)有多個(gè)IP地址段分別對(duì)應(yīng)的第二索引表的存儲(chǔ)指針;按照IP地址中前三段的數(shù)值對(duì)應(yīng)的存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表,第二索引表中存儲(chǔ)有一個(gè)IP地址段中多個(gè)IP地址的請(qǐng)求記錄信息;按照IP地址的第四段的數(shù)值,在IP地址中前三段的數(shù)值對(duì)應(yīng)的第二索引表中查找IP地址對(duì)應(yīng)的請(qǐng)求記錄信息。
[0017]可選地,在第一索引表中,索引值為IP地址的前三段數(shù)值的哈希值,索引項(xiàng)為IP地址段對(duì)應(yīng)的第二索引表的存儲(chǔ)指針,在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索弓I表中查找對(duì)應(yīng)的存儲(chǔ)指針包括:計(jì)算IP地址中的前三段的數(shù)值的哈希值;將哈希值作為索引值在第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針。
[0018]可選地,按照IP地址中前三段的數(shù)值,在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針之后還包括:判斷存儲(chǔ)指針是否為空;若是,為IP地址所在的IP地址段分配存儲(chǔ)空間,并在存儲(chǔ)空間內(nèi)建立包含多個(gè)結(jié)構(gòu)體的數(shù)組作為第二索引表,并保存存儲(chǔ)空間的存儲(chǔ)指針;若否,執(zhí)行按照存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表的步驟。
[0019]可選地,按照IP地址的第四段的數(shù)值,在IP地址中前三段的數(shù)值對(duì)應(yīng)的第二索引表中查找IP地址對(duì)應(yīng)的請(qǐng)求記錄信息之后還包括:判斷第二索引表中是否包含IP地址對(duì)應(yīng)的請(qǐng)求記錄信息;若否,在第二索引表中分配IP地址的存儲(chǔ)空間,并將DNS查詢(xún)請(qǐng)求的信息保存為請(qǐng)求記錄信息;若是,在IP地址對(duì)應(yīng)的請(qǐng)求記錄信息中添加DNS查詢(xún)請(qǐng)求的信息,以對(duì)請(qǐng)求記錄信息進(jìn)行更新。
[0020]可選地,在判斷第二索引表中是否包含IP地址對(duì)應(yīng)的請(qǐng)求記錄信息之后還包括:掃描第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄信息。
[0021]可選地,在判定請(qǐng)求源進(jìn)行DNS攻擊之后還包括:向所述請(qǐng)求源的客戶(hù)端返回DNS請(qǐng)求異常的信息,以便所述客戶(hù)端進(jìn)行提示或處理。。
[0022]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種DNS攻擊的防御裝置,包括:請(qǐng)求獲取模塊,用于獲取DNS查詢(xún)請(qǐng)求以及DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;請(qǐng)求記錄信息查詢(xún)模塊,用于按照IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出請(qǐng)求源的請(qǐng)求記錄信息;攻擊判斷模塊,用于判斷請(qǐng)求記錄信息記錄中在預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;防御模塊,用于在攻擊判斷模塊的判斷結(jié)果為是的情況下,攔截DNS查詢(xún)請(qǐng)求。
[0023]可選地,上述防御裝置還包括:函數(shù)注冊(cè)模塊,用于在操作系統(tǒng)的防火墻框架內(nèi)注冊(cè)鉤子函數(shù);請(qǐng)求獲取模塊還被配置為:利用鉤子函數(shù)捕捉DNS查詢(xún)請(qǐng)求。
[0024]可選地,上述防御裝置還包括:DNS查詢(xún)請(qǐng)求包判斷模塊,用于分別判斷DNS查詢(xún)請(qǐng)求的數(shù)據(jù)包數(shù)據(jù)格式是否符合預(yù)定協(xié)議,以及DNS查詢(xún)請(qǐng)求的目的端口是否為預(yù)定端口 ;請(qǐng)求記錄信息查詢(xún)模塊還被配置為:如果DNS查詢(xún)請(qǐng)求包判斷模塊的判斷結(jié)果均為是,執(zhí)行查詢(xún)請(qǐng)求記錄信息的步驟。
[0025]可選地,請(qǐng)求記錄信息查詢(xún)模塊包括:第一索引表查詢(xún)子模塊,用于按照IP地址中前三段的數(shù)值在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針,其中第一索引表中存儲(chǔ)有多個(gè)IP地址段分別對(duì)應(yīng)的第二索引表的存儲(chǔ)指針;第二索引表查詢(xún)子模塊,用于按照IP地址中前三段的數(shù)值對(duì)應(yīng)的存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表,并按照IP地址的第四段的數(shù)值在IP地址中前三段的數(shù)值對(duì)應(yīng)的第二索引表中查找IP地址對(duì)應(yīng)的請(qǐng)求記錄信息,第二索引表中存儲(chǔ)有一個(gè)IP地址段中多個(gè)IP地址的請(qǐng)求記錄信息。
[0026]可選地,上述防御裝置還包括:第一索引表更新模塊,用于判斷第一索引表查詢(xún)子模塊查詢(xún)出的存儲(chǔ)指針是否為空;若是,為IP地址所在的IP地址段分配存儲(chǔ)空間,并在存儲(chǔ)空間內(nèi)建立包含多個(gè)結(jié)構(gòu)體的數(shù)組作為第二索引表,并保存存儲(chǔ)空間的存儲(chǔ)指針。
[0027]可選地,上述防御裝置還包括:第二索引表更新模塊,用于判斷第二索引表中是否包含IP地址對(duì)應(yīng)的請(qǐng)求記錄信息;若否,在第二索引表中分配IP地址的存儲(chǔ)空間,并將DNS查詢(xún)請(qǐng)求的信息保存為請(qǐng)求記錄信息;若是,在IP地址對(duì)應(yīng)的請(qǐng)求記錄信息中添加DNS查詢(xún)請(qǐng)求的信息,以對(duì)請(qǐng)求記錄信息進(jìn)行更新。
[0028]可選地,上述防御裝置還包括:資源回收模塊,用于掃描第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄信息。
[0029]可選地,上述防御裝置還包括:攻擊提示模塊,用于向請(qǐng)求源的客戶(hù)端返回DNS請(qǐng)求異常的信息,以便客戶(hù)端進(jìn)行提示或處理。。
[0030]根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種DNS系統(tǒng)。該DNS系統(tǒng)包括:至少一臺(tái)DNS安全服務(wù)器,用于根據(jù)用戶(hù)請(qǐng)求進(jìn)行域名解析,DNS安全服務(wù)器中設(shè)置有根據(jù)上述的任一種DNS攻擊的防御裝置。。
[0031]可選地,上述DNS系統(tǒng)還包括:用戶(hù)客戶(hù)端,配置為接收DNS攻擊的防御裝置下發(fā)的DNS請(qǐng)求異常的信息,并在安全建議顯示區(qū)域輸出提示信息和/或?qū)NS服務(wù)器地址修改為預(yù)設(shè)的安全地址。
[0032]本發(fā)明的DNS攻擊的防御方法在接收到DNS查詢(xún)請(qǐng)求后,實(shí)時(shí)在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查找對(duì)應(yīng)的請(qǐng)求記錄信息,對(duì)該請(qǐng)求源的預(yù)定周期內(nèi)的訪問(wèn)次數(shù)進(jìn)行判斷,對(duì)于超出訪問(wèn)次數(shù)的請(qǐng)求源進(jìn)行訪問(wèn)限制。由于對(duì)每個(gè)請(qǐng)求源的IP地址進(jìn)行判斷,不會(huì)影響其他請(qǐng)求源的正常訪問(wèn),實(shí)現(xiàn)了精確的攻擊防御。
[0033]進(jìn)一步地,本發(fā)明優(yōu)化了 IP地址對(duì)應(yīng)請(qǐng)求記錄信息的查詢(xún)方法,采用兩級(jí)索引表的查詢(xún)方式,實(shí)時(shí)性好,不影響服務(wù)器正常工作的性能和效率。
[0034]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
[0035]根據(jù)下文結(jié)合附圖對(duì)本發(fā)明具體實(shí)施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會(huì)更加明了本發(fā)明的上述以及其他目的、優(yōu)點(diǎn)和特征。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0036]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0037]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御裝置的示意框圖;
[0038]圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御方法的示意圖;
[0039]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御方法中二級(jí)索引結(jié)構(gòu)的示意圖;
[0040]圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御方法的一種流程圖;以及
[0041]圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS系統(tǒng)的系統(tǒng)架構(gòu)圖。
【具體實(shí)施方式】
[0042]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0043]圖1是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御裝置的示意框圖。該DNS攻擊的防御裝置100 —般性地可包括:請(qǐng)求獲取模塊110、請(qǐng)求記錄信息查詢(xún)模塊120、攻擊判斷模塊130、防御模塊140。在本發(fā)明的一些可選實(shí)施例中,根據(jù)DNS攻擊的防御裝置100的功能需求和進(jìn)一步優(yōu)化,可選擇性地配置有:第一索引表更新模塊151、第二索引表更新模塊152、資源回收模塊170、DNS查詢(xún)請(qǐng)求包判斷模塊180、函數(shù)注冊(cè)模塊190、攻擊提示模塊160,其中請(qǐng)求記錄信息查詢(xún)模塊120可以包括:第一索引表查詢(xún)子模塊121和第二索引表查詢(xún)子模塊122。
[0044]在以上模塊中,請(qǐng)求獲取模塊110用于獲取DNS查詢(xún)請(qǐng)求以及DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;請(qǐng)求記錄信息查詢(xún)模塊120,用于按照IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出請(qǐng)求源在預(yù)定周期內(nèi)的請(qǐng)求記錄信息;攻擊判斷模塊130,用于判斷請(qǐng)求記錄信息記錄中的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;防御模塊140,用于在攻擊判斷模塊130的判斷結(jié)果為是的情況下,判定請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。
[0045]IP是英文Internet Protocol (網(wǎng)絡(luò)之間互連的協(xié)議)的縮寫(xiě),是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議。IP地址是為了使連入Internet的計(jì)算機(jī)在通信時(shí)能夠相互識(shí)別,Internet中的每一臺(tái)主機(jī)都分配有一個(gè)唯一的32位地址,該地址稱(chēng)為IP地址。本實(shí)施例中的IP地址默認(rèn)為IPV4地址。IP段是指一組連續(xù)的IP地址,為了簡(jiǎn)化配置和策略的實(shí)現(xiàn),通常會(huì)將一組連續(xù)的IP地址組成一個(gè)IP段。
[0046]本實(shí)施例中的DNS攻擊的防御裝置100根據(jù)DNS查詢(xún)請(qǐng)求源的IP地址利用高速緩存查找算法在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查找對(duì)應(yīng)的請(qǐng)求記錄信息,對(duì)該請(qǐng)求源的預(yù)定周期內(nèi)的訪問(wèn)次數(shù)進(jìn)行判斷,以確定請(qǐng)求源是否進(jìn)行DNS攻擊。對(duì)超出訪問(wèn)次數(shù)的請(qǐng)求源進(jìn)行訪問(wèn)限制,例如攔截超出訪問(wèn)次數(shù)的請(qǐng)求源發(fā)出的DNS查詢(xún)請(qǐng)求,或者結(jié)合黑白名單,將請(qǐng)求源判為惡意請(qǐng)求源,歸入到服務(wù)器端的數(shù)據(jù)庫(kù)中,對(duì)該請(qǐng)求源進(jìn)行處理。本實(shí)施例的防御裝置可以精確限制每秒鐘為每個(gè)IP請(qǐng)求的DNS服務(wù)次數(shù),并且不會(huì)根據(jù)請(qǐng)求端IP的數(shù)量增加,性能下降,有效防范DNS攻擊。
[0047]其中,防御模塊140結(jié)合黑白名單對(duì)請(qǐng)求源進(jìn)行處理時(shí),合法的具有動(dòng)態(tài)主機(jī)配置協(xié)議(Dynamic Host Configuration Protocol,簡(jiǎn)稱(chēng)DHCP)功能的網(wǎng)絡(luò)連接設(shè)備的DNSIP地址發(fā)送給具有DHCP功能的網(wǎng)絡(luò)連接設(shè)備,具有DHCP功能的網(wǎng)絡(luò)連接設(shè)備將自身的DNSIP地址修改為合法的DNS IP地址。該預(yù)先設(shè)置的合法的DNS IP地址白名單列表可以預(yù)先存儲(chǔ)在客戶(hù)端數(shù)據(jù)庫(kù)中,也可以從網(wǎng)站的服務(wù)器(例如:云安全服務(wù)器)上下載;如果匹配成功,則說(shuō)明客戶(hù)端的DNS IP地址是惡意的,則將惡意DNS IP地址修改為合法的DNS IP地址,例如:通過(guò)修改注冊(cè)表鍵值,令其指向合法的DNS IP地址,從而達(dá)到修改注冊(cè)表中鍵值的目的;如果匹配不成功,則放行該DNS IP地址,說(shuō)明可以訪問(wèn)與之對(duì)應(yīng)的網(wǎng)站。從而結(jié)合預(yù)先存儲(chǔ)在客戶(hù)端數(shù)據(jù)庫(kù),對(duì)超出訪問(wèn)次數(shù)的請(qǐng)求源進(jìn)行訪問(wèn)限制。
[0048]本實(shí)施例中可以使用函數(shù)注冊(cè)模塊190在操作系統(tǒng)的防火墻框架內(nèi)注冊(cè)鉤子函數(shù),以便請(qǐng)求獲取模塊110利用鉤子函數(shù)捕捉DNS查詢(xún)請(qǐng)求。其中鉤子函數(shù)(HookFunction)是一種處理或過(guò)濾時(shí)間的回調(diào)函數(shù),當(dāng)每次發(fā)生預(yù)定事件時(shí),鉤子函數(shù)就可以捕捉系統(tǒng)中所有進(jìn)程將發(fā)生的事件消息,它的作用是將消息在抵達(dá)窗口程序之前先鉤到一個(gè)地方以預(yù)先處理。
[0049]鉤子函數(shù)獲取所有的查詢(xún)數(shù)據(jù)包后,需要判斷哪些數(shù)據(jù)包是需要進(jìn)行處理的數(shù)據(jù)包,只將需要數(shù)據(jù)包交由請(qǐng)求獲取模塊110處理,不需要處理的數(shù)據(jù)包可以直接透明傳輸交由后續(xù)模塊處理。本實(shí)施例中的DNS攻擊的防御裝置可以通過(guò)DNS查詢(xún)請(qǐng)求包判斷模塊180分別判斷DNS查詢(xún)請(qǐng)求的數(shù)據(jù)包數(shù)據(jù)格式是否符合預(yù)定協(xié)議,以及DNS查詢(xún)請(qǐng)求的目的端口是否為預(yù)定端口 ;如果DNS查詢(xún)請(qǐng)求包判斷模塊180的判斷結(jié)果均為是,請(qǐng)求記錄信息查詢(xún)模塊120執(zhí)行查詢(xún)請(qǐng)求記錄信息的步驟,如果有任一項(xiàng)判斷結(jié)果為否,可直接透?jìng)鲾?shù)據(jù)包,不影響其他數(shù)據(jù)的傳輸。
[0050]請(qǐng)求記錄信息查詢(xún)模塊120可以利用第一索引表查詢(xún)子模塊121和第二索引表查詢(xún)子模塊122進(jìn)行二級(jí)索引查詢(xún),具體地,第一索引表查詢(xún)子模塊121按照IP地址中前三段的數(shù)值在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針。第二索引表查詢(xún)子模塊122,按照IP地址中前三段的數(shù)值對(duì)應(yīng)的存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表,并按照IP地址的第四段的數(shù)值在IP地址中前三段的數(shù)值對(duì)應(yīng)的第二索引表中查找IP地址對(duì)應(yīng)的請(qǐng)求記錄信息。其中第一索引表中存儲(chǔ)有多個(gè)IP地址段分別對(duì)應(yīng)的第二索引表的存儲(chǔ)指針,第二索引表中存儲(chǔ)有一個(gè)IP地址段中多個(gè)IP地址的請(qǐng)求記錄信息。
[0051]進(jìn)一步地,在第一索引表中,索引值為IP地址的前三段數(shù)值的哈希值,索引項(xiàng)為IP地址段對(duì)應(yīng)的第二索引表的存儲(chǔ)指針,在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索弓I表中查找對(duì)應(yīng)的存儲(chǔ)指針包括:計(jì)算IP地址中的前三段的數(shù)值的哈希值;將哈希值作為索引值在第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針。
[0052]在進(jìn)行查詢(xún)后,還需要將本次的訪問(wèn)信息添加至訪問(wèn)記錄數(shù)據(jù)庫(kù)中的對(duì)應(yīng)位置,進(jìn)行訪問(wèn)記錄信息的更新。另外,查詢(xún)中還可能出現(xiàn)查詢(xún)結(jié)果為空的情況,因此本發(fā)明的實(shí)施例中,第一索引表更新模塊151判斷第一索引表查詢(xún)子模塊121查詢(xún)出的存儲(chǔ)指針是否為空;若是,為IP地址所在的IP地址段分配存儲(chǔ)空間,并在存儲(chǔ)空間內(nèi)建立包含多個(gè)結(jié)構(gòu)體的數(shù)組作為第二索引表,并保存存儲(chǔ)空間的存儲(chǔ)指針。從而在出現(xiàn)有訪問(wèn)記錄數(shù)據(jù)庫(kù)之前未記錄的IP地址段中IP地址進(jìn)行DNS查詢(xún)時(shí),在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中建立該IP地址段的索引項(xiàng)。
[0053]第二索引表更新模塊152用于判斷第二索引表中是否包含IP地址對(duì)應(yīng)的請(qǐng)求記錄信息;若否,在第二索引表中分配IP地址的存儲(chǔ)空間,并將DNS查詢(xún)請(qǐng)求的信息保存為請(qǐng)求記錄信息;若是,在IP地址對(duì)應(yīng)的請(qǐng)求記錄信息中添加DNS查詢(xún)請(qǐng)求的信息,以對(duì)請(qǐng)求記錄信息進(jìn)行更新。利用第二索引表更新模塊152可以在第二索引表中更新IP地址的請(qǐng)求記錄,并在第二索引表中不存在請(qǐng)求源的IP地址的情況下,新建該IP地址的索引項(xiàng)。
[0054]為了節(jié)省存儲(chǔ)資源,本實(shí)施例中還可以利用資源回收模塊170,用于掃描第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄信息,例如一小時(shí)內(nèi)沒(méi)有查詢(xún)請(qǐng)求的IP地址的索引項(xiàng)可以被刪除,已釋放更多空間。
[0055]在確定出攻擊后,本實(shí)施例的DNS攻擊的防御裝置還可以向安裝有相應(yīng)客戶(hù)端的請(qǐng)求源返回DNS請(qǐng)求異常的信息,以便客戶(hù)端進(jìn)行提示或處理,例如在安全建議顯示區(qū)域輸出提示信息向用戶(hù)提示,或者將DNS服務(wù)器地址修改為預(yù)設(shè)的安全地址。
[0056]利用攻擊提示模塊160向用戶(hù)的客戶(hù)端報(bào)告DNS攻擊后,客戶(hù)端在安全建議顯示區(qū)域輸出請(qǐng)求源的攻擊檢測(cè)結(jié)果。顯示的方式可以是在類(lèi)似于安全衛(wèi)士之類(lèi)的互聯(lián)網(wǎng)軟件顯示界面中的安全隱患部分輸出,類(lèi)似地,還可以通過(guò)彈出氣泡、對(duì)話(huà)框等方式顯示。通過(guò)與客戶(hù)端的安全聯(lián)動(dòng),進(jìn)一步提高安全性。 [0057]本發(fā)明實(shí)施例中DNS攻擊的防御裝置可以針對(duì)Linux服務(wù)器,借助于Linux自帶防火墻框架Netfilter,注冊(cè)鉤子函數(shù)。其中,函數(shù)注冊(cè)模塊190可以使用Netfilter HOOK函數(shù)注冊(cè)模塊,用于將鉤子函數(shù)注冊(cè)到Linux內(nèi)核。這樣所有網(wǎng)絡(luò)協(xié)議數(shù)據(jù)包都會(huì)通過(guò)注冊(cè)的鉤子處理函數(shù)以進(jìn)行處理。
[0058]DNS查詢(xún)請(qǐng)求包判斷模塊180的判斷段條件可以是數(shù)據(jù)包是UDP包,并且目的端口是53,這是因?yàn)镈NS協(xié)議運(yùn)行在UDP (User Datagram Protocol,用戶(hù)數(shù)據(jù)報(bào)協(xié)議),使用端口號(hào)53。在傳輸層TCP提供端到端可靠的服務(wù),在UDP端提供盡力交付的服務(wù)。其控制端口作用于UDP端口 53。
[0059]請(qǐng)求記錄信息查詢(xún)模塊120的查找算法可以為:當(dāng)獲取到DNS請(qǐng)求包時(shí),將源IP地址的前三段作為哈希表的哈希值。如果該哈希值對(duì)應(yīng)的節(jié)點(diǎn)內(nèi)容為空,則分配一個(gè)數(shù)組,
包含256個(gè)結(jié)構(gòu)體。數(shù)組中對(duì)應(yīng)的每個(gè)結(jié)構(gòu)體--對(duì)應(yīng)這源IP地址第四段的訪問(wèn)信息。
訪問(wèn)信息可以包含有一秒內(nèi)的訪問(wèn)次數(shù)和具體的訪問(wèn)時(shí)間。具體的算法在以下實(shí)施例中的DNS攻擊的防御方法詳細(xì)介紹。
[0060]攻擊判斷模塊130判斷請(qǐng)求源IP是否超出了系統(tǒng)設(shè)置的限速閾值。判斷條件為,如果一秒內(nèi)訪問(wèn)的次數(shù)超過(guò)了閾值則將該數(shù)據(jù)包丟棄,否則向上層協(xié)議透明傳輸該請(qǐng)求,以進(jìn)行正常處理。
[0061]資源回收模塊170,定時(shí)掃描第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄信息。[0062]本發(fā)明實(shí)施例還提供了一種DNS攻擊的防御方法,該DNS攻擊的防御法可以由以上實(shí)施例介紹的任意一種DNS攻擊的裝置來(lái)執(zhí)行,以提高實(shí)現(xiàn)精準(zhǔn)的攻擊防御。圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御方法的示意圖,如圖所示,該實(shí)現(xiàn)了精確的攻擊防御方法包括以下步驟:
[0063]步驟S202,獲取DNS查詢(xún)請(qǐng)求以及DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;
[0064]步驟S204,按照IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出請(qǐng)求源的請(qǐng)求記錄信息;
[0065]步驟S206,判斷請(qǐng)求記錄信息中在預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;
[0066]步驟S208,若是,判定請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。
[0067]其中,步驟S202可以包括:在操作系統(tǒng)的防火墻框架內(nèi)注冊(cè)鉤子函數(shù);利用鉤子函數(shù)捕捉DNS查詢(xún)請(qǐng)求。
[0068]步驟S202獲取DNS查詢(xún)請(qǐng)求之后還可以包括:分別判斷DNS查詢(xún)請(qǐng)求的數(shù)據(jù)包數(shù)據(jù)格式是否符合預(yù)定協(xié)議,以及DNS查詢(xún)請(qǐng)求的目的端口是否為預(yù)定端口 ;若均為是,執(zhí)行查詢(xún)請(qǐng)求記錄信息的步驟。其中判斷依據(jù)可以為數(shù)據(jù)包是UDP包,并且目的端口是53,若不滿(mǎn)足該條,直接透?jìng)鲾?shù)據(jù)包,不影響其他數(shù)據(jù)包的正常傳輸。
[0069]判斷依據(jù)可以根據(jù)RFC (Request For Comments,征求修正意見(jiàn)書(shū))規(guī)定的DNS格式進(jìn)行判斷,例如使用以下的RFC文檔的內(nèi)容進(jìn)行DNS查詢(xún)請(qǐng)求數(shù)據(jù)包的判斷:1034域名,概念和功能;1035域名,實(shí)現(xiàn)和規(guī)范;1123Internet主機(jī)要求,應(yīng)用和支持;1886,支持IP版本6的DNS擴(kuò)展名;1995,DNS中的增量區(qū)域傳輸;1996提示通知區(qū)域更改的機(jī)制(DNS N0TIFY);2136,域名系統(tǒng)中的動(dòng)態(tài)更新(DNS UPDATE);2181,對(duì)DNS規(guī)范的說(shuō)明;2308,DNS查詢(xún)的負(fù)緩存(DNS NCACHE) ;2535,域名系統(tǒng)安全擴(kuò)展(DNSSEC) ;2671DNS的擴(kuò)展機(jī)制(EDNSO) ;2782,指定服務(wù)位置的 DNS RR (DNS SRV)。
[0070]步驟S204無(wú)法使用全I(xiàn)P地址映射索引表。原因?yàn)樗饕淼膬?nèi)存消耗過(guò)大:針對(duì)所用的所有IP地址,索引表將擁有4G表項(xiàng),每個(gè)索引表項(xiàng)存儲(chǔ)4字節(jié)的指向?qū)?yīng)信息結(jié)構(gòu)體指針,那么整個(gè)內(nèi)存資源消耗過(guò)大,幾乎無(wú)法實(shí)現(xiàn)。因此步驟S204采用高速緩存采用二級(jí)索引表,二級(jí)索引表由兩級(jí)索引組成。其中第一索引表中存儲(chǔ)有多個(gè)IP地址段分別對(duì)應(yīng)的第二索引表的存儲(chǔ)指針。第二索引表中存儲(chǔ)有一個(gè)IP地址段中多個(gè)IP地址的請(qǐng)求記錄信息。例如,IP地址前三段作為一級(jí)索引,第四段作為二級(jí)索引。
[0071]步驟S204的一種流程為:按照IP地址中前三段的數(shù)值,在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針,按照IP地址中前三段的數(shù)值對(duì)應(yīng)的存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表,然后按照IP地址的第四段的數(shù)值,在IP地址中前三段的數(shù)值對(duì)應(yīng)的第二索引表中查找IP地址對(duì)應(yīng)的請(qǐng)求記錄信息。
[0072]在第一索引表中索引值可以為IP地址的前三段數(shù)值的哈希值,索引項(xiàng)為IP地址段對(duì)應(yīng)的第二索引表的存儲(chǔ)指針,則以上在訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針包括:計(jì)算IP地址中的前三段的數(shù)值的哈希值;將哈希值作為索引值在第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針。
[0073]第一索引表中查詢(xún)出的存儲(chǔ)指針如果為空的情況下,需要為請(qǐng)求源對(duì)應(yīng)的地址段建立對(duì)應(yīng)的第二索引表并存儲(chǔ)其指針,具體流程可以為:IP地址所在的IP地址段分配存儲(chǔ)空間,并在存儲(chǔ)空間內(nèi)建立包含多個(gè)結(jié)構(gòu)體的數(shù)組作為第二索引表,并保存存儲(chǔ)空間的存儲(chǔ)指針;如果存儲(chǔ)指針不為空,則對(duì)應(yīng)的第二索引表已建立,直接執(zhí)行按照存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表的步驟。
[0074]另外第二索引表中也存在沒(méi)有IP地址對(duì)應(yīng)的請(qǐng)求記錄的情況,此時(shí)需要判斷第二索引表中是否包含IP地址對(duì)應(yīng)的請(qǐng)求記錄信息;若否,在第二索引表中分配IP地址的存儲(chǔ)空間,并將DNS查詢(xún)請(qǐng)求的信息保存為請(qǐng)求記錄信息;若是,在IP地址對(duì)應(yīng)的請(qǐng)求記錄信息中添加DNS查詢(xún)請(qǐng)求的信息,以對(duì)請(qǐng)求記錄信息進(jìn)行更新。
[0075]為節(jié)省存儲(chǔ)空間,還可以定期掃描第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄信息。
[0076]一級(jí)索引最大值是0XFFFFFF,即索引范圍是0X00到0XFFFFFF,步長(zhǎng)固定,索引項(xiàng)存儲(chǔ)指針。第二段索引最大值是0XFF,即索引范圍是0X00到0XFF,步長(zhǎng)固定,索引項(xiàng)存儲(chǔ)本計(jì)數(shù)周期開(kāi)始的時(shí)間和本周期訪問(wèn)次數(shù)。為了節(jié)省內(nèi)存,一級(jí)索引存儲(chǔ)指針預(yù)先分配,二級(jí)索引動(dòng)態(tài)分配,即只有該項(xiàng)對(duì)應(yīng)的IP地址訪問(wèn)才分配內(nèi)存。
[0077]圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御方法中二級(jí)索引結(jié)構(gòu)的示意圖,當(dāng)有IP地址訪問(wèn)時(shí),直接根據(jù)IP地址前段定位到一級(jí)索引項(xiàng);如果索引項(xiàng)的存儲(chǔ)指針為空,分配二級(jí)索引項(xiàng)的存儲(chǔ)空間。根據(jù)IP地址第四段,定位二級(jí)索引項(xiàng),并將計(jì)數(shù)周期開(kāi)始時(shí)間,設(shè)置為當(dāng)前時(shí)間,本周期訪問(wèn)次數(shù)設(shè)為I。
[0078]如果索引項(xiàng)指針不為空,根據(jù)IP地址第四段數(shù)值定位二級(jí)索引項(xiàng)。根據(jù)計(jì)數(shù)周期開(kāi)始時(shí)間,判斷本周期的請(qǐng)求次數(shù)是否超出限值,如果計(jì)數(shù)周期超出限值,設(shè)置為當(dāng)前時(shí)間,本周起訪問(wèn)次數(shù)設(shè)為1,該數(shù)據(jù)包放行;如果計(jì)數(shù)周期沒(méi)有超出,本周期訪問(wèn)次數(shù)加I。從而根據(jù)本周期訪問(wèn)次數(shù)判斷,該IP地址訪問(wèn)次數(shù)是否超速,如果本周期訪問(wèn)次數(shù)大于最大限制次數(shù)認(rèn)為超速,該數(shù)據(jù)包直接丟棄,否則放行。一般而言,預(yù)定周期可以設(shè)置為一秒,若一秒內(nèi)的請(qǐng)求次數(shù)超過(guò)限值,則自動(dòng)進(jìn)行屏蔽,也就是忽略了超過(guò)限值的DNS查詢(xún)請(qǐng)求。
[0079]在步驟S208之后,還可以向請(qǐng)求源的客戶(hù)端返回DNS請(qǐng)求異常的信息,以便客戶(hù)端進(jìn)行提示或處理??蛻?hù)端可以在安全建議顯示區(qū)域輸出請(qǐng)求源的攻擊檢測(cè)結(jié)果,顯示的方式是在類(lèi)似于安全衛(wèi)士之類(lèi)的互聯(lián)網(wǎng)軟件顯示界面中的安全隱患部分輸出,類(lèi)似地,還可以通過(guò)彈出氣泡、對(duì)話(huà)框等方式顯示。
[0080]圖4是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS攻擊的防御方法的一種流程圖,服務(wù)器的網(wǎng)卡接收到數(shù)據(jù)流量,首先判斷數(shù)據(jù)包是否為UDP數(shù)據(jù)包以及目的端口是否為53,若均為是,確定數(shù)據(jù)包為DNS數(shù)據(jù)包后,進(jìn)行請(qǐng)求源IP解析,按照請(qǐng)求源的IP地址進(jìn)行兩級(jí)索引查詢(xún),查找出IP地址的請(qǐng)求記錄信息,并判斷周期內(nèi)的IP地址的請(qǐng)求次數(shù)是否超過(guò)閾值,即判斷請(qǐng)求是否超速,如果超速,丟棄該IP地址的DNS查詢(xún)請(qǐng)求,若未超速,將DNS查詢(xún)請(qǐng)求透?jìng)鹘o上層協(xié)議棧進(jìn)行處理。
[0081]本實(shí)施例中的防御方法和防御裝置可以集成于類(lèi)似于安全衛(wèi)士的互聯(lián)網(wǎng)安全軟件中,與安全中心的云端服務(wù)器數(shù)據(jù)連接,及時(shí)發(fā)現(xiàn)并上報(bào)可疑DNS,減小惡意DNS對(duì)網(wǎng)絡(luò)
的侵害。
[0082]圖5是根據(jù)本發(fā)明一個(gè)實(shí)施例的DNS系統(tǒng)的系統(tǒng)架構(gòu)圖,該DNS系統(tǒng)提供了高可靠、高防護(hù)、高性能的域名解析服務(wù)。當(dāng)頂級(jí)服務(wù)器、根域服務(wù)器或授權(quán)服務(wù)器遭遇攻擊或故障時(shí),本實(shí)施例的DNS系統(tǒng)可啟動(dòng)災(zāi)備緊急應(yīng)答模式,保障互聯(lián)網(wǎng)在根域服務(wù)器或授權(quán)服務(wù)器修復(fù)之前基本正常運(yùn)行,為系統(tǒng)搶修和恢復(fù)留下足夠的時(shí)間。與客戶(hù)端的安全衛(wèi)士聯(lián)動(dòng),可以第一時(shí)間提示用戶(hù),并幫助用戶(hù)使用安全DNS進(jìn)行域名解析,并能在故障解除之后迅速將用戶(hù)的DNS恢復(fù)為故障前設(shè)置。
[0083]在本實(shí)施例中的DNS系統(tǒng)包括有一個(gè)或多個(gè)DNS安全服務(wù)器(如圖中設(shè)置于北京電信、上海電信、上海聯(lián)通、北京聯(lián)通中的DNS服務(wù)器),分別用于對(duì)用戶(hù)客戶(hù)端的發(fā)出的DNS解析請(qǐng)求進(jìn)行域名解析,在每臺(tái)DNS安全服務(wù)器中設(shè)置有上述任一種實(shí)施例中介紹的DNS攻擊的防御裝置。在如圖5所示的DNS系統(tǒng)架構(gòu)中,當(dāng)上海電信、北京電信、上海聯(lián)通以及北京聯(lián)通的用戶(hù)在使用網(wǎng)絡(luò)服務(wù)時(shí),在DNS安全服務(wù)器設(shè)置有DNS攻擊的防御裝置,該防御裝置獲取DNS查詢(xún)請(qǐng)求以及DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;按照IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出請(qǐng)求源的請(qǐng)求記錄信息;判斷請(qǐng)求記錄信息中在預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;若是,判定請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。防御方法可以使用直接過(guò)濾超速的DNS請(qǐng)求,或者結(jié)合用戶(hù)客戶(hù)端中安裝的安全衛(wèi)士等軟件,進(jìn)行安全防護(hù)和提示,例如用戶(hù)客戶(hù)端在安全建議顯示區(qū)域輸出提示信息或?qū)NS服務(wù)器地址修改為預(yù)設(shè)的安全地址。
[0084]DNS安全服務(wù)器通過(guò)使用一個(gè)高速緩存,采用緩存存取優(yōu)化、預(yù)更新等各種手段盡量降低了解析時(shí)延,實(shí)現(xiàn)了高速安全解析。當(dāng)某一個(gè)IP請(qǐng)求源的流量異常突增時(shí),DNS攻擊的防御裝置自動(dòng)分析和安全聯(lián)動(dòng)措施,對(duì)該IP的DNS解析請(qǐng)求源限速。通過(guò)DNS攻擊的防御裝置驗(yàn)證的DNS解析請(qǐng)求,可以直接通過(guò)RCS集群和災(zāi)備系統(tǒng)進(jìn)行后續(xù)處理。
[0085]需要說(shuō)明的是,本例中提及的上海電信、北京電信、上海聯(lián)通以及北京聯(lián)通僅用作示例,并不對(duì)實(shí)際操作中的用戶(hù)來(lái)源形成限定。本發(fā)明的防御方法和防御裝置還可以在檢測(cè)出攻擊的攻擊源后,結(jié)合檢測(cè)可疑DNS的方法通過(guò)對(duì)比已知DNS和待檢測(cè)的目標(biāo)DNS對(duì)常用域名的解析結(jié)果,在待檢測(cè)的目標(biāo)DNS的解析結(jié)果明顯不同于已知DNS的解析結(jié)果時(shí),將目標(biāo)DNS標(biāo)記為可疑DNS。可以簡(jiǎn)單迅速地確定出將域名解析成未知結(jié)果的DNS,為進(jìn)一步分析和處理提供了基礎(chǔ)。
[0086]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0087]類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0088]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0089]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0090]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的DNS攻擊的防御裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0091]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。
[0092]至此,本領(lǐng)域技術(shù)人員應(yīng)認(rèn)識(shí)到,雖然本文已詳盡示出和描述了本發(fā)明的多個(gè)示例性實(shí)施例,但是,在不脫離本發(fā)明精神和范圍的情況下,仍可根據(jù)本發(fā)明公開(kāi)的內(nèi)容直接確定或推導(dǎo)出符合本發(fā)明原理的許多其他變型或修改。因此,本發(fā)明的范圍應(yīng)被理解和認(rèn)定為覆蓋了所有這些其他變型或修改。
[0093]本發(fā)明提供了 Al.—種DNS攻擊的防御方法,包括:
[0094]獲取DNS查詢(xún)請(qǐng)求以及所述DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;
[0095]按照所述IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出所述請(qǐng)求源的請(qǐng)求記錄信息;
[0096]判斷所述請(qǐng)求記錄信息中預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;
[0097]若是,判定所述請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。
[0098]A2.根據(jù)Al所述的方法,其中,獲取DNS查詢(xún)請(qǐng)求包括:
[0099]在操作系統(tǒng)的防火墻框架內(nèi)注冊(cè)鉤子函數(shù);
[0100]利用所述鉤子函數(shù)捕捉所述DNS查詢(xún)請(qǐng)求。
[0101]A3.根據(jù)Al所述的方法,其中,在獲取DNS查詢(xún)請(qǐng)求之后還包括:
[0102]分別判斷所述DNS查詢(xún)請(qǐng)求的數(shù)據(jù)包數(shù)據(jù)格式是否符合預(yù)定協(xié)議,以及所述DNS查詢(xún)請(qǐng)求的目的端口是否為預(yù)定端口 ;
[0103]若均為是,執(zhí)行查詢(xún)所述請(qǐng)求記錄信息的步驟。
[0104]A4.根據(jù)Al至A3中任一項(xiàng)所述的方法,其中,按照所述IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出所述請(qǐng)求源在預(yù)定周期內(nèi)的請(qǐng)求記錄信息包括:[0105]按照所述IP地址中前三段的數(shù)值,在所述訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針,其中所述第一索引表中存儲(chǔ)有多個(gè)IP地址段分別對(duì)應(yīng)的第二索引表的存儲(chǔ)指針;
[0106]按照所述IP地址中前三段的數(shù)值對(duì)應(yīng)的存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表,所述第二索引表中存儲(chǔ)有一個(gè)IP地址段中多個(gè)IP地址的請(qǐng)求記錄信息;
[0107]按照所述IP地址的第四段的數(shù)值,在所述IP地址中前三段的數(shù)值對(duì)應(yīng)的所述第二索引表中查找所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息。
[0108]A5.根據(jù)A4所述的方法,其中,
[0109]在所述第一索引表中,索引值為IP地址的前三段數(shù)值的哈希值,索引項(xiàng)為所述IP地址段對(duì)應(yīng)的第二索引表的存儲(chǔ)指針,
[0110]在所述訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針包括:
[0111]計(jì)算所述IP地址中的前三段的數(shù)值的哈希值;
[0112]將所述哈希值作為索引值在所述第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針。
[0113]A6.根據(jù)A4所述的方法,其中,按照所述IP地址中前三段的數(shù)值,在所述訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針之后還包括:
[0114]判斷所述存儲(chǔ)指針是否為空;
[0115]若是,為所述IP地址所在的IP地址段分配存儲(chǔ)空間,并在所述存儲(chǔ)空間內(nèi)建立包含多個(gè)結(jié)構(gòu)體的數(shù)組作為第二索引表,并保存所述存儲(chǔ)空間的存儲(chǔ)指針;
[0116]若否,執(zhí)行按照所述存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表的步驟。
[0117]A7.根據(jù)A4所述的方法,其中,按照所述IP地址的第四段的數(shù)值,在所述IP地址中前三段的數(shù)值對(duì)應(yīng)的所述第二索引表中查找所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息之后還包括:
[0118]判斷所述第二索引表中是否包含所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息;
[0119]若否,在所述第二索引表中分配所述IP地址的存儲(chǔ)空間,并將所述DNS查詢(xún)請(qǐng)求的信息保存為請(qǐng)求記錄信息;
[0120]若是,在所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息中添加所述DNS查詢(xún)請(qǐng)求的信息,以對(duì)所述請(qǐng)求記錄信息進(jìn)行更新。
[0121]AS.根據(jù)A7所述的方法,其中在判斷所述第二索引表中是否包含所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息之后還包括:
[0122]掃描所述第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄/[目息。
[0123]A9.根據(jù)Al至AS中任一項(xiàng)所述的方法,其中,在判定所述請(qǐng)求源進(jìn)行DNS攻擊之后還包括:
[0124]向所述請(qǐng)求源的客戶(hù)端返回DNS請(qǐng)求異常的信息,以便所述客戶(hù)端進(jìn)行提示或處理。
[0125]本發(fā)明還提供了 B10.—種DNS攻擊的防御裝置,包括:
[0126]請(qǐng)求獲取模塊,用于獲取DNS查詢(xún)請(qǐng)求以及所述DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;
[0127]請(qǐng)求記錄信息查詢(xún)模塊,用于按照所述IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出所述請(qǐng)求源的請(qǐng)求記錄信息;
[0128]攻擊判斷模塊,用于判斷所述請(qǐng)求記錄信息記錄中在預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值;
[0129]防御模塊,用于在所述攻擊判斷模塊的判斷結(jié)果為是的情況下,判定所述請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。
[0130]Bll.根據(jù)BlO所述的裝置,還包括:
[0131]函數(shù)注冊(cè)模塊,用于在操作系統(tǒng)的防火墻框架內(nèi)注冊(cè)鉤子函數(shù);
[0132]所述請(qǐng)求獲取模塊還被配置為:利用所述鉤子函數(shù)捕捉所述DNS查詢(xún)請(qǐng)求。
[0133]B12.根據(jù)BlO所述的裝置,還包括:
[0134]DNS查詢(xún)請(qǐng)求包判斷模塊,用于分別判斷所述DNS查詢(xún)請(qǐng)求的數(shù)據(jù)包數(shù)據(jù)格式是否符合預(yù)定協(xié)議,以及所述DNS查詢(xún)請(qǐng)求的目的端口是否為預(yù)定端口 ;
[0135]請(qǐng)求記錄信息查詢(xún)模塊還被配置為:如果DNS查詢(xún)請(qǐng)求包判斷模塊的判斷結(jié)果均為是,執(zhí)行查詢(xún)所述請(qǐng)求記錄信息的步驟。
[0136]B13.根據(jù)BlO至B12中任一項(xiàng)所述的裝置,其中,所述請(qǐng)求記錄信息查詢(xún)模塊包括:
[0137]第一索引表查詢(xún)子模塊,用于按照所述IP地址中前三段的數(shù)值在所述訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針,其中所述第一索引表中存儲(chǔ)有多個(gè)IP地址段分別對(duì)應(yīng)的第二索引表的存儲(chǔ)指針;
[0138]第二索引表查詢(xún)子模塊,用于按照所述IP地址中前三段的數(shù)值對(duì)應(yīng)的存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表,并按照所述IP地址的第四段的數(shù)值在所述IP地址中前三段的數(shù)值對(duì)應(yīng)的所述第二索引表中查找所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息,所述第二索引表中存儲(chǔ)有一個(gè)IP地址段中多個(gè)IP地址的請(qǐng)求記錄信息。
[0139]B14.根據(jù)B13所述的裝置,還包括:
[0140]第一索引表更新模塊,用于判斷所述第一索引表查詢(xún)子模塊查詢(xún)出的存儲(chǔ)指針是否為空;若是,為所述IP地址所在的IP地址段分配存儲(chǔ)空間,并在所述存儲(chǔ)空間內(nèi)建立包含多個(gè)結(jié)構(gòu)體的數(shù)組作為第二索引表,并保存所述存儲(chǔ)空間的存儲(chǔ)指針。
[0141]B15.根據(jù)B13所述的裝置,還包括:
[0142]第二索引表更新模塊,用于判斷所述第二索引表中是否包含所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息;若否,在所述第二索引表中分配所述IP地址的存儲(chǔ)空間,并將所述DNS查詢(xún)請(qǐng)求的信息保存為請(qǐng)求記錄信息;若是,在所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息中添加所述DNS查詢(xún)請(qǐng)求的信息,以對(duì)所述請(qǐng)求記錄信息進(jìn)行更新。
[0143]B16.根據(jù)B15所述的裝置,還包括:
[0144]資源回收模塊,用于掃描所述第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄信息。
[0145]B17.根據(jù)BlO至B16中任一項(xiàng)所述的裝置,還包括:
[0146]攻擊提示模塊,用于向所述請(qǐng)求源的客戶(hù)端返回DNS請(qǐng)求異常的信息,以便所述客戶(hù)端進(jìn)行提示或處理。
[0147]本發(fā)明還提供了 C18.—種DNS系統(tǒng),包括:
[0148]至少一臺(tái)DNS安全服務(wù)器,用于根據(jù)用戶(hù)請(qǐng)求進(jìn)行域名解析,DNS安全服務(wù)器中設(shè)置有根據(jù)BlO至B17中任一項(xiàng)所述的DNS攻擊的防御裝置。
[0149]C19.根據(jù)C18所述的DNS系統(tǒng),還包括:
[0150]用戶(hù)客戶(hù)端,配置為接收所述DNS攻擊的防御裝置下發(fā)的DNS請(qǐng)求異常的信息,并在安全建議顯示區(qū)域輸出提示信息和/或?qū)NS服務(wù)器地址修改為預(yù)設(shè)的安全地址。
【權(quán)利要求】
1.一種DNS攻擊的防御方法,包括: 獲取DNS查詢(xún)請(qǐng)求以及所述DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址; 按照所述IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出所述請(qǐng)求源的請(qǐng)求記錄信息; 判斷所述請(qǐng)求記錄信息中預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值; 若是,判定所述請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。
2.根據(jù)權(quán)利要求1所述的方法,其中,獲取DNS查詢(xún)請(qǐng)求包括: 在操作系統(tǒng)的防火墻框架內(nèi)注冊(cè)鉤子函數(shù); 利用所述鉤子函數(shù)捕捉所述DNS查詢(xún)請(qǐng)求。
3.根據(jù)權(quán)利要求1所述的方法,其中,在獲取DNS查詢(xún)請(qǐng)求之后還包括: 分別判斷所述DNS查詢(xún)請(qǐng)求的數(shù)據(jù)包數(shù)據(jù)格式是否符合預(yù)定協(xié)議,以及所述DNS查詢(xún)請(qǐng)求的目的端口是否為預(yù)定端口; 若均為是,執(zhí)行查詢(xún)所述請(qǐng)求記錄信息的步驟。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的方法,其中,按照所述IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出所述請(qǐng)求源在預(yù)定周期內(nèi)的請(qǐng)求記錄信息包括: 按照所述IP地址中前三段的數(shù)值,在所述訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針,其中所述第一索引表中存儲(chǔ)有多個(gè)IP地址段分別對(duì)應(yīng)的第二索引表的存儲(chǔ)指針; 按照所述IP地址中前三段的數(shù)值對(duì)應(yīng)的存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表,所述第二索引表中存儲(chǔ)有一個(gè)IP地址段中多個(gè)IP地址的請(qǐng)求記錄信息; 按照所述IP地址的第四段的數(shù)值,在所述IP地址中前三段的數(shù)值對(duì)應(yīng)的所述第二索引表中查找所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息。
5.根據(jù)權(quán)利要求4所述的方法,其中, 在所述第一索引表中,索引值為IP地址的前三段數(shù)值的哈希值,索引項(xiàng)為所述IP地址段對(duì)應(yīng)的第二索引表的存儲(chǔ)指針, 在所述訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針包括: 計(jì)算所述IP地址中的前三段的數(shù)值的哈希值; 將所述哈希值作為索引值在所述第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針。
6.根據(jù)權(quán)利要求4所述的方法,其中,按照所述IP地址中前三段的數(shù)值,在所述訪問(wèn)記錄數(shù)據(jù)庫(kù)的第一索引表中查找對(duì)應(yīng)的存儲(chǔ)指針之后還包括: 判斷所述存儲(chǔ)指針是否為空; 若是,為所述IP地址所在的IP地址段分配存儲(chǔ)空間,并在所述存儲(chǔ)空間內(nèi)建立包含多個(gè)結(jié)構(gòu)體的數(shù)組作為第二索引表,并保存所述存儲(chǔ)空間的存儲(chǔ)指針; 若否,執(zhí)行按照所述存儲(chǔ)指針讀取對(duì)應(yīng)的第二索引表的步驟。
7.根據(jù)權(quán)利要求4所述的方法,其中,按照所述IP地址的第四段的數(shù)值,在所述IP地址中前三段的數(shù)值對(duì)應(yīng)的所述第二索引表中查找所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息之后還包括: 判斷所述第二索引表中是否包含所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息; 若否,在所述第二索引表中分配所述IP地址的存儲(chǔ)空間,并將所述DNS查詢(xún)請(qǐng)求的信息保存為請(qǐng)求記錄信息;若是,在所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息中添加所述DNS查詢(xún)請(qǐng)求的信息,以對(duì)所述請(qǐng)求記錄信息進(jìn)行更新。
8.根據(jù)權(quán)利要求7所述的方法,其中在判斷所述第二索引表中是否包含所述IP地址對(duì)應(yīng)的請(qǐng)求記錄信息之后還包括: 掃描所述第二索引表中的請(qǐng)求記錄信息,并刪除預(yù)訂時(shí)間內(nèi)持續(xù)未更新的請(qǐng)求記錄信息。
9.一種DNS攻擊的防御裝置,包括: 請(qǐng)求獲取模塊,用于獲取DNS查詢(xún)請(qǐng)求以及所述DNS查詢(xún)請(qǐng)求的請(qǐng)求源的IP地址;請(qǐng)求記錄信息查詢(xún)模塊,用于按照所述IP地址在訪問(wèn)記錄數(shù)據(jù)庫(kù)中查詢(xún)得出所述請(qǐng)求源的請(qǐng)求記錄信息; 攻擊判斷模塊,用于判斷所述請(qǐng)求記錄信息記錄中在預(yù)定周期內(nèi)的請(qǐng)求次數(shù)是否超出了預(yù)設(shè)閾值; 防御模塊,用于在所述攻擊判斷模塊的判斷結(jié)果為是的情況下,判定所述請(qǐng)求源進(jìn)行DNS攻擊,并進(jìn)行防御。
10.一種DNS系統(tǒng),包括: 至少一臺(tái)DNS安全服務(wù)器,用于根據(jù)用戶(hù)請(qǐng)求進(jìn)行域名解析,DNS安全服務(wù)器中設(shè)置有根據(jù)權(quán)利要求9所述的DNS攻擊的防御裝置。
【文檔編號(hào)】H04L29/06GK103957195SQ201410136693
【公開(kāi)日】2014年7月30日 申請(qǐng)日期:2014年4月4日 優(yōu)先權(quán)日:2014年4月4日
【發(fā)明者】濮燦 申請(qǐng)人:上海聚流軟件科技有限公司