專利名稱:一種dns報文處理方法及網(wǎng)絡(luò)安全設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種DNS報文處理方法及網(wǎng)絡(luò)安全設(shè)備。
背景技術(shù):
在計(jì)算機(jī)網(wǎng)絡(luò)通信中,主機(jī)之間需要知道通信對端的IP地址才能夠通過IP網(wǎng)絡(luò)與對方進(jìn)行通信。然而32為的IPv4地址(IPv6地址為1 位)對于通信參與者來說是不容易記憶的。因此,更為直觀的域名(如www. google, com. hk)被廣泛采用以解決IP地址難以記憶的問題。然而網(wǎng)絡(luò)通信是基于IP協(xié)議來運(yùn)轉(zhuǎn)的,通過域名并不能直接找到要訪問的主機(jī)。因此主機(jī)需要將用戶輸入的域名轉(zhuǎn)換為IP地址,這個過程被稱為域名解析。為了完成域名解析,需要域名系統(tǒng)(Domain Name System, DNS)來配合,其是一種用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫,提供域名與IP地址之間的轉(zhuǎn)換。通過域名系統(tǒng),用戶進(jìn)行某些應(yīng)用時,可以直接使用便于記憶的且有意義的域名,而由網(wǎng)絡(luò)中的DNS服務(wù)器將域名解析為正確的IP地址然后返回給用戶的主機(jī)。域名服務(wù)器,是指保存有該網(wǎng)絡(luò)中所有主機(jī)的域名和對應(yīng)IP地址,并具有將域名轉(zhuǎn)換為IP地址功能的服務(wù)器。域名解析過程是指當(dāng)某一個應(yīng)用進(jìn)程需要將主機(jī)名解析為IP地址時,該應(yīng)用進(jìn)程就成為域名系DNS的一個客戶,并把待解析的域名放在DNS請求報文中發(fā)給域名服務(wù)器,域名服務(wù)器在查找域名后將對應(yīng)的IP地址放在回答報文中返回給客戶機(jī)應(yīng)用進(jìn)程。請參考圖1,實(shí)際網(wǎng)絡(luò)中域名服務(wù)器是有分級的,如果本地域名服務(wù)器若查找到該域名,便將其對應(yīng)的IP地址放在DNS響應(yīng)報文中返回給客戶機(jī)應(yīng)用進(jìn)程,如果查找不到,則還需要向上級DNS服務(wù)器請求。域名解析服務(wù)方便了用戶對網(wǎng)絡(luò)的使用,然而其可能成為網(wǎng)絡(luò)攻擊者攻擊的對象,一旦域名解析遭到攻擊,其產(chǎn)生的后果將是十分嚴(yán)重的,因?yàn)槠淇赡軙?dǎo)致大面積無法訪問的情況發(fā)生。最近一段時間,因DNS攻擊而引發(fā)網(wǎng)絡(luò)服務(wù)中斷的情形屢見不鮮。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種網(wǎng)絡(luò)安全設(shè)備,其應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)中,該網(wǎng)絡(luò)安全設(shè)備位于DNS客戶端與DNS服務(wù)器之間,該網(wǎng)絡(luò)安全設(shè)備包括初級判決單元,接收DNS響應(yīng)報文,并檢查響應(yīng)報文的是否攜帶有解析出的IP地址;如果是,則將報文提交給次級判決單元;否則判定為域名解析失敗,更新域名解析失敗記錄;次級判決單元,用于檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng),如果是則判定為域名解析成功;否則判定為域名解析失敗,更新域名解析失敗記錄;轉(zhuǎn)發(fā)單元,用于將DNS響應(yīng)報文轉(zhuǎn)發(fā)給DNS客戶端。優(yōu)選地,所述次級判決單元檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng)具體包括
檢查解析出的IP地址是否為預(yù)定IP地址,如果不是,則判定為域名解析成功;當(dāng)解析出的IP地址是預(yù)定IP地址時,如果所述待解析的域名對應(yīng)所述預(yù)定IP地址的預(yù)定域名,則判定為域名解析成功,否則判定為域名解析失敗。優(yōu)選地,還包括管理接口單元,用于通過管理通道接收網(wǎng)絡(luò)管理裝置下發(fā)的預(yù)定 IP地址以及與該預(yù)定IP地址對應(yīng)的預(yù)定域名,并將該預(yù)定IP地址以及預(yù)定域名保存起來供所述次級判決單元使用。優(yōu)選地,所述域名解析失敗記錄為預(yù)定時間段內(nèi)域名解析失敗率記錄。優(yōu)選地,還包括告警單元,其用于在每次域名解析失敗記錄更新時,檢查所述域名解析失敗記錄超過預(yù)定閾值,如果是,則通過管理通道向網(wǎng)絡(luò)管理裝置發(fā)送相應(yīng)的告警 fn息ο本發(fā)明還提供一種DNS報文處理方法,應(yīng)用于網(wǎng)絡(luò)安全設(shè)備中,該網(wǎng)絡(luò)安全設(shè)備位于DNS客戶端與DNS服務(wù)器之間,該方法包括A、接收DNS響應(yīng)報文,并檢查響應(yīng)報文的是否攜帶有解析出的IP地址;如果是,轉(zhuǎn)步驟B ;否則判定為域名解析失敗,更新域名解析失敗記錄;B、檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng), 如果是則判定為域名解析成功;否則判定為域名解析失敗,更新域名解析失敗記錄;C、將DNS響應(yīng)報文轉(zhuǎn)發(fā)給DNS客戶端。優(yōu)選地,所述步驟B中檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng)具體包括檢查解析出的IP地址是否為預(yù)定IP地址,如果不是,則判定為域名解析成功;當(dāng)解析出的IP地址是預(yù)定IP地址時,如果所述待解析的域名對應(yīng)所述預(yù)定IP地址的預(yù)定域名,則判定為域名解析成功,否則判定為域名解析失敗。優(yōu)選地,還包括D、通過管理通道接收網(wǎng)絡(luò)管理裝置下發(fā)的預(yù)定IP地址以及與該預(yù)定IP地址對應(yīng)的預(yù)定域名,并將該預(yù)定IP地址以及預(yù)定域名保存起來。優(yōu)選地,所述域名解析失敗記錄為預(yù)定時間段內(nèi)域名解析失敗率記錄。優(yōu)選地,還包括E、在每次域名解析失敗記錄更新時,檢查所述域名解析失敗記錄超過預(yù)定閾值,如果是,則通過管理通道向網(wǎng)絡(luò)管理裝置發(fā)送相應(yīng)的告警信息。本發(fā)明能夠準(zhǔn)確全面地記錄域名解析失敗的記錄,從而能夠及時地發(fā)現(xiàn)網(wǎng)絡(luò)中 DNS域名解析的異常情況,協(xié)助管理員及時發(fā)現(xiàn)可疑的攻擊行為。
圖1是現(xiàn)有技術(shù)中典型DNS交互示意圖。圖2是DNS報文格式圖。圖3是DNS報文標(biāo)志字段格式圖。圖4是本發(fā)明域名解析失敗統(tǒng)計(jì)流程圖。圖5是本發(fā)明安全設(shè)備邏輯結(jié)構(gòu)圖。
具體實(shí)施例方式本發(fā)明發(fā)明人通過研究發(fā)現(xiàn)目前比較常見的惡意針對DNS服務(wù)的攻擊,都會伴隨著域名解析失敗事件的出現(xiàn),比如針對DNS服務(wù)器資源消耗的暴力攻擊等。本發(fā)明主要目標(biāo)是在網(wǎng)絡(luò)中通過位于DNS客戶端與DNS服務(wù)器之間網(wǎng)絡(luò)安全設(shè)備來檢查域名解析失敗事件,形成記錄與統(tǒng)計(jì)從而發(fā)現(xiàn)可疑的攻擊行為。在介紹本發(fā)明較佳實(shí)現(xiàn)方式之前,先介紹一下本發(fā)明需要利用到的報文格式以及DNS交互基本流程。DNS請求報文和DNS響應(yīng)報文格式如圖2所示,其中16比特(bit)的標(biāo)志字段被劃分為若干子字段。請進(jìn)一步參考圖3,各子字段含義如下QR是Ibit字段,0表示請求報文,1表示響應(yīng)報文;Opcode是4bit字段,通常值為0 (標(biāo)準(zhǔn)查詢),其他值為1 (反向查詢)和2 (服務(wù)器狀態(tài)請求);AA是Ibit字段,表示“授權(quán)回答(authoritative answer) ”,其值為1時表示該域名服務(wù)器是授權(quán)于該域的;TC是Ibit字段,表示“可截?cái)嗟?truncated) ”,其值為1時表示信息長度超過報文長度限制;RD是Ibit字段,表示“期望遞歸(recursion desired) ”,隨后3bit必須為0 ;Rcode是4bit字段,值為1表明域名沒有差錯,即域名解析成功,值為3表明域名名字差錯,即域名解析失敗。請參考圖4以及圖5,在一般的域名解析失敗的統(tǒng)計(jì)中,網(wǎng)絡(luò)安全設(shè)備(也稱防護(hù)設(shè)備)會在對例行報文安全檢查之后透傳DNS請求報文(DNS Request),對DNS響應(yīng)報文 (DNS Response)則上送軟件層面去檢查,并根據(jù)檢查結(jié)果記錄域名解析失敗事件。本發(fā)明網(wǎng)絡(luò)安全設(shè)備應(yīng)用與計(jì)算機(jī)網(wǎng)絡(luò)中,位于DNS客戶端以及DNS服務(wù)器之間,所述網(wǎng)絡(luò)安全設(shè)備包括報文識別單元10、轉(zhuǎn)發(fā)單元20、管理接口單元30、初級判決單元40、次級判決單元50 以及告警生成單元60。步驟101,從流經(jīng)網(wǎng)絡(luò)安全設(shè)備的報文中識別出DNS響應(yīng)報文,然后將識別到的 DNS響應(yīng)報文提交給初級判決單元,本步驟由報文網(wǎng)絡(luò)安全設(shè)備內(nèi)部的報文識別單元10執(zhí)行。網(wǎng)絡(luò)安全設(shè)備識別一種特定協(xié)議的特定報文有很多種實(shí)現(xiàn)方式,可以通過底層的芯片或者邏輯器件實(shí)現(xiàn),也可以通過計(jì)算機(jī)軟件實(shí)現(xiàn)。對于DNS響應(yīng)報文,可以通過表征 DNS應(yīng)用的知名端口號以及QR標(biāo)志位來識別DNS響應(yīng)報文。對于DNS響應(yīng)報文的識別現(xiàn)有技術(shù)已經(jīng)有教導(dǎo),不再一一詳述。步驟102,接收DNS響應(yīng)報文,并檢查響應(yīng)報文的是否攜帶有解析出的IP地址;如果是,則將報文提交給次級判決單元;否則判定為域名解析失敗,更新域名解析失敗記錄; 本步驟由初級判決單元40執(zhí)行。具體來說,如果響應(yīng)報文載荷內(nèi)攜帶有解析出的IP地址,則表明域名解析是成功的。通常可以通過識別Rcode這個字段來實(shí)現(xiàn),Rcod是4bit字段,值為1表明域名沒有差錯,即域名解析成功,值為3表明域名名字差錯,即域名解析失敗。如果Rcode是3,則無法解析到IP地址,這種情況表明域名解析一定失敗,然而即便Rcode是1,其僅僅表明在DNS 協(xié)議層面來看域名解析是成功的。如果進(jìn)一步從上層應(yīng)用的角度來看,域名解析未必是真的成功。因?yàn)樯蠈拥膽?yīng)用為了方便用戶上網(wǎng),可能會設(shè)計(jì)一些“欺騙”行為。步驟103,檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng),如果是則將報文提交給轉(zhuǎn)發(fā)單元;否則判定為域名解析失敗,更新域名解析失敗記錄;本步驟由次級判決單元50執(zhí)行。如前所述的那樣,由于在一些應(yīng)用場景中DNS服務(wù)器會針對域名無法解析成功的情況添加預(yù)定的IP地址,使得域名解析在DNS協(xié)議層面看起來是成功的,即Rcode為1。這種人為的修改可能會欺騙到部分網(wǎng)絡(luò)安全設(shè)備,使得域名解析失敗被掩蓋。比如說,目前比較流行的情況是,域名解析失敗時,運(yùn)營商會返回一個特殊站點(diǎn)的IP地址,使得用戶訪問到一個特殊的站點(diǎn)。這種方式下,用戶可能會從這個特殊站點(diǎn)獲得有用的資訊。然而這種本來方便用戶的行為可能會錯誤地掩蓋一些攻擊行為,導(dǎo)致網(wǎng)絡(luò)安全設(shè)備無法準(zhǔn)確分析統(tǒng)計(jì)到部分域名解析失敗事件。舉例而言,第一種情況,假設(shè)用戶DNS客戶端請求解析的是A站點(diǎn)(域名)的IP地址,DNS服務(wù)器檢查后發(fā)現(xiàn)A站點(diǎn)沒有對應(yīng)的IP地址,但DNS服務(wù)器填入另一個預(yù)定的IP 地址,該預(yù)定IP地址對應(yīng)特殊站點(diǎn)B。所述雖然DNS響應(yīng)報文顯示出正對站點(diǎn)A解析的結(jié)果是所述預(yù)定IP地址,但站點(diǎn)A與IP地址是不對應(yīng)的。第二種情況,假設(shè)用戶請求解析的就是特殊站點(diǎn)B,則解析結(jié)果就是前述預(yù)定的IP地址,這種情況域名與IP地址是真實(shí)對應(yīng)的,解析是成功的。因此從網(wǎng)絡(luò)安全防護(hù)的角度來說,需要將上述兩種情況加以區(qū)分,需要將第一種情況不對應(yīng)的情況檢查出來作為域名解析失敗事件加以記錄。從具體實(shí)現(xiàn)上來說,次級判決單元可以先檢查解析出的IP地址是否為預(yù)定IP地址,如果不是,則判定為域名解析成功;當(dāng)解析出的IP地址是預(yù)定IP地址時,如果所述待解析的域名對應(yīng)所述預(yù)定IP地址的預(yù)定域名,則判定為域名解析成功,否則判定為域名解析失??;這種域名解析失敗是只是在DNS協(xié)議層面被掩蓋為成功。步驟104,將DNS響應(yīng)報文轉(zhuǎn)發(fā)給DNS客戶端,本步驟由轉(zhuǎn)發(fā)單元20執(zhí)行。經(jīng)過上述處理以后,網(wǎng)絡(luò)安全設(shè)備已經(jīng)能夠準(zhǔn)確地獲得域名解析失敗的記錄,然而不論域名解析成功與否,響應(yīng)報文均需要轉(zhuǎn)發(fā)給客戶端設(shè)備。轉(zhuǎn)發(fā)功能是網(wǎng)絡(luò)安全設(shè)備的基本功能,可能是芯片轉(zhuǎn)發(fā)也可能是軟件轉(zhuǎn)發(fā)。步驟105,在每次域名解析失敗記錄更新時,檢查所述域名解析失敗記錄超過預(yù)定閾值,如果是,則通過管理通道向網(wǎng)絡(luò)管理裝置發(fā)送相應(yīng)的告警信息;本步驟由告警單元 60執(zhí)行。域名解析失敗記錄可以是域名解析失敗次數(shù)記錄,也可以是域名解析失敗率記錄。 所述域名解析失敗記錄也可以是預(yù)定時間段內(nèi)的,可以隔一段時間清零。以域名解析失敗率為例,當(dāng)失敗率超過管理員預(yù)定的閾值的時候,告警單元需要生成對應(yīng)的告警信息向網(wǎng)絡(luò)管理裝置進(jìn)行報告,這樣管理員可以根據(jù)告警信息做出合理的判斷和適當(dāng)?shù)木W(wǎng)絡(luò)管理行為。步驟106,通過管理通道接收網(wǎng)絡(luò)管理裝置下發(fā)的預(yù)定IP地址以及與該預(yù)定IP地址對應(yīng)的預(yù)定域名,并將該預(yù)定IP地址以及預(yù)定域名保存起來供所述次級判決單元使用, 本步驟由管理接口單元30執(zhí)行。前述的預(yù)定IP地址以及對應(yīng)的預(yù)定域名可以通過網(wǎng)絡(luò)安全設(shè)備既有的管理接口下發(fā),如果有多組預(yù)定IP地址與預(yù)定域名的組合則應(yīng)當(dāng)對應(yīng)保存起來。前述次級判決單元則需要依此檢查各個組合。以上描述的本發(fā)明較佳的實(shí)現(xiàn)方式,本發(fā)明能夠準(zhǔn)確全面地記錄域名解析失敗的記錄,從而能夠及時地發(fā)現(xiàn)網(wǎng)絡(luò)中DNS域名解析的異常情況,協(xié)助管理員及時發(fā)現(xiàn)可疑的攻擊行為。以上所述僅僅為本發(fā)明較佳的實(shí)現(xiàn)方式,任何基于本發(fā)明精神所做出的等同的修改皆應(yīng)涵蓋于本發(fā)明的權(quán)利要求范圍中。
權(quán)利要求
1.一種網(wǎng)絡(luò)安全設(shè)備,其應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)中,該網(wǎng)絡(luò)安全設(shè)備位于DNS客戶端與DNS 服務(wù)器之間,該網(wǎng)絡(luò)安全設(shè)備包括初級判決單元,接收DNS響應(yīng)報文,并檢查響應(yīng)報文的是否攜帶有解析出的IP地址;如果是,則將報文提交給次級判決單元;否則判定為域名解析失敗,更新域名解析失敗記錄;次級判決單元,用于檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng),如果是則判定為域名解析成功;否則判定為域名解析失敗,更新域名解析失敗記錄;轉(zhuǎn)發(fā)單元,用于將DNS響應(yīng)報文轉(zhuǎn)發(fā)給DNS客戶端。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)安全設(shè)備,其特征在于,所述次級判決單元檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng)具體包括檢查解析出的IP地址是否為預(yù)定IP地址,如果不是,則判定為域名解析成功;當(dāng)解析出的IP地址是預(yù)定IP地址時,如果所述待解析的域名對應(yīng)所述預(yù)定IP地址的預(yù)定域名, 則判定為域名解析成功,否則判定為域名解析失敗。
3.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)安全設(shè)備,其特征在于,還包括管理接口單元,用于通過管理通道接收網(wǎng)絡(luò)管理裝置下發(fā)的預(yù)定IP地址以及與該預(yù)定IP地址對應(yīng)的預(yù)定域名,并將該預(yù)定IP地址以及預(yù)定域名保存起來供所述次級判決單元使用。
4.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)安全設(shè)備,其特征在于,所述域名解析失敗記錄為預(yù)定時間段內(nèi)域名解析失敗率記錄。
5.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)安全設(shè)備,其特征在于,還包括告警單元,其用于在每次域名解析失敗記錄更新時,檢查所述域名解析失敗記錄超過預(yù)定閾值,如果是,則通過管理通道向網(wǎng)絡(luò)管理裝置發(fā)送相應(yīng)的告警信息。
6.一種DNS報文處理方法,應(yīng)用于網(wǎng)絡(luò)安全設(shè)備中,該網(wǎng)絡(luò)安全設(shè)備位于DNS客戶端與 DNS服務(wù)器之間,該方法包括A、接收DNS響應(yīng)報文,并檢查響應(yīng)報文的是否攜帶有解析出的IP地址;如果是,轉(zhuǎn)步驟 B ;否則判定為域名解析失敗,更新域名解析失敗記錄;B、檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng),如果是則判定為域名解析成功;否則判定為域名解析失敗,更新域名解析失敗記錄;C、將DNS響應(yīng)報文轉(zhuǎn)發(fā)給DNS客戶端。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述步驟B中檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng)具體包括檢查解析出的IP地址是否為預(yù)定IP地址,如果不是,則判定為域名解析成功;當(dāng)解析出的IP地址是預(yù)定IP地址時,如果所述待解析的域名對應(yīng)所述預(yù)定IP地址的預(yù)定域名, 則判定為域名解析成功,否則判定為域名解析失敗。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括D、通過管理通道接收網(wǎng)絡(luò)管理裝置下發(fā)的預(yù)定IP地址以及與該預(yù)定IP地址對應(yīng)的預(yù)定域名,并將該預(yù)定IP地址以及預(yù)定域名保存起來。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述域名解析失敗記錄為預(yù)定時間段內(nèi)域名解析失敗率記錄。
10.根據(jù)權(quán)利要求6所述的方法,其特征在于,還包括E、在每次域名解析失敗記錄更新時,檢查所述域名解析失敗記錄超過預(yù)定閾值,如果是,則通過管理通道向網(wǎng)絡(luò)管理裝置發(fā)送相應(yīng)的告警信息。
全文摘要
本發(fā)明涉及一種網(wǎng)絡(luò)安全設(shè)備及DNS報文處理方法,其應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)中,該網(wǎng)絡(luò)安全設(shè)備位于DNS客戶端與DNS服務(wù)器之間,該網(wǎng)絡(luò)安全設(shè)備包括初級判決單元,接收DNS響應(yīng)報文,并檢查響應(yīng)報文的是否攜帶有解析出的IP地址;如果是,則將報文提交給次級判決單元;否則判定為域名解析失敗,更新域名解析失敗記錄;次級判決單元,用于檢查DNS響應(yīng)報文中攜帶的解析出的IP地址與DNS請求解析的域名是否對應(yīng),如果是則判定為域名解析成功;否則判定為域名解析失敗,更新域名解析失敗記錄;轉(zhuǎn)發(fā)單元,用于將DNS響應(yīng)報文轉(zhuǎn)發(fā)給DNS客戶端。
文檔編號H04L12/24GK102223422SQ201110219060
公開日2011年10月19日 申請日期2011年8月2日 優(yōu)先權(quán)日2011年8月2日
發(fā)明者滕曉燕 申請人:杭州迪普科技有限公司