局域網(wǎng)dns欺騙攻擊
局域網(wǎng)dns欺騙攻擊
互聯(lián)網(wǎng)的飛速發(fā)展,帶來了生活和辦公的快捷方便。然而近年來網(wǎng)絡(luò)安全事故的頻發(fā),也顯露出互聯(lián)網(wǎng)絡(luò)的脆弱性,那么你知道局域網(wǎng)dns欺騙攻擊嗎?下面是學(xué)習(xí)啦小編整理的一些關(guān)于局域網(wǎng)dns欺騙攻擊的相關(guān)資料,供你參考。
一、DNS欺騙攻擊原理
欺騙原理
Client的DNS查詢請(qǐng)求和DNS Server的應(yīng)答數(shù)據(jù)包是依靠DNS報(bào)文的ID標(biāo)識(shí)來相互對(duì)應(yīng)的。在進(jìn)行域名解析時(shí),Client首先用特定的ID號(hào)向DNS Server發(fā)送域名解析數(shù)據(jù)包,這個(gè)ID是隨機(jī)產(chǎn)生的。DNS Server找到結(jié)果后使用此ID給Client發(fā)送應(yīng)答數(shù)據(jù)包。Client接收到應(yīng)答包后,將接收到的ID與請(qǐng)求包的ID對(duì)比,如果相同則說明接收到的數(shù)據(jù)包是自己所需要的,如果不同就丟棄此應(yīng)答包。根據(jù)攻擊者的查詢和應(yīng)答原理,可使用不同方法實(shí)現(xiàn)攻擊,如:
(1)因?yàn)镈NS Message僅使用一個(gè)簡(jiǎn)單的認(rèn)證碼來實(shí)施真實(shí)性驗(yàn)證,認(rèn)證碼是由Client程序產(chǎn)生并由DNS Server返回結(jié)果的,客戶機(jī)只是使用這個(gè)認(rèn)證碼來辨別應(yīng)答與申請(qǐng)查詢是否匹配,這就使得針對(duì)ID認(rèn)證碼的攻擊威脅成為可能。
(2)在DNS Request Message中可以增加信息,這些信息可以與客戶機(jī)所申請(qǐng)查詢的內(nèi)容沒有必然聯(lián)系,因此攻擊者就能在Request Message中根據(jù)自己的目的增加某些虛假的信息,比如增加其它Domain Server的Domain Name及其IP Address。此時(shí)Client在受到攻擊的Domain Server上的查詢申請(qǐng)均被轉(zhuǎn)向此前攻擊者在Request Message中增加的虛假Domain Server,由此DNS欺騙得以產(chǎn)生并對(duì)網(wǎng)絡(luò)構(gòu)成威脅。
(3)當(dāng)DNS Server接收到Domain Name和IP Address相互映射的數(shù)據(jù)時(shí),就將其保存在本地的Cache中。若再有Client請(qǐng)求查詢此Domain Name對(duì)應(yīng)的IP Address,Domain Server就會(huì)從Cache中將映射信息回復(fù)給Client,而無需在Database中再次查詢。如果黑客 將DNS Request Message的存在周期設(shè)定較長(zhǎng)時(shí)間,就可進(jìn)行長(zhǎng)期欺騙。
DNS欺騙攻擊的方式
DNS欺騙技術(shù)常見的有內(nèi)應(yīng)攻擊和序列號(hào)攻擊兩種。內(nèi)應(yīng)攻擊即黑客在掌控一臺(tái)DNS Server后,對(duì)其Domain Database內(nèi)容進(jìn)行更改,將虛假IP Address指定給特定的Domain Name,當(dāng)Client請(qǐng)求查詢這個(gè)特定域名的IP時(shí),將得到偽造的IP。
序列號(hào)攻擊是指?jìng)窝b的DNS Server在真實(shí)的DNS Server之前向客戶端發(fā)送應(yīng)答數(shù)據(jù)報(bào)文,該報(bào)文中含有的序列號(hào)ID與客戶端向真實(shí)的DNS Server發(fā)出請(qǐng)求數(shù)據(jù)包中含有的ID相同,因此客戶端會(huì)接收該虛假報(bào)文,而丟棄晚到的真實(shí)報(bào)文,這樣DNS ID序列號(hào)欺騙成功??蛻魴C(jī)得到的虛假報(bào)文中提供的域名的IP是攻擊者設(shè)定的IP,這個(gè)IP將把客戶帶到攻擊者指定的站點(diǎn)。
DNS 序列號(hào)欺騙攻擊原理
DNS 序列號(hào)(ID)欺騙以偵測(cè)ID和Port為基礎(chǔ)。在Switch構(gòu)建的網(wǎng)絡(luò)中,攻擊方首先向目標(biāo)實(shí)施ARP欺騙。當(dāng)Client、攻擊者和DNS Server同在一個(gè)網(wǎng)絡(luò)時(shí),攻擊流程如下:①攻擊方向目標(biāo)反復(fù)發(fā)送偽造的ARP Request Message,修改目標(biāo)機(jī)的ARP 緩存內(nèi)容,同時(shí)依靠IP續(xù)傳使Data經(jīng)過攻擊方再流向目的地;攻擊方用Sniffer軟件偵測(cè)DNS請(qǐng)求包,獲取ID序列號(hào)和Potr;②攻擊方一旦獲得ID和Potr,即刻向客戶機(jī)發(fā)送虛假的DNS Request Message,Client接收后驗(yàn)證ID和Potr正確,認(rèn)為接收了合法的DNS應(yīng)答;而Client得到的IP可能被轉(zhuǎn)向攻擊方誘導(dǎo)的非法站點(diǎn),從而使Client信息安全受到威脅;③Client再接收DNS Server的Request Message,因落后于虛假的DNS響應(yīng),故被Client丟棄。當(dāng)Client訪問攻擊者指向的虛假IP時(shí),一次DNS ID欺騙隨即完成
二、DNS SERVER的服務(wù)工作過程
DNS是一種實(shí)現(xiàn)Domain Name和IP Address之間轉(zhuǎn)換的系統(tǒng),它的工作原理就是在兩者間進(jìn)行相互映射,相當(dāng)于起到翻譯作用,所以稱為域名解析系統(tǒng)。DNS System分為Server和Client兩部分,Server的通用Port是53。當(dāng)Client向Server發(fā)出解析請(qǐng)求時(shí),Local DNS Server第一步查詢自身的Database是否存在需要的內(nèi)容,如果有則發(fā)送應(yīng)答數(shù)據(jù)包并給出相應(yīng)的結(jié)果;否則它將向上一層DNS Server查詢。如此不斷查詢,最終直至找到相應(yīng)的結(jié)果或者將查詢失敗的信息反饋給客戶機(jī)。如果Local DNS Server查到信息,則先將其保存在本機(jī)的高速緩存中,然后再向客戶發(fā)出應(yīng)答。日常我們上網(wǎng)是通過Browser方式來申請(qǐng)從Domain Name到IP Address的解析,即Client向DNS Server提交域名翻譯申請(qǐng),希望得到對(duì)應(yīng)的IP Address。這里以筆者所在院校為例,說明DNS的工作原理。
例如Client的Address為10.252.2.16,學(xué)校DNS Server為218.30.19.40,從此客戶機(jī)來訪問西安財(cái)經(jīng)學(xué)院網(wǎng)站。在地址欄鍵入學(xué)校網(wǎng)站的www.xaufe.edu.cn,通過DNS Server查找其對(duì)應(yīng)的IP Address。這個(gè)申請(qǐng)從10.252.2.16的一個(gè)隨機(jī)PORT發(fā)送出去,由218.30.19.40的53綁定端口接收到此申請(qǐng)并進(jìn)行翻譯,首先在218.30.19.40的高速緩存中查找www.xaufe.edu.cn的IP Address,若存在對(duì)應(yīng)的映射關(guān)系,就直接將IP Address發(fā)送給客戶機(jī),若緩存中沒有,則218.30.19.40會(huì)向上層DNS SERVER查詢,最后將查詢到的結(jié)果先發(fā)送到218.30.19.40,最后由218.30.19.40將西安財(cái)經(jīng)學(xué)院的IP Address(281.195.32.1)返回給Client 10.252.2.16。這樣10.252.2.16就可以和西安財(cái)經(jīng)學(xué)院站點(diǎn)建立連接并訪問了。
三、DNS欺騙檢測(cè)和防范思路
檢測(cè)思路
發(fā)生DNS欺騙時(shí),Client最少會(huì)接收到兩個(gè)以上的應(yīng)答數(shù)據(jù)報(bào)文,報(bào)文中都含有相同的ID序列號(hào),一個(gè)是合法的,另一個(gè)是偽裝的。據(jù)此特點(diǎn),有以下兩種檢測(cè)辦法:
(1)被動(dòng)監(jiān)聽檢測(cè)。即監(jiān)聽、檢測(cè)所有DNS的請(qǐng)求和應(yīng)答報(bào)文。通常DNS Server對(duì)一個(gè)請(qǐng)求查詢僅僅發(fā)送一個(gè)應(yīng)答數(shù)據(jù)報(bào)文(即使一個(gè)域名和多個(gè)IP有映射關(guān)系,此時(shí)多個(gè)關(guān)系在一個(gè)報(bào)文中回答)。因此在限定的時(shí)間段內(nèi)一個(gè)請(qǐng)求如果會(huì)收到兩個(gè)或以上的響應(yīng)數(shù)據(jù)報(bào)文,則被懷疑遭受了DNS欺騙。
(2)主動(dòng)試探檢測(cè)。即主動(dòng)發(fā)送驗(yàn)證包去檢查是否有DNS欺騙存在。通常發(fā)送驗(yàn)證數(shù)據(jù)包接收不到應(yīng)答,然而黑客為了在合法應(yīng)答包抵達(dá)客戶機(jī)之前就將欺騙信息發(fā)送給客戶,所以不會(huì)對(duì)DNS Server的IP合法性校驗(yàn),繼續(xù)實(shí)施欺騙。若收到應(yīng)答包,則說明受到了欺騙攻擊。
防范思路
在偵測(cè)到網(wǎng)絡(luò)中可能有DNS欺騙攻擊后,防范措施有:①在客戶端直接使用IP Address訪問重要的站點(diǎn),從而避免DNS欺騙; ②對(duì)DNS Server和Client的數(shù)據(jù)流進(jìn)行加密 ,Server端可以使用SSH加密協(xié)議,Client端使用PGP軟件實(shí)施數(shù)據(jù)加密。
對(duì)于常見的ID序列號(hào)欺騙攻擊,采用專業(yè)軟件在網(wǎng)絡(luò)中進(jìn)行監(jiān)聽檢查,在較短時(shí)間內(nèi),客戶端如果接收到兩個(gè)以上的應(yīng)答數(shù)據(jù)包,則說明可能存在DNS欺騙攻擊,將后到的合法包發(fā)送到DNS Server并對(duì)DNS數(shù)據(jù)進(jìn)行修改,這樣下次查詢申請(qǐng)時(shí)就會(huì)得到正確結(jié)果
四、DNS防護(hù)方案
進(jìn)行IP地址和MAC地址的綁定
(1)預(yù)防ARP欺騙攻擊。因?yàn)镈NS攻擊的欺騙行為要以ARP欺騙作為開端,所以如果能有效防范或避免ARP欺騙,也就使得DNS ID欺騙攻擊無從下手。例如可以通過將Gateway Router 的Ip Address和MAC Address靜態(tài)綁定在一起,就可以防范ARP攻擊欺騙。
(2)DNS信息綁定。DNS欺騙攻擊是利用變更或者偽裝成DNS Server的IP Address,因此也可以使用MAC Address和IP Address靜態(tài)綁定來防御DNS欺騙的發(fā)生。由于每個(gè)Network Card的MAC Address具有唯一性質(zhì),所以可以把DNS Server的MAC Address與其IP Address綁定,然后此綁定信息存儲(chǔ)在客戶機(jī)網(wǎng)卡的Eprom中。當(dāng)客戶機(jī)每次向DNS Server發(fā)出查詢申請(qǐng)后,就會(huì)檢測(cè)DNS Server響應(yīng)的應(yīng)答數(shù)據(jù)包中的MAC Address是否與Eprom存儲(chǔ)器中的MAC Address相同,要是不同,則很有可能該網(wǎng)絡(luò)中的DNS Server受到DNS欺騙攻擊。這種方法有一定的不足,因?yàn)槿绻钟蚓W(wǎng)內(nèi)部的客戶主機(jī)也保存了DNS Server的MAC Address,仍然可以利用MAC Address進(jìn)行偽裝欺騙攻擊。
使用Digital Password進(jìn)行辨別
在不同子網(wǎng)的文件數(shù)據(jù)傳輸中,為預(yù)防竊取或篡改信息事件的發(fā)生,可以使用任務(wù)數(shù)字簽名(TSIG)技術(shù)即在主從Domain Name Server中使用相同的Password和數(shù)學(xué)模型算法,在數(shù)據(jù)通信過程中進(jìn)行辨別和確認(rèn)。因?yàn)橛蠵assword進(jìn)行校驗(yàn)的機(jī)制,從而使主從Server的身份地位極難偽裝,加強(qiáng)了Domain Name信息傳遞的安全性。
安全性和可靠性更好的Domain Name Service是使用域名系統(tǒng) 的安全協(xié)議(Domain Name System Security, DNSSEC)),用Digital Signature的方式對(duì)搜索中的信息源進(jìn)行分辨,對(duì)DATA的完整性實(shí)施校驗(yàn),DNSSEC的規(guī)范可參考RFC2605。因?yàn)樵谠O(shè)立Domain時(shí)就會(huì)產(chǎn)生Password,同時(shí)要求上層的Domain Name也必須進(jìn)行相關(guān)的Domain Password Signature,顯然這種方法很復(fù)雜,所以InterNIC域名管理截至目前尚未使用。然而就技術(shù)層次上講,DNSSEC應(yīng)該是現(xiàn)今最完善的Domain Name設(shè)立和解析的辦法,對(duì)防范Domain Name欺騙攻擊等安全事件是非常有效的。
優(yōu)化DNS SERVER的相關(guān)項(xiàng)目設(shè)置
對(duì)于DNS Server的優(yōu)化可以使得DNS的安全性達(dá)到較高的標(biāo)準(zhǔn),常見的工作有以下幾種:①對(duì)不同的子網(wǎng)使用物理上分開的Domain Name Server,從而獲得DNS功能的冗余;②將外部和內(nèi)部Domain Name Server從物理上分離開并使用Forwarders轉(zhuǎn)發(fā)器。外部Domain Name Server可以進(jìn)行任何客戶機(jī)的申請(qǐng)查詢,但Forwarders則不能,F(xiàn)orwarders被設(shè)置成只能接待內(nèi)部客戶機(jī)的申請(qǐng)查詢;③采用技術(shù)措施限制DNS動(dòng)態(tài)更新;④將區(qū)域傳送(zone transfer)限制在授權(quán)設(shè)備上;⑤利用事務(wù)簽名對(duì)區(qū)域傳送和區(qū)域更新進(jìn)行數(shù)字簽名;⑥隱藏服務(wù)器上的Bind版本;⑦刪除運(yùn)行在DNS服務(wù)器上的不必要服務(wù),如FTP、telnet和Http;⑧在網(wǎng)絡(luò)外圍和DNS服務(wù)器上使用防火墻,將訪問限制在那些DNS功能需要的端口上。
直接使用IP地址訪問
對(duì)個(gè)別信息安全等級(jí)要求十分嚴(yán)格的WEB站點(diǎn)盡量不要使用DNS進(jìn)行解析。由于DNS欺騙攻擊中不少是針對(duì)竊取客戶的私密數(shù)據(jù)而來的,而多數(shù)用戶訪問的站點(diǎn)并不涉及這些隱私信息,因此當(dāng)訪問具有嚴(yán)格保密信息的站點(diǎn)時(shí),可以直接使用IP地址而無需通過DNS解析,這樣所有的DNS欺騙攻擊可能造成的危害就可以避免了。除此,應(yīng)該做好DNS Server的安全配置項(xiàng)目和升級(jí)DNS軟件,合理限定DNS Server進(jìn)行響應(yīng)的IP地址區(qū)間,關(guān)閉DNS Server的遞歸查詢項(xiàng)目等。
對(duì)DNS數(shù)據(jù)包進(jìn)行監(jiān)測(cè)
在DNS欺騙攻擊中,Client會(huì)接收到至少兩個(gè)DNS的數(shù)據(jù)響應(yīng)包,一個(gè)是真實(shí)的數(shù)據(jù)包,另一個(gè)是攻擊數(shù)據(jù)包。欺騙攻擊數(shù)據(jù)包為了搶在真實(shí)應(yīng)答包之前回復(fù)給Client,它的信息數(shù)據(jù)結(jié)構(gòu)與真實(shí)的數(shù)據(jù)包相比十分簡(jiǎn)單,只有應(yīng)答域,而不包括授權(quán)域和附加域。因此,可以通過監(jiān)測(cè)DNS響應(yīng)包,遵循相應(yīng)的原則和模型算法對(duì)這兩種響應(yīng)包進(jìn)行分辨,從而避免虛假數(shù)據(jù)包的攻擊。
看過文章“局域網(wǎng)dns欺騙攻擊”的人還看了:
1.如何簡(jiǎn)單設(shè)置一個(gè)局域網(wǎng)
4.局域網(wǎng)共享設(shè)置 詳細(xì)圖文設(shè)置教程