登錄

DNS欺騙

1.什么是DNS欺騙

  DNS欺騙是指攻擊者冒充域名服務(wù)器的一種欺騙行為。攻擊者通過(guò)入侵DNS服務(wù)器、控制路由器等方法把受害者要訪問(wèn)的目標(biāo)機(jī)器域名對(duì)應(yīng)的IP解析為攻擊者所控制的機(jī)器,這樣受害者原本要發(fā)送給目標(biāo)機(jī)器的數(shù)據(jù)就發(fā)到了攻擊者的機(jī)器上,這時(shí)攻擊者就可以監(jiān)聽(tīng)甚至修改數(shù)據(jù),從而收集到大量的信息。如果攻擊者只是想監(jiān)聽(tīng)雙方會(huì)話的數(shù)據(jù),他會(huì)轉(zhuǎn)發(fā)所有的數(shù)據(jù)到真正的目標(biāo)機(jī)器上,讓目標(biāo)機(jī)器進(jìn)行處理,再把處理結(jié)果發(fā)回到原來(lái)的受害者機(jī)器;如果攻擊者要進(jìn)行徹底的破壞,他會(huì)偽裝目標(biāo)機(jī)器返回?cái)?shù)據(jù),這樣受害者接收處理的就不再是原來(lái)期望的數(shù)據(jù),而是攻擊者所期望的了。例如讓DNS服務(wù)器解析銀行網(wǎng)站的IP為自己機(jī)器IP,同時(shí)在自己機(jī)器上偽造銀行登錄頁(yè)面,那么受害者的真實(shí)賬號(hào)和密碼就暴露給入侵者了。

2.DNS欺騙原理[1]

  盡管DNS互聯(lián)網(wǎng)中扮演著如此重要的角色,但是在設(shè)計(jì)DNS協(xié)議時(shí),設(shè)計(jì)者沒(méi)有考慮到一些安全問(wèn)題,導(dǎo)致了DNS的安全隱患與缺陷。

  DNS欺騙就是利用了DNS協(xié)議設(shè)計(jì)時(shí)的一個(gè)非常嚴(yán)重的安全缺陷。

  首先欺騙者向目標(biāo)機(jī)器發(fā)送構(gòu)造好的ARP應(yīng)答數(shù)據(jù)包,ARP欺騙成功后,嗅探到對(duì)方發(fā)出的DNS請(qǐng)求數(shù)據(jù)包,分析數(shù)據(jù)包取得ID和端口號(hào)后,向目標(biāo)發(fā)送自己構(gòu)造好的一個(gè)DNS返回包,對(duì)方收到DNS應(yīng)答包后,發(fā)現(xiàn)ID和端口號(hào)全部正確,即把返回?cái)?shù)據(jù)包中的域名和對(duì)應(yīng)的IP地址保存進(jìn)DNS緩存表中,而后來(lái)的當(dāng)真實(shí)的DNS應(yīng)答包返回時(shí)則被丟棄。

  假設(shè)嗅探到目標(biāo)靶機(jī)發(fā)出的DNS請(qǐng)求包有以下內(nèi)容:

  Source address?: 192.168.1.57

  Destination address?: ns.baidu.com

  Source port?: 1234

  Destination port?: 53 (DNS port)

  Data?: www.baidu.com

  我們偽造的DNS應(yīng)答包如下:

  Source address?: ns.baidu.com

  Destination address?: 192.168.1.57

  Source port?: 53 (DNS port)

  Destination port?: 1234

  Data?: www.baidu.com 192.168.1.59

  目標(biāo)靶機(jī)收到應(yīng)答包后把域名以及對(duì)應(yīng)IP保存在了DNS緩存表中,這樣www.baidu.com的地址就被指向到了192.168.1.59上。

3.DNS欺騙的主要形式

4.DNS欺騙的防范

  DNS欺騙攻擊是很難防御的,因?yàn)檫@種攻擊大多數(shù)本質(zhì)都是被動(dòng)的。通常情況下,除非發(fā)生欺騙攻擊,否則你不可能知道你的DNS已經(jīng)被欺騙,只是你打開(kāi)的網(wǎng)頁(yè)與你想要看到的網(wǎng)頁(yè)有所不同。在很多針對(duì)性的攻擊中,用戶都無(wú)法知道自己已經(jīng)將網(wǎng)上銀行帳號(hào)信息輸入到錯(cuò)誤的網(wǎng)址,直到接到銀行的電話告知其帳號(hào)已購(gòu)買(mǎi)某某高價(jià)商品時(shí)用戶才會(huì)知道。這就是說(shuō),在抵御這種類(lèi)型攻擊方面還是有跡可循。

  保護(hù)內(nèi)部設(shè)備:像這樣的攻擊大多數(shù)都是從網(wǎng)絡(luò)內(nèi)部執(zhí)行攻擊的,如果你的網(wǎng)絡(luò)設(shè)備很安全,那么那些感染的主機(jī)就很難向你的設(shè)備發(fā)動(dòng)欺騙攻擊。

  不要依賴(lài)DNS:在高度敏感和安全的系統(tǒng),你通常不會(huì)在這些系統(tǒng)上瀏覽網(wǎng)頁(yè),最后不要使用DNS。如果你有軟件依賴(lài)于主機(jī)名來(lái)運(yùn)行,那么可以在設(shè)備主機(jī)文件里手動(dòng)指定。

  使用入侵檢測(cè)系統(tǒng):只要正確部署和配置,使用入侵檢測(cè)系統(tǒng)就可以檢測(cè)出大部分形式的ARP緩存中毒攻擊和DNS欺騙攻擊。

  使用DNSSEC: DNSSEC是替代DNS的更好選擇,它使用的是數(shù)字前面DNS記錄來(lái)確保查詢(xún)響應(yīng)的有效性,DNSSEC還沒(méi)有廣泛運(yùn)用,但是已被公認(rèn)為是DNS的未來(lái)方向,也正是如此,美國(guó)國(guó)防部已經(jīng)要求所有MIL和GOV域名都必須開(kāi)始使用DNSSEC。

評(píng)論  |   0條評(píng)論