專利名稱:數(shù)據(jù)報(bào)文的檢測(cè)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)安全領(lǐng)域,具體而言,涉及一種數(shù)據(jù)報(bào)文的檢測(cè)方法及裝置。
背景技術(shù):
肉雞就是被黑客攻破,種植了木馬病毒的電腦,黑客可以隨意操縱它并利用它做任何事情,就像傀偏一樣。通常情況下,如果DNS請(qǐng)求包小于512字節(jié)用UDP協(xié)議,只有大于512字節(jié)的請(qǐng)求包才會(huì)采用TCP協(xié)議進(jìn)行傳輸。UDP本身是無(wú)連接的,DNS請(qǐng)求也是無(wú)連接的,在用UDP協(xié)議做DNS請(qǐng)求時(shí),通常是一應(yīng)一答的方式,客戶端向服務(wù)器發(fā)送一個(gè)Query包,服務(wù)器回應(yīng) 一個(gè) Request 包。隨著互聯(lián)網(wǎng)的迅猛發(fā)展,同時(shí)由于域名資源的投資需要,網(wǎng)絡(luò)上的合法域名不斷增加,合法域名的字符組成甚至可以沒(méi)有明顯的語(yǔ)法規(guī)范和字符分布規(guī)律,導(dǎo)致將隨機(jī)構(gòu)造的域名與真實(shí)存在的域名精確高效地區(qū)分開(kāi)來(lái)十分困難。本發(fā)明主要解決的問(wèn)題就是由于DNS請(qǐng)求時(shí)使用UDP協(xié)議本身的無(wú)連接性、以及真假域名不易分辨的特性,導(dǎo)致黑客利用少量肉雞就可以對(duì)DNS服務(wù)器進(jìn)行DNS隨機(jī)請(qǐng)求攻擊就可以造成DNS服務(wù)器的DD0S,攻擊成本較低,而無(wú)需像流量型DDOS攻擊那樣需要消耗大量肉雞資源。DOS (Denial of Service)為拒絕服務(wù),凡是導(dǎo)致合法用戶不能正常訪問(wèn)網(wǎng)絡(luò)服務(wù)的行為都算是拒絕服務(wù)攻擊;DDOS (Distributed Denial of Service)即分布式拒絕服務(wù),DDOS主要是通過(guò)大量的“僵尸主機(jī)”向受害主機(jī)發(fā)送大量看似合法的網(wǎng)絡(luò)包,從而造成網(wǎng)絡(luò)阻塞或者服務(wù)器資源耗盡而導(dǎo)致拒絕服務(wù),分布式拒絕服務(wù)攻擊一旦實(shí)施,攻擊網(wǎng)絡(luò)就會(huì)像洪水般涌向受害主機(jī),從而把合法用戶的網(wǎng)絡(luò)包淹沒(méi),導(dǎo)致合法用戶無(wú)法正常訪問(wèn)服務(wù)器資源。因此,拒絕服務(wù)攻擊又被稱作“泛洪攻擊”。UDP Flood是日益猖獗的流量型D0S/DD0S攻擊,常見(jiàn)的情況是利用大量的UDP(用戶數(shù)據(jù)包協(xié)議)小包沖擊DNS服務(wù)器或Radius認(rèn)證服務(wù)器、流媒體視頻服務(wù)器。由于UDP是無(wú)連接的協(xié)議,因此攻擊者可以仿造無(wú)數(shù)個(gè)IP地址發(fā)送數(shù)據(jù)包。DNS隨機(jī)請(qǐng)求攻擊采用的方法是向被攻擊的服務(wù)器發(fā)送大量的UDP隨機(jī)域名解析請(qǐng)求,這些請(qǐng)求解析的域名通常是隨機(jī)生成或者是網(wǎng)絡(luò)世界上根本不存在的域名,被攻擊的DNS服務(wù)器在接收到這種域名解析請(qǐng)求的時(shí)候首先會(huì)在服務(wù)器上查找是否有對(duì)應(yīng)的緩存,如果查找不到并且.該域名無(wú)法直接由服務(wù)器解析的時(shí)候,DNS服務(wù)器會(huì)向其上層DNS服務(wù)器遞歸查詢域名信息。域名解析的過(guò)程給服務(wù)器帶來(lái)了很大的負(fù)載,每秒鐘隨機(jī)域名解析請(qǐng)求超過(guò)一定的數(shù)量就會(huì)造成DNS服務(wù)器解析域名超時(shí),從而導(dǎo)致合法用戶無(wú)法正常訪問(wèn)DNS服務(wù)器。根據(jù)微軟的統(tǒng)計(jì)數(shù)據(jù),一臺(tái)DNS服務(wù)器所能承受的動(dòng)態(tài)域名查詢的上限是每秒鐘9000個(gè)請(qǐng)求,而在一臺(tái)P3的PC機(jī)上可以輕易地構(gòu)造出每秒鐘幾萬(wàn)個(gè)隨機(jī)域名解析請(qǐng)求,足以使一臺(tái)硬件配置極高的DNS服務(wù)器癱瘓,由此可見(jiàn)DNS服務(wù)器的脆弱性。
為了使合法用戶正常訪問(wèn)DNS服務(wù)器,現(xiàn)有技術(shù)可以通過(guò)防護(hù)設(shè)備做基于訪問(wèn)頻率的限速功能來(lái)限制對(duì)服務(wù)器的訪問(wèn)量,該技術(shù)主要是基于訪問(wèn)頻率的閾值的限制,當(dāng)訪問(wèn)頻率達(dá)到用戶設(shè)定的閾值后,便丟棄后續(xù)數(shù)據(jù)。假如用戶設(shè)置的閾值為N (次)/秒,當(dāng)流經(jīng)防火墻的DNS的請(qǐng)求次數(shù)達(dá)到N次/秒這個(gè)頻率后,防火墻會(huì)丟棄超過(guò)這個(gè)閾值的DNS請(qǐng)求包;如圖I所示,防火墻不會(huì)去識(shí)別是否是DDOS的攻擊流量,則防火墻雖然屏蔽掉了一部分攻擊流量對(duì)DNS服務(wù)器的訪問(wèn),但是同時(shí)也使一部分正常流量不能正常訪問(wèn)DNS服務(wù)器。在上述解決方案中,防火墻識(shí)別攻擊流量不夠準(zhǔn)確,會(huì)導(dǎo)致大量的攻擊流量流向服務(wù)器,同時(shí)會(huì)丟棄大量正常訪問(wèn)流量,而且由于網(wǎng)絡(luò)中充斥著大量攻擊流量,低于用戶設(shè)置閾值的流量里大部分也是攻擊流量,用戶設(shè)置的閾值固定,會(huì)導(dǎo)致大量正常訪問(wèn)被阻斷,攻擊流量的攻擊效果沒(méi)有減緩。另外,還可以通過(guò)增加DNS服務(wù)器的冗余設(shè)備來(lái)來(lái)增加服務(wù)帶寬,以保障正常服務(wù)的提供,但是這樣會(huì)大大增加運(yùn)營(yíng)成本,隨著黑客用來(lái)攻擊的肉雞數(shù)量的增加,需要增加 更多的帶寬和冗余設(shè)備數(shù)量。針對(duì)現(xiàn)有技術(shù)中防火墻無(wú)法準(zhǔn)確識(shí)別非法數(shù)據(jù)報(bào)文,導(dǎo)致大量的非法數(shù)據(jù)報(bào)文流向服務(wù)器,從而導(dǎo)致合法用戶無(wú)法正常訪問(wèn)DNS服務(wù)器的問(wèn)題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容
針對(duì)相關(guān)技術(shù)防火墻無(wú)法準(zhǔn)確識(shí)別攻擊流量,導(dǎo)致大量的攻擊流量流向服務(wù)器,從而導(dǎo)致合法用戶無(wú)法正常訪問(wèn)DNS服務(wù)器的問(wèn)題,目前尚未提出有效的解決方案,為此,本發(fā)明的主要目的在于提供一種數(shù)據(jù)報(bào)文的檢測(cè)方法及裝置,以解決上述問(wèn)題。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)報(bào)文的檢測(cè)方法,該方法包括讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù);將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù);判斷隨機(jī)程度分值是否大于阻斷閾值;以及在隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。進(jìn)一步地,在讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)之前,方法包括獲取通過(guò)防火墻的初始數(shù)據(jù)報(bào)文;判斷是否成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng);當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將初始數(shù)據(jù)報(bào)文的域名參數(shù)作為預(yù)設(shè)域名參數(shù)。進(jìn)一步地,預(yù)設(shè)域名參數(shù)保存在域名庫(kù)中,第一數(shù)據(jù)報(bào)文的域名參數(shù)包括頂級(jí)域名、二級(jí)域名以及三級(jí)域名,其中,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值的步驟包括檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù),其中,在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)為零,在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,將第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)設(shè)置為阻斷閾值;檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù),其中,在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)為零,在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù) S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,F(xiàn)block 為阻斷閾值,Ql 為阻斷閾值的權(quán)重參數(shù),LI為二級(jí)域名與域名庫(kù)中第一匹配域名參數(shù)的相同部分的長(zhǎng)度,L2為二級(jí)域名與第一匹配域名參數(shù)的不同部分的長(zhǎng)度,Q2為L(zhǎng)I的權(quán)重參數(shù),Q3為L(zhǎng)I的權(quán)重參數(shù),Pl為二級(jí)域名的字符分布參數(shù),Q4為二級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第一匹配域名參數(shù)為域名庫(kù)中與二級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù),其中,在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q5,其中,L3為三級(jí)域名的長(zhǎng)度,Q5為L(zhǎng)3的第一權(quán)重參數(shù);在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q6+P2*Q7,其中,Q6為L(zhǎng)3的第二權(quán)重參數(shù),P2為三級(jí)域名的字符分布參數(shù),Q7為三級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第二匹配域名參數(shù)為域名庫(kù)中與三級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);通過(guò)如下公式計(jì)算隨機(jī)程度分值Fr Fr=Sl+S2+S3+L*Q8,其中,SI為第一隨機(jī)程度參數(shù),S2為第二隨機(jī)程度參數(shù),S3為第三隨機(jī) 程度參數(shù),Q8為隨機(jī)程度參數(shù)的權(quán)重參數(shù),L為第一數(shù)據(jù)報(bào)文的域名的總長(zhǎng)度。進(jìn)一步地,第一數(shù)據(jù)報(bào)文為多個(gè),其中,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值的步驟包括將多個(gè)第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中;當(dāng)將第一個(gè)第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中時(shí),開(kāi)始計(jì)時(shí),以獲取保存時(shí)間;檢測(cè)保存時(shí)間是否達(dá)到預(yù)設(shè)保存時(shí)間;在保存時(shí)間達(dá)到預(yù)設(shè)保存時(shí)間時(shí),獲取數(shù)據(jù)報(bào)文集中第一數(shù)據(jù)報(bào)文的報(bào)文數(shù)量;計(jì)算報(bào)文數(shù)量與保存時(shí)間的比值,以獲取數(shù)據(jù)報(bào)文集的訪問(wèn)頻率;比較訪問(wèn)頻率與訪問(wèn)閾值的大??;在訪問(wèn)頻率小于訪問(wèn)閾值的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文;在訪問(wèn)頻率大于或等于訪問(wèn)閾值的情況下,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值。進(jìn)一步地,在判斷隨機(jī)程度分值是否大于阻斷閾值之前,方法還包括對(duì)數(shù)據(jù)報(bào)文集中的所有第一數(shù)據(jù)報(bào)文的隨機(jī)程度分值進(jìn)行求平均值計(jì)算,以獲取隨機(jī)程度平均值;通過(guò)如下公式對(duì)阻斷閾值進(jìn)行反饋控制計(jì)算,以獲取處理后的阻斷閾值Fblock =Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,F(xiàn)init為阻斷閾值的初始值,F(xiàn)access為訪問(wèn)頻率,F(xiàn)random為隨機(jī)程度平均值,Q9為預(yù)設(shè)的訪問(wèn)頻率的權(quán)重參數(shù),QlO為預(yù)設(shè)的隨機(jī)程度平均值的權(quán)重參數(shù)。進(jìn)一步地,第一數(shù)據(jù)報(bào)文的域名參數(shù)包括域名名稱,其中,在將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值之前,方法還包括檢測(cè)域名庫(kù)中是否存在第一數(shù)據(jù)報(bào)文的域名名稱;在預(yù)設(shè)域名庫(kù)中存在域名名稱的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文。進(jìn)一步地,當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將初始數(shù)據(jù)報(bào)文的域名參數(shù)作為預(yù)設(shè)域名參數(shù)的步驟包括當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)保存在域名庫(kù)中。進(jìn)一步地,在在預(yù)設(shè)域名庫(kù)中存在域名名稱的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文之后,方法還包括將與第一數(shù)據(jù)報(bào)文相對(duì)應(yīng)的報(bào)文響應(yīng)發(fā)送給客戶端。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種數(shù)據(jù)報(bào)文的檢測(cè)裝置,該裝置包括第一讀取模塊,用于讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù);第一處理模塊,用于將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù);第二處理模塊,用于判斷隨機(jī)程度分值是否大于阻斷閾值;以及第三處理模塊,用于在隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。進(jìn)一步地,裝置包括第一獲取模塊,用于獲取通過(guò)防火墻的初始數(shù)據(jù)報(bào)文;第一判斷模塊,用于判斷是否成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng);第四處理模塊,用于當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將初始數(shù)據(jù)報(bào)文的域名參數(shù)作為預(yù)設(shè)域名參數(shù)。進(jìn)一步地,預(yù)設(shè)域名參數(shù)保存在域名庫(kù)中,第一數(shù)據(jù)報(bào)文的域名參數(shù)包括頂級(jí)域名、二級(jí)域名以及三級(jí)域名,其中,第二處理模塊包括第一檢測(cè)模塊,用于檢測(cè)域名庫(kù)、中是否存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù);第一計(jì)算模塊,用于在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)為零;第二計(jì)算模塊,用于在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,將第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)設(shè)置為阻斷閾值;第二檢測(cè)模塊,用于檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù);第三計(jì)算模塊,用于在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)為零;第四計(jì)算模塊,用于在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù) S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,F(xiàn)block 為阻斷閾值,Ql為阻斷閾值的權(quán)重參數(shù),LI為二級(jí)域名與域名庫(kù)中第一匹配域名參數(shù)的相同部分的長(zhǎng)度,L2為二級(jí)域名與第一匹配域名參數(shù)的不同部分的長(zhǎng)度,Q2為L(zhǎng)I的權(quán)重參數(shù),Q3為L(zhǎng)I的權(quán)重參數(shù),Pl為二級(jí)域名的字符分布參數(shù),Q4為二級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第一匹配域名參數(shù)為域名庫(kù)中與二級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);第三檢測(cè)模塊,用于檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù);第五計(jì)算模塊,用于在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q5,其中,L3為三級(jí)域名的長(zhǎng)度,Q5為L(zhǎng)3的第一權(quán)重參數(shù);第六計(jì)算模塊,用于在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q6+P2*Q7,其中,Q6為L(zhǎng)3的第二權(quán)重參數(shù),P2為三級(jí)域名的字符分布參數(shù),Q7為三級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第二匹配域名參數(shù)為域名庫(kù)中與三級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);第七計(jì)算模塊,用于通過(guò)如下公式計(jì)算隨機(jī)程度分值Fr Fr=Sl+S2+S3+L*Q8,其中,SI為第一隨機(jī)程度參數(shù),S2為第二隨機(jī)程度參數(shù),S3為第三隨機(jī)程度參數(shù),Q8為隨機(jī)程度參數(shù)的權(quán)重參數(shù),L為第一數(shù)據(jù)報(bào)文的域名的總長(zhǎng)度。進(jìn)一步地,第一數(shù)據(jù)報(bào)文為多個(gè),其中,第一處理模塊還包括存儲(chǔ)模塊,用于將多個(gè)第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中;計(jì)時(shí)模塊,用于當(dāng)將第一個(gè)第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中時(shí),開(kāi)始計(jì)時(shí),以獲取保存時(shí)間;第四檢測(cè)模塊,用于檢測(cè)保存時(shí)間是否達(dá)到預(yù)設(shè)保存時(shí)間;第二獲取模塊,用于在保存時(shí)間達(dá)到預(yù)設(shè)保存時(shí)間時(shí),獲取數(shù)據(jù)報(bào)文集中第一數(shù)據(jù)報(bào)文的報(bào)文數(shù)量;第八計(jì)算模塊,用于計(jì)算報(bào)文數(shù)量與保存時(shí)間的比值,以獲取數(shù)據(jù)報(bào)文集的訪問(wèn)頻率;比較模塊,用于比較訪問(wèn)頻率與訪問(wèn)閾值的大小;第五處理模塊,用于在訪問(wèn)頻率小于訪問(wèn)閾值的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文;第六處理模塊,用于在訪問(wèn)頻率大于或等于訪問(wèn)閾值的情況下,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值。進(jìn)一步地,裝置還包括第九計(jì)算模塊,用于對(duì)數(shù)據(jù)報(bào)文集中的所有第一數(shù)據(jù)報(bào)文的隨機(jī)程度分值進(jìn)行求平均值計(jì)算,以獲取隨機(jī)程度平均值;第十計(jì)算模塊,用于通過(guò)如下公式對(duì)阻斷閾值進(jìn)行反饋控制計(jì)算,以獲取處理后的阻斷閾值Fblock Fblock=Finit-Faccess*Q9+Frandom*Q10,其中,Finit為阻斷閾值的初始值,F(xiàn)access為訪問(wèn)頻率,Frandom為隨機(jī)程度平均值,Q9為預(yù)設(shè)的訪問(wèn)頻率的權(quán)重參數(shù),QlO為預(yù)設(shè)的隨機(jī)程度平均值的權(quán)重參數(shù)。進(jìn)一步地,第一數(shù)據(jù)報(bào)文的域名參數(shù)包括域名名稱,其中,裝置還包括第五檢測(cè)模塊,用于檢測(cè)域名庫(kù)中是否存在第一數(shù)據(jù)報(bào)文的域名名稱;第七處理模塊,用于在預(yù)設(shè)域名庫(kù)中存在域名名稱的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文。進(jìn)一步地,第四處理模塊包括第八處理模塊,用于當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)保存在域名庫(kù)中。進(jìn)一步地,裝置還包括發(fā)送模塊,用于將與第一數(shù)據(jù)報(bào)文相對(duì)應(yīng)的報(bào)文響應(yīng)發(fā)送給客戶端。通過(guò)本發(fā)明,通過(guò)對(duì)預(yù)設(shè)的合法數(shù)據(jù)報(bào)文的域名參數(shù)與防火墻當(dāng)前接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)的進(jìn)行隨機(jī)程度計(jì)算,獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,并在該隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文,從而解決了現(xiàn)有技術(shù)中防火墻無(wú)法準(zhǔn)確識(shí)別攻擊流量,導(dǎo)致大量的攻擊流量流向服務(wù)器,從而導(dǎo)致合法用戶無(wú)法正常訪問(wèn)DNS服務(wù)器的問(wèn)題,實(shí)現(xiàn)了準(zhǔn)確識(shí)別非法數(shù)據(jù)報(bào)文,從而可以從所有DNS隨機(jī)請(qǐng)求的流量中分理出非法的數(shù)據(jù)報(bào)文,從而能夠有效而且高效地清洗DNS隨即請(qǐng)求非法數(shù)據(jù)報(bào)文,從而使得DNS隨機(jī)請(qǐng)求攻擊失去DDOS效果。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖I是現(xiàn)有技術(shù)的限制數(shù)據(jù)報(bào)文訪問(wèn)服務(wù)器的方法的示意圖;圖2是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)報(bào)文的檢測(cè)裝置的結(jié)構(gòu)示意圖;圖3是根據(jù)圖2所示實(shí)施例的數(shù)據(jù)報(bào)文的檢測(cè)裝置的結(jié)構(gòu)示意圖;圖4是根據(jù)圖2所示實(shí)施例的數(shù)據(jù)報(bào)文的檢測(cè)裝置的系統(tǒng)結(jié)構(gòu)示意圖;以及圖5是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)報(bào)文的檢測(cè)方法的流程圖。
具體實(shí)施例方式需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。
圖2是根據(jù)本發(fā)明實(shí)施例的獲取數(shù)據(jù)報(bào)文類型的裝置的結(jié)構(gòu)示意圖。圖3是根據(jù)圖2所示實(shí)施例的獲取數(shù)據(jù)報(bào)文類型的裝置的結(jié)構(gòu)示意圖。如圖2所示,該裝置可以包括第一讀取模塊10,用于讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù);第一處理模塊30,用于將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù);第二處理模塊50,用于判斷隨機(jī)程度分值是否大于阻斷閾值;以及第三處理模塊70,用于在隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。采用本發(fā)明,通過(guò)第一讀取模塊讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù),然后第一處理模塊,用于將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù),并使用第二處理模塊判斷隨機(jī)程度分值是否大于阻斷閾值,并且第三處理模塊在隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。通過(guò)本發(fā)明,通過(guò)對(duì)預(yù)設(shè)的合法數(shù)據(jù)報(bào)文的域名參數(shù)與防火墻當(dāng)前接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)的比較,獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)的隨機(jī)程度分值,并在該隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文,從而解決了現(xiàn)有技術(shù)中防火 墻無(wú)法準(zhǔn)確識(shí)別攻擊流量,導(dǎo)致大量的攻擊流量流向服務(wù)器,從而導(dǎo)致合法用戶無(wú)法正常訪問(wèn)DNS服務(wù)器的問(wèn)題,實(shí)現(xiàn)了準(zhǔn)確識(shí)別非法數(shù)據(jù)報(bào)文,從而可以從所有DNS隨機(jī)請(qǐng)求的流量中分理出非法的數(shù)據(jù)報(bào)文,從而能夠有效而且高效地清洗DNS隨即請(qǐng)求非法數(shù)據(jù)報(bào)文,從而使得DNS隨機(jī)請(qǐng)求攻擊失去DDOS效果。在本發(fā)明的上述實(shí)施例中,裝置可以包括第一獲取模塊,用于獲取通過(guò)防火墻的初始數(shù)據(jù)報(bào)文;第一判斷模塊,用于判斷是否成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng);第四處理模塊,用于當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將初始數(shù)據(jù)報(bào)文的域名參數(shù)作為預(yù)設(shè)域名參數(shù)。具體地,如圖3所示,第一獲取模塊與第一判斷模塊可以設(shè)置在第一讀取模塊10中,第三處理模塊70可以內(nèi)置在第一處理模塊中。根據(jù)本發(fā)明的上述實(shí)施例,預(yù)設(shè)域名參數(shù)可以保存在域名庫(kù)中,第一數(shù)據(jù)報(bào)文的域名參數(shù)包括頂級(jí)域名、二級(jí)域名以及三級(jí)域名,其中,第二處理模塊50可以包括第一檢測(cè)模塊,用于檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù);第一計(jì)算模塊,用于在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)為零;第二計(jì)算模塊,用于在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,將第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)設(shè)置為阻斷閾值;第二檢測(cè)模塊,用于檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù);第三計(jì)算模塊,用于在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)為零;第四計(jì)算模塊,用于在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,F(xiàn)block為阻斷閾值,Ql為阻斷閾值的權(quán)重參數(shù),LI為二級(jí)域名與域名庫(kù)中第一匹配域名參數(shù)的相同部分的長(zhǎng)度,L2為二級(jí)域名與第一匹配域名參數(shù)的不同部分的長(zhǎng)度,Q2為L(zhǎng)I的權(quán)重參數(shù),Q3為L(zhǎng)I的權(quán)重參數(shù),Pl為二級(jí)域名的字符分布參數(shù),Q4為二級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第一匹配域名參數(shù)為域名庫(kù)中與二級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);第三檢測(cè)模塊,用于檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù);第五計(jì)算模塊,用于在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q5,其中,L3為三級(jí)域名的長(zhǎng)度,Q5為L(zhǎng)3的第一權(quán)重參數(shù);第六計(jì)算模塊,用于在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q6+P2*Q7,其中,Q6為L(zhǎng)3的第二權(quán)重參數(shù),P2為三級(jí)域名的字符分布參數(shù),Q7為三級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第二匹配域名參數(shù)為域名庫(kù)中與三級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);第七計(jì)算模塊,用于通過(guò)如下公式計(jì)算隨機(jī)程度分值Fr :Fr=Sl+S2+S3+L*Q8,其中,SI為第一隨機(jī)程度參數(shù),S2為第二隨機(jī)程度參數(shù),S3為第三隨機(jī)程度參數(shù),Q8為隨機(jī)程度參數(shù)的權(quán)重參數(shù),L為第一數(shù)據(jù)報(bào)文的域名的總長(zhǎng)度。其中,L可以為頂級(jí)域名、二級(jí)域名、三級(jí)域名以及其他級(jí)別的域名的長(zhǎng)度總和。在本發(fā)明的上述實(shí)施例中,第一數(shù)據(jù)報(bào)文為多個(gè),其中,第一處理模塊50可以包括存儲(chǔ)模塊,用于將多個(gè)第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中;計(jì)時(shí)模塊,用于當(dāng)將第一個(gè) 第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中時(shí),開(kāi)始計(jì)時(shí),以獲取保存時(shí)間;第四檢測(cè)模塊,用于檢測(cè)保存時(shí)間是否達(dá)到預(yù)設(shè)保存時(shí)間;第二獲取模塊,用于在保存時(shí)間達(dá)到預(yù)設(shè)保存時(shí)間時(shí),獲取數(shù)據(jù)報(bào)文集中第一數(shù)據(jù)報(bào)文的報(bào)文數(shù)量;第八計(jì)算模塊,用于計(jì)算報(bào)文數(shù)量與保存時(shí)間的比值,以獲取數(shù)據(jù)報(bào)文集的訪問(wèn)頻率;比較模塊,用于比較訪問(wèn)頻率與訪問(wèn)閾值的大??;第五處理模塊,用于在訪問(wèn)頻率小于訪問(wèn)閾值的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文;第六處理模塊,用于在訪問(wèn)頻率大于或等于訪問(wèn)閾值的情況下,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值。根據(jù)本發(fā)明的上述實(shí)施例,裝置還可以包括第九計(jì)算模塊,用于對(duì)數(shù)據(jù)報(bào)文集中的所有第一數(shù)據(jù)報(bào)文的隨機(jī)程度分值進(jìn)行求平均值計(jì)算,以獲取隨機(jī)程度平均值;第十計(jì)算模塊,用于通過(guò)如下公式對(duì)阻斷閾值進(jìn)行反饋控制計(jì)算,以獲取處理后的阻斷閾值 Fblock :Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,F(xiàn)init 為阻斷閾值的初始值,F(xiàn)access為訪問(wèn)頻率,F(xiàn)random為隨機(jī)程度平均值,Q9為預(yù)設(shè)的訪問(wèn)頻率的權(quán)重參數(shù),QlO為預(yù)設(shè)的隨機(jī)程度平均值的權(quán)重參數(shù)。具體地,第九計(jì)算模塊可以內(nèi)置于第一處理模塊中,第十計(jì)算模塊可以內(nèi)置于第二處理模塊中。在本發(fā)明的上述實(shí)施例中,第一數(shù)據(jù)報(bào)文的域名參數(shù)包括域名名稱,其中,裝置還包括第五檢測(cè)模塊,用于檢測(cè)域名庫(kù)中是否存在第一數(shù)據(jù)報(bào)文的域名名稱;第七處理模塊,用于在預(yù)設(shè)域名庫(kù)中存在域名名稱的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文。在上述實(shí)施例中,該裝置還可以包括保存模塊,用于將第一數(shù)據(jù)報(bào)文的報(bào)文以及報(bào)文響應(yīng)保存在數(shù)據(jù)報(bào)文集中。根據(jù)本發(fā)明的上述實(shí)施例,第四處理模塊可以包括第八處理模塊,用于當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)保存在域名庫(kù)中,并且該裝置還包括發(fā)送模塊,用于將與第一數(shù)據(jù)報(bào)文相對(duì)應(yīng)的報(bào)文響應(yīng)發(fā)送給客戶端。
如圖4所示,采用本發(fā)明的上述實(shí)施例的裝置,可以透明的部署在客戶端和服務(wù)器之間,不改變DNS的交互流程,就可以實(shí)現(xiàn)有效而且高效地清洗DNS隨即請(qǐng)求非法數(shù)據(jù)報(bào)文,從而使得DNS隨機(jī)請(qǐng)求攻擊失去DDOS效果。圖5是根據(jù)本發(fā)明實(shí)施例的數(shù)據(jù)報(bào)文的檢測(cè)方法的流程圖,如圖5所示該方法包括如下步驟步驟S102,讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)。步驟S104,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù)。步驟S106,判斷隨機(jī)程度分值是否大于阻斷閾值。 步驟S108,在隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。采用本發(fā)明,在讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)之后,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù),然后判斷隨機(jī)程度分值是否大于阻斷閾值,其中,在隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。通過(guò)本發(fā)明,通過(guò)對(duì)預(yù)設(shè)的合法數(shù)據(jù)報(bào)文的域名參數(shù)與防火墻當(dāng)前接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)的比較,獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,并在該隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文,從而解決了現(xiàn)有技術(shù)中防火墻無(wú)法準(zhǔn)確識(shí)別攻擊流量,導(dǎo)致大量的攻擊流量流向服務(wù)器,從而導(dǎo)致合法用戶無(wú)法正常訪問(wèn)DNS服務(wù)器的問(wèn)題,實(shí)現(xiàn)了準(zhǔn)確識(shí)別非法數(shù)據(jù)報(bào)文,從而可以從所有DNS隨機(jī)請(qǐng)求的流量中分理出非法的數(shù)據(jù)報(bào)文,從而能夠有效而且高效地清洗DNS隨即請(qǐng)求非法數(shù)據(jù)報(bào)文,從而使得DNS隨機(jī)請(qǐng)求攻擊失去DDOS效果。其中,預(yù)設(shè)域名參數(shù)可以保存在域名庫(kù)中,域名庫(kù)可以包括知名域名庫(kù),預(yù)設(shè)域名參數(shù)可以包括域名的頂級(jí)域、域名的級(jí)數(shù)、域名的總長(zhǎng)度、各級(jí)域名的長(zhǎng)度、各級(jí)域名的字符分布。知名域名庫(kù)可以是預(yù)先收集的已知的合法域名以及域名交易市場(chǎng)中價(jià)格較高的域名。根據(jù)本發(fā)明的上述實(shí)施例,在讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)之前,方法還可以包括獲取通過(guò)防火墻的初始數(shù)據(jù)報(bào)文;判斷是否成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng);當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將初始數(shù)據(jù)報(bào)文的域名參數(shù)作為預(yù)設(shè)域名參數(shù)。具體地,獲取通過(guò)防火墻的初始數(shù)據(jù)報(bào)文,然后判斷是否成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng),當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將初始數(shù)據(jù)報(bào)文的域名參數(shù)保存在域名庫(kù)中。其中的初始數(shù)據(jù)報(bào)文的域名參數(shù)可以包括域名的頂級(jí)域、域名的級(jí)數(shù)、域名的總長(zhǎng)度、各級(jí)域名的長(zhǎng)度、各級(jí)域名的字符分布。在本發(fā)明的上述實(shí)施例中,第一數(shù)據(jù)報(bào)文的域名參數(shù)可以包括域名名稱,其中,在將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值之前,方法還包括檢測(cè)域名庫(kù)中是否存在第一數(shù)據(jù)報(bào)文的域名名稱;在預(yù)設(shè)域名庫(kù)中存在域名名稱的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文。具體地,該方法還包括步驟將第一數(shù)據(jù)報(bào)文的報(bào)文以及報(bào)文響應(yīng)保存在數(shù)據(jù)報(bào)文集中。通過(guò)上述步驟可以只對(duì)域名庫(kù)中不存在第一數(shù)據(jù)報(bào)文的域名參數(shù)的情況下,對(duì)第一數(shù)據(jù)報(bào)文進(jìn)行隨機(jī)程度分值得計(jì)算,從而減化了流程,加快了清洗非法的數(shù)據(jù)報(bào)文的速度。在本發(fā)明的上述實(shí)施例中,當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將初始數(shù)據(jù)報(bào)文的域名參數(shù)作為預(yù)設(shè)域名參數(shù)的步驟可以包括當(dāng)確定成功獲取到與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)保存在域名庫(kù)中。具體地,在在預(yù)設(shè)域名庫(kù)中不存在域名名稱的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文之后,方法還包括將與第一數(shù)據(jù)報(bào)文相對(duì)應(yīng)的報(bào)文響應(yīng)發(fā)送給客戶端。 其中,與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)即為從服務(wù)器返回的正確的報(bào)文響應(yīng)。在上述步驟中也可以將上述與初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)保存在域名庫(kù)中,在將初始數(shù)據(jù)報(bào)文的域名參數(shù)保存在域名庫(kù)中之后,讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù),如果可以在域名庫(kù)中查找到與第一數(shù)據(jù)報(bào)文的域名參數(shù)一致的第一域名參數(shù),則獲取與第一域名參數(shù)相對(duì)應(yīng)的第一報(bào)文響應(yīng),防火墻直接將該第一報(bào)文響應(yīng)返回給客戶端,而不再通過(guò)DNS服務(wù)器。如果在域名庫(kù)中查找不到與第一數(shù)據(jù)報(bào)文的域名參數(shù)一致的第一域名參數(shù),則執(zhí)行將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)與隨機(jī)程度分值的步驟。在本發(fā)明的上述實(shí)施例中,預(yù)設(shè)域名參數(shù)保存在域名庫(kù)中,第一數(shù)據(jù)報(bào)文的域名參數(shù)包括頂級(jí)域名、二級(jí)域名以及三級(jí)域名,其中,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值的步驟可以包括檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù),其中,在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)為零,在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,將第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)設(shè)置為阻斷閾值;檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù),其中,在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)為零,在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,F(xiàn)block為阻斷閾值,Ql為阻斷閾值的權(quán)重參數(shù),LI為二級(jí)域名與域名庫(kù)中第一匹配域名參數(shù)的相同部分的長(zhǎng)度,L2為二級(jí)域名與第一匹配域名參數(shù)的不同部分的長(zhǎng)度,Q2為L(zhǎng)I的權(quán)重參數(shù),Q3為L(zhǎng)I的權(quán)重參數(shù),Pl為二級(jí)域名的字符分布參數(shù),Q4為二級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第一匹配域名參數(shù)為域名庫(kù)中與二級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);檢測(cè)域名庫(kù)中是否存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù),其中,在域名庫(kù)中存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q5,其中,L3為三級(jí)域名的長(zhǎng)度,Q5為L(zhǎng)3的第一權(quán)重參數(shù);在域名庫(kù)中不存在與第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 :S3=L3*Q6+P2*Q7,其中,Q6為L(zhǎng)3的第二權(quán)重參數(shù),P2為三級(jí)域名的字符分布參數(shù),Q7為三級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),第二匹配域名參數(shù)為域名庫(kù)中與三級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù);通過(guò)如下公式計(jì)算隨機(jī)程度分值Fr :Fr=Sl+S2+S3+L*Q8,其中,SI為第一隨機(jī)程度參數(shù),Q8為隨機(jī)程度參數(shù)的權(quán)重參數(shù),L為第一數(shù)據(jù)報(bào)文的域名的總長(zhǎng)度。具體地,DNS域名是以點(diǎn)號(hào)做分級(jí)的,例如www. abc. com這樣的域名,com是頂級(jí)域,abc是二級(jí)域名,www是三級(jí)域名。頂級(jí)域名都是已知的國(guó)家域名或通用域名;二級(jí)域名可能是已知的通用域名、也可能是像baidu這樣的知名域名;三級(jí)域名一般是www、maps、home這樣的知名子域名,也可能是其他不知名字符串;三級(jí)以下的域名就比較隨意了。而且為了方便用戶記憶,大部分合法域名的前三級(jí)都具有上述特征,并且每一級(jí)的域名長(zhǎng)度都在一個(gè)比較小的范圍內(nèi)。上述實(shí)施例中的P2*Q7與P1*Q4,也可以分別通過(guò)三級(jí)域名的字符分布參數(shù)與預(yù)設(shè)域名參數(shù)的字符分布的偏差值和二級(jí)域名的字符分布參數(shù)與預(yù)設(shè)域名參數(shù)的字符分布的偏差值來(lái)實(shí)現(xiàn),另外,上述實(shí)施例中的權(quán)重參數(shù)都可以是預(yù)設(shè)的權(quán)重參數(shù),這些權(quán)重參數(shù)都可以是針對(duì)各個(gè)參數(shù)的特征,通過(guò)一系列的實(shí)驗(yàn)得到的經(jīng)驗(yàn)值,并且這些權(quán)重參數(shù)均為0-1范圍內(nèi)的浮點(diǎn)數(shù)。具體地,合法的數(shù)據(jù)報(bào)文的域名的隨機(jī)程度分值與阻斷閾值相比,會(huì)比較低,而大部分的非法的數(shù)據(jù)報(bào)文的隨機(jī)構(gòu)造域名的隨機(jī)程度分值會(huì)很高。根據(jù)本發(fā)明的上述實(shí)施例,第一數(shù)據(jù)報(bào)文為多個(gè),其中,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值的步驟包括將多個(gè)第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中;當(dāng)將第一個(gè)第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中時(shí),開(kāi)始計(jì)時(shí),以獲取保存時(shí)間;檢測(cè)保存時(shí)間是否達(dá)到預(yù)設(shè)保存時(shí)間;在保存時(shí)間達(dá)到預(yù)設(shè)保存時(shí)間時(shí),獲取數(shù)據(jù)報(bào)文集中第一數(shù)據(jù)報(bào)文的報(bào)文數(shù)量;計(jì)算報(bào)文數(shù)量與保存時(shí)間的比值,以獲取數(shù)據(jù)報(bào)文集的訪問(wèn)頻率;比較訪問(wèn)頻率與訪問(wèn)閾值的大?。辉谠L問(wèn)頻率小于訪問(wèn)閾值的情況下,確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文;在訪問(wèn)頻率大于或等于訪問(wèn)閾值的情況下,將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值。
具體地,如果計(jì)算獲取的訪問(wèn)頻率小于訪問(wèn)閾值,則確定第一數(shù)據(jù)報(bào)文為合法的數(shù)據(jù)報(bào)文,防火墻直接放過(guò)該第一數(shù)據(jù)報(bào)文,如果訪問(wèn)頻率大于或等于訪問(wèn)閾值,則將第一數(shù)據(jù)報(bào)文的域名參數(shù)與域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值。在本發(fā)明的上述實(shí)施例中,可以僅僅計(jì)算沒(méi)有在域名庫(kù)查找到相同的域名參數(shù)的第一數(shù)據(jù)報(bào)文的訪問(wèn)頻率,這樣使得對(duì)非法數(shù)據(jù)報(bào)文的判斷更加準(zhǔn)確。在本發(fā)明的上述實(shí)施例中,在判斷隨機(jī)程度分值是否大于阻斷閾值之前,方法還包括對(duì)數(shù)據(jù)報(bào)文集中的所有第一數(shù)據(jù)報(bào)文的隨機(jī)程度分值進(jìn)行求平均值計(jì)算,以獲取隨機(jī)程度平均值;通過(guò)如下公式對(duì)阻斷閾值進(jìn)行反饋控制計(jì)算,以獲取處理后的阻斷閾值 Fblock :Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,F(xiàn)init 為阻斷閾值的初始值,F(xiàn)access為訪問(wèn)頻率,F(xiàn)random為隨機(jī)程度平均值,Q9為預(yù)設(shè)的訪問(wèn)頻率的權(quán)重參數(shù),QlO為預(yù)設(shè)的隨機(jī)程度平均值的權(quán)重參數(shù)。其中的權(quán)重參數(shù)都是0-1范圍內(nèi)的浮點(diǎn)數(shù)。具體地,在判斷隨機(jī)程度分值是否大于阻斷閾值,以獲取第一數(shù)據(jù)報(bào)文的檢測(cè)結(jié)果之前,方法還可以包括對(duì)數(shù)據(jù)報(bào)文集中的所有第一數(shù)據(jù)報(bào)文的隨機(jī)程度分值進(jìn)行求平均值計(jì)算,以獲取隨機(jī)程度平均值;使用隨機(jī)程度平均值和訪問(wèn)頻率對(duì)阻斷閾值進(jìn)行反饋控制計(jì)算,以獲取處理后的阻斷閾值。具體地,在獲取到隨機(jī)程度分值之后,計(jì)算所有第一數(shù)據(jù)報(bào)文的隨機(jī)程度分值的平均值,這個(gè)平均值可以是所有第一數(shù)據(jù)報(bào)文的隨機(jī)程度分值的算術(shù)平均值,也可以是一個(gè)期望值,而只有合法的數(shù)據(jù)報(bào)文的隨機(jī)程度分值會(huì)低于該隨機(jī)程度平均值,而非法的數(shù)據(jù)報(bào)文的隨機(jī)程度分值會(huì)高于該隨機(jī)程度平均值。然后,可以通過(guò)訪問(wèn)頻率以及隨機(jī)程度平均值對(duì)阻斷閾值進(jìn)行反饋調(diào)整,以獲取調(diào)整后的阻斷閾值。在上述實(shí)施例中,由于發(fā)生非法數(shù)據(jù)報(bào)文流量的攻擊時(shí),訪問(wèn)頻率的變化程度會(huì)大于隨機(jī)程度平均值的變化程度,在攻擊速率越高時(shí),則阻斷閾值越低,通過(guò)阻斷閾值檢測(cè)的也越可能是合法的數(shù)據(jù)報(bào)文;當(dāng)有大量的合法的數(shù)據(jù)報(bào)文摻雜在非法的數(shù)據(jù)報(bào)文的流量中時(shí),隨機(jī)程度平均值會(huì)降低,阻斷閾值也隨之降低,可以更準(zhǔn)確地確定更多的非法的數(shù)據(jù)、報(bào)文,從而可以使得防火墻阻斷更多的非法的數(shù)據(jù)報(bào)文,由于合法的數(shù)據(jù)報(bào)文的隨機(jī)程度分值比阻斷閾值高,所以合法的數(shù)據(jù)報(bào)文仍然可以正常通過(guò)。在本發(fā)明的上述實(shí)施例中,由于阻斷閾值是可以根據(jù)攻擊速率和攻擊數(shù)量進(jìn)行動(dòng)態(tài)調(diào)節(jié)的,通過(guò)阻斷閾值檢測(cè)的數(shù)據(jù)報(bào)文的報(bào)文數(shù)量將始終保持在一個(gè)固定的比例范圍,不會(huì)隨著攻擊流量的增大而大幅變動(dòng),從而保證DNS服務(wù)器接收到的動(dòng)態(tài)域名查詢數(shù)量始終保持咋iyige很低的數(shù)字,從而使得DNS隨機(jī)請(qǐng)求攻擊失效。需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。從以上的描述中,可以看出,本發(fā)明實(shí)現(xiàn)了如下技術(shù)效果通過(guò)本發(fā)明,通過(guò)對(duì)預(yù)設(shè)的合法數(shù)據(jù)報(bào)文的域名參數(shù)與防火墻當(dāng)前接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度計(jì)算,獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)隨機(jī)程度分值,并在該隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文,從而解決了現(xiàn)有技術(shù)中防火墻無(wú)法準(zhǔn)確識(shí)別攻擊流量,導(dǎo)致大量的攻擊流量流向服務(wù)器,從而導(dǎo)致合法用戶無(wú)法正常訪問(wèn)DNS服務(wù)器的問(wèn)題,實(shí)現(xiàn)了準(zhǔn)確識(shí)別非法數(shù)據(jù)報(bào)文,從而可以從所有DNS隨機(jī)請(qǐng)求的流量中分理出非法的數(shù)據(jù)報(bào)文,從而能夠有效而且高效地清洗DNS隨即請(qǐng)求非法數(shù)據(jù)報(bào)文,從而使得DNS隨機(jī)請(qǐng)求攻擊失去DDOS效果。通過(guò)本發(fā)明可以統(tǒng)計(jì)突發(fā)的非法的數(shù)據(jù)報(bào)文的訪問(wèn)頻率進(jìn)行統(tǒng)計(jì),并且使用突發(fā)的非法的數(shù)據(jù)報(bào)文的域名的隨機(jī)程度分值與阻斷閾值的大小關(guān)系來(lái)分離合法的數(shù)據(jù)報(bào)文和非法的數(shù)據(jù)報(bào)文,另外還使用突發(fā)的非法的數(shù)據(jù)報(bào)文的訪問(wèn)頻率和突發(fā)的非法的數(shù)據(jù)報(bào)文的訪問(wèn)頻率對(duì)阻斷閾值進(jìn)行反饋調(diào)整,使得阻斷閾值處于一個(gè)動(dòng)態(tài)平衡中,從而能夠有效且高效地清洗DNS隨即請(qǐng)求非法數(shù)據(jù)報(bào)文。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)報(bào)文的檢測(cè)方法,其特征在于,包括 讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù); 將所述第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取所述第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,所述預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù); 判斷所述隨機(jī)程度分值是否大于阻斷閾值;以及 在所述隨機(jī)程度分值大于所述阻斷閾值時(shí),確定所述第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù)之前,所述方法包括 獲取通過(guò)防火墻的初始數(shù)據(jù)報(bào)文; 判斷是否成功獲取到與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng); 當(dāng)確定成功獲取到與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將所述初始數(shù)據(jù)報(bào)文的域名參數(shù)作為所述預(yù)設(shè)域名參數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述預(yù)設(shè)域名參數(shù)保存在域名庫(kù)中,所述第一數(shù)據(jù)報(bào)文的域名參數(shù)包括頂級(jí)域名、二級(jí)域名以及三級(jí)域名,其中,將所述第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取所述第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值的步驟包括 檢測(cè)所述域名庫(kù)中是否存在與所述第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的所述預(yù)設(shè)域名參數(shù),其中,在所述域名庫(kù)中存在與所述第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,所述第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)為零,在所述域名庫(kù)中不存在與所述第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,將所述第一數(shù)據(jù)報(bào)文的所述第一隨機(jī)程度參數(shù)設(shè)置為所述阻斷閾值; 檢測(cè)所述域名庫(kù)中是否存在與所述第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的所述預(yù)設(shè)域名參數(shù),其中,在所述域名庫(kù)中存在與所述第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,所述第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)為零,在所述域名庫(kù)中不存在與所述第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算所述第一數(shù)據(jù)報(bào)文的所述第二隨機(jī)程度參數(shù)S2 S2=Fblock*Ql- (L1*Q2_L2*Q3+P1*Q4),其中,F(xiàn)block 為所述阻斷閾值,Ql 為所述阻斷閾值的權(quán)重參數(shù),LI為所述二級(jí)域名與所述域名庫(kù)中第一匹配域名參數(shù)的相同部分的長(zhǎng)度,L2為所述二級(jí)域名與所述第一匹配域名參數(shù)的不同部分的長(zhǎng)度,Q2為所述LI的權(quán)重參數(shù),Q3為所述LI的權(quán)重參數(shù),Pl為所述二級(jí)域名的字符分布參數(shù),Q4為所述二級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),所述第一匹配域名參數(shù)為所述域名庫(kù)中與所述二級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù); 檢測(cè)所述域名庫(kù)中是否存在與所述第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的所述預(yù)設(shè)域名參數(shù),其中,在所述域名庫(kù)中存在與所述第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算所述第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 S3=L3*Q5,其中,L3為所述三級(jí)域名的長(zhǎng)度,Q5為所述L3的第一權(quán)重參數(shù); 在所述域名庫(kù)中不存在與所述第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算所述第一數(shù)據(jù)報(bào)文的所述第三隨機(jī)程度參數(shù)S3 S3=L3*Q6+P2*Q7,其中,Q6為所述L3的第二權(quán)重參數(shù),P2為所述三級(jí)域名的字符分布參數(shù),Q7為所述三級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),所述第二匹配域名參數(shù)為所述域名庫(kù)中與所述三級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù); 通過(guò)如下公式計(jì)算所述隨機(jī)程度分值Fr Fr = S1+S2+S3+L*Q8,其中,SI為所述第一隨機(jī)程度參數(shù),S2為所述第二隨機(jī)程度參數(shù),S3為所述第三隨機(jī)程度參數(shù),Q8為隨機(jī)程度參數(shù)的權(quán)重參數(shù),所述L為所述第一數(shù)據(jù)報(bào)文的域名的總長(zhǎng)度。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述第一數(shù)據(jù)報(bào)文為多個(gè),其中,將所述第一數(shù)據(jù)報(bào)文的域名參數(shù)與所述域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取所述第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值的步驟包括 將多個(gè)所述第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中; 當(dāng)將第一個(gè)所述第一數(shù)據(jù)報(bào)文保存在所述數(shù)據(jù)報(bào)文集中時(shí),開(kāi)始計(jì)時(shí),以獲取保存時(shí)間; 檢測(cè)所述保存時(shí)間是否達(dá)到預(yù)設(shè)保存時(shí)間; 在所述保存時(shí)間達(dá)到所述預(yù)設(shè)保存時(shí)間時(shí),獲取所述數(shù)據(jù)報(bào)文集中第一數(shù)據(jù)報(bào)文的報(bào)文數(shù)量; 計(jì)算所述報(bào)文數(shù)量與所述保存時(shí)間的比值,以獲取所述數(shù)據(jù)報(bào)文集的訪問(wèn)頻率; 比較所述訪問(wèn)頻率與訪問(wèn)閾值的大小; 在所述訪問(wèn)頻率小于所述訪問(wèn)閾值的情況下,確定所述第一數(shù)據(jù)報(bào)文為所述合法的數(shù)據(jù)報(bào)文; 在所述訪問(wèn)頻率大于或等于所述訪問(wèn)閾值的情況下,將所述第一數(shù)據(jù)報(bào)文的域名參數(shù)與所述域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取所述第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在判斷所述隨機(jī)程度分值是否大于阻斷閾值之前,所述方法還包括 對(duì)所述數(shù)據(jù)報(bào)文集中的所有所述第一數(shù)據(jù)報(bào)文的所述隨機(jī)程度分值進(jìn)行求平均值計(jì)算,以獲取隨機(jī)程度平均值; 通過(guò)如下公式對(duì)所述阻斷閾值進(jìn)行反饋控制計(jì)算,以獲取處理后的阻斷閾值Fblock FbIock=Finit-Faccess*Q9+Frandom*Q10,其中,F(xiàn)init 為所述阻斷閾值的初始值,F(xiàn)access為所述訪問(wèn)頻率,F(xiàn)random為所述隨機(jī)程度平均值,Q9為預(yù)設(shè)的所述訪問(wèn)頻率的權(quán)重參數(shù),QlO為預(yù)設(shè)的所述隨機(jī)程度平均值的權(quán)重參數(shù)。
6.根據(jù)權(quán)利要求2至5中任意一項(xiàng)所述的方法,其特征在于,所述第一數(shù)據(jù)報(bào)文的域名參數(shù)包括域名名稱,其中,在將所述第一數(shù)據(jù)報(bào)文的域名參數(shù)與所述域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取所述第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值之前,所述方法還包括 檢測(cè)所述域名庫(kù)中是否存在所述第一數(shù)據(jù)報(bào)文的域名名稱; 在所述預(yù)設(shè)域名庫(kù)中存在所述域名名稱的情況下,確定所述第一數(shù)據(jù)報(bào)文為所述合法的數(shù)據(jù)報(bào)文。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,當(dāng)確定成功獲取到與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將所述初始數(shù)據(jù)報(bào)文的域名參數(shù)作為所述預(yù)設(shè)域名參數(shù)的步驟包括當(dāng)確定成功獲取到與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)保存在所述域名庫(kù)中。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在在所述預(yù)設(shè)域名庫(kù)中存在所述域名名稱的情況下,確定所述第一數(shù)據(jù)報(bào)文為所述合法的數(shù)據(jù)報(bào)文之后,所述方法還包括 將與所述第一數(shù)據(jù)報(bào)文相對(duì)應(yīng)的報(bào)文響應(yīng)發(fā)送給客戶端。
9.一種數(shù)據(jù)報(bào)文的檢測(cè)裝置,其特征在于,包括 第一讀取模塊,用于讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù); 第一處理模塊,用于將所述第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取所述第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,所述預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù); 第二處理模塊,用于判斷所述隨機(jī)程度分值是否大于阻斷閾值;以及第三處理模塊,用于在所述隨機(jī)程度分值大于所述阻斷閾值時(shí),確定所述第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置包括 第一獲取模塊,用于獲取通過(guò)防火墻的初始數(shù)據(jù)報(bào)文; 第一判斷模塊,用于判斷是否成功獲取到與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng);第四處理模塊,用于當(dāng)確定成功獲取到與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將所述初始數(shù)據(jù)報(bào)文的域名參數(shù)作為所述預(yù)設(shè)域名參數(shù)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述預(yù)設(shè)域名參數(shù)保存在域名庫(kù)中,所述第一數(shù)據(jù)報(bào)文的域名參數(shù)包括頂級(jí)域名、二級(jí)域名以及三級(jí)域名,其中,所述第二處理模塊包括 第一檢測(cè)模塊,用于檢測(cè)所述域名庫(kù)中是否存在與所述第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的所述預(yù)設(shè)域名參數(shù); 第一計(jì)算模塊,用于在所述域名庫(kù)中存在與所述第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,所述第一數(shù)據(jù)報(bào)文的第一隨機(jī)程度參數(shù)為零; 第二計(jì)算模塊,用于在所述域名庫(kù)中不存在與所述第一數(shù)據(jù)報(bào)文的頂級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,將所述第一數(shù)據(jù)報(bào)文的所述第一隨機(jī)程度參數(shù)設(shè)置為所述阻斷閾值; 第二檢測(cè)模塊,用于檢測(cè)所述域名庫(kù)中是否存在與所述第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的所述預(yù)設(shè)域名參數(shù); 第三計(jì)算模塊,用于在所述域名庫(kù)中存在與所述第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,所述第一數(shù)據(jù)報(bào)文的第二隨機(jī)程度參數(shù)為零; 第四計(jì)算模塊,用于在所述域名庫(kù)中不存在與所述第一數(shù)據(jù)報(bào)文的二級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算所述第一數(shù)據(jù)報(bào)文的所述第二隨機(jī)程度參數(shù)S2 :S2=Fblock*Ql-(Ll*Q2-L2*Q3+Pl*Q4),其中,F(xiàn)block 為所述阻斷閾值,Ql 為所述阻斷閾值的權(quán)重參數(shù),LI為所述二級(jí)域名與所述域名庫(kù)中第一匹配域名參數(shù)的相同部分的長(zhǎng)度,L2為所述二級(jí)域名與所述第一匹配域名參數(shù)的不同部分的長(zhǎng)度,Q2為所述LI的權(quán)重參數(shù),Q3為所述LI的權(quán)重參數(shù),Pl為所述二級(jí)域名的字符分布參數(shù),Q4為所述二級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),所述第一匹配域名參數(shù)為所述域名庫(kù)中與所述二級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù); 第三檢測(cè)模塊,用于檢測(cè)所述域名庫(kù)中是否存在與所述第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的所述預(yù)設(shè)域名參數(shù); 第五計(jì)算模塊,用于在所述域名庫(kù)中存在與所述第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的所述預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算所述第一數(shù)據(jù)報(bào)文的第三隨機(jī)程度參數(shù)S3 S3=L3*Q5,其中,L3為所述三級(jí)域名的長(zhǎng)度,Q5為所述L3的第一權(quán)重參數(shù); 第六計(jì)算模塊,用于在所述域名庫(kù)中不存在與所述第一數(shù)據(jù)報(bào)文的三級(jí)域名相同的預(yù)設(shè)域名參數(shù)的情況下,通過(guò)如下公式計(jì)算所述第一數(shù)據(jù)報(bào)文的所述第三隨機(jī)程度參數(shù)S3 S3=L3*Q6+P2*Q7,其中,Q6為所述L3的第二權(quán)重參數(shù),P2為所述三級(jí)域名的字符分布參數(shù),Q7為所述三級(jí)域名的字符分布參數(shù)的權(quán)重參數(shù),所述第二匹配域名參數(shù)為所述域名庫(kù)中與所述三級(jí)域名不完全相同的預(yù)設(shè)域名參數(shù); 第七計(jì)算模塊,用于通過(guò)如下公式計(jì)算所述隨機(jī)程度分值Fr Fr=Sl+S2+S3+L*Q8,其中,SI為所述第一隨機(jī)程度參數(shù),S2為所述第二隨機(jī)程度參數(shù),S3為所述第三隨機(jī)程度參數(shù),Q8為隨機(jī)程度參數(shù)的權(quán)重參數(shù),所述L為所述第一數(shù)據(jù)報(bào)文的域名的總長(zhǎng)度。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述第一數(shù)據(jù)報(bào)文為多個(gè),其中,所述第一處理模塊還包括 存儲(chǔ)模塊,用于將多個(gè)所述第一數(shù)據(jù)報(bào)文保存在數(shù)據(jù)報(bào)文集中; 計(jì)時(shí)模塊,用于當(dāng)將第一個(gè)所述第一數(shù)據(jù)報(bào)文保存在所述數(shù)據(jù)報(bào)文集中時(shí),開(kāi)始計(jì)時(shí),以獲取保存時(shí)間; 第四檢測(cè)模塊,用于檢測(cè)所述保存時(shí)間是否達(dá)到預(yù)設(shè)保存時(shí)間; 第二獲取模塊,用于在所述保存時(shí)間達(dá)到所述預(yù)設(shè)保存時(shí)間時(shí),獲取所述數(shù)據(jù)報(bào)文集中第一數(shù)據(jù)報(bào)文的報(bào)文數(shù)量; 第八計(jì)算模塊,用于計(jì)算所述報(bào)文數(shù)量與所述保存時(shí)間的比值,以獲取所述數(shù)據(jù)報(bào)文集的訪問(wèn)頻率; 比較模塊,用于比較所述訪問(wèn)頻率與訪問(wèn)閾值的大??; 第五處理模塊,用于在所述訪問(wèn)頻率小于所述訪問(wèn)閾值的情況下,確定所述第一數(shù)據(jù)報(bào)文為所述合法的數(shù)據(jù)報(bào)文; 第六處理模塊,用于在所述訪問(wèn)頻率大于或等于所述訪問(wèn)閾值的情況下,將所述第一數(shù)據(jù)報(bào)文的域名參數(shù)與所述域名庫(kù)中的預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取所述第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述裝置還包括 第九計(jì)算模塊,用于對(duì)所述數(shù)據(jù)報(bào)文集中的所有所述第一數(shù)據(jù)報(bào)文的所述隨機(jī)程度分值進(jìn)行求平均值計(jì)算,以獲取隨機(jī)程度平均值; 第十計(jì)算模塊,用于通過(guò)如下公式對(duì)所述阻斷閾值進(jìn)行反饋控制計(jì)算,以獲取處理后的阻斷閾值 Fblock :Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,F(xiàn)init 為所述阻斷閾值的初始值,F(xiàn)access為所述訪問(wèn)頻率,F(xiàn)random為所述隨機(jī)程度平均值,Q9為預(yù)設(shè)的所述訪問(wèn)頻率的權(quán)重參數(shù),QlO為預(yù)設(shè)的所述隨機(jī)程度平均值的權(quán)重參數(shù)。
14.根據(jù)權(quán)利要求10至13中任意一項(xiàng)所述的裝置,其特征在于,所述第一數(shù)據(jù)報(bào)文的域名參數(shù)包括域名名稱,其中,所述裝置還包括 第五檢測(cè)模塊,用于檢測(cè)所述域名庫(kù)中是否存在所述第一數(shù)據(jù)報(bào)文的域名名稱;第七處理模塊,用于在所述預(yù)設(shè)域名庫(kù)中存在所述域名名稱的情況下,確定所述第一數(shù)據(jù)報(bào)文為所述合法的數(shù)據(jù)報(bào)文。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述第四處理模塊包括 第八處理模塊,用于當(dāng)確定成功獲取到與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)時(shí),將與所述初始數(shù)據(jù)報(bào)文對(duì)應(yīng)的報(bào)文響應(yīng)保存在所述域名庫(kù)中。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于,所述裝置還包括 發(fā)送模塊,用于將與所述第一數(shù)據(jù)報(bào)文相對(duì)應(yīng)的報(bào)文響應(yīng)發(fā)送給客戶端。
全文摘要
本發(fā)明公開(kāi)了一種數(shù)據(jù)報(bào)文的檢測(cè)方法及裝置。其中,該方法包括數(shù)據(jù)報(bào)文的檢測(cè)方法,該方法包括讀取接收到的第一數(shù)據(jù)報(bào)文的域名參數(shù);將第一數(shù)據(jù)報(bào)文的域名參數(shù)與預(yù)設(shè)域名參數(shù)進(jìn)行隨機(jī)程度計(jì)算,以獲取第一數(shù)據(jù)報(bào)文的域名參數(shù)的隨機(jī)程度分值,其中,預(yù)設(shè)域名參數(shù)為預(yù)先設(shè)定的合法數(shù)據(jù)報(bào)文的域名參數(shù);判斷隨機(jī)程度分值是否大于阻斷閾值;以及在隨機(jī)程度分值大于阻斷閾值時(shí),確定第一數(shù)據(jù)報(bào)文為非法的數(shù)據(jù)報(bào)文。通過(guò)本發(fā)明,實(shí)現(xiàn)了準(zhǔn)確識(shí)別非法數(shù)據(jù)報(bào)文,從而可以從所有DNS隨機(jī)請(qǐng)求的流量中分理出非法的數(shù)據(jù)報(bào)文,從而能夠有效而且高效地清洗DNS隨即請(qǐng)求非法數(shù)據(jù)報(bào)文,從而使得DNS隨機(jī)請(qǐng)求攻擊失去DDOS效果。
文檔編號(hào)H04L12/70GK102984178SQ20121059386
公開(kāi)日2013年3月20日 申請(qǐng)日期2012年12月31日 優(yōu)先權(quán)日2012年12月31日
發(fā)明者鄧富鐳 申請(qǐng)人:山石網(wǎng)科通信技術(shù)(北京)有限公司