◆尹川銘
(北方民族大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 寧夏 750021)
淺析域名劫持與HttpDNS
◆尹川銘
(北方民族大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 寧夏 750021)
互聯(lián)網(wǎng)安全問題日益嚴(yán)峻的今天,傳統(tǒng)的互聯(lián)網(wǎng)技術(shù)面臨著前所未有的挑戰(zhàn)。本文在詳細(xì)分析了傳統(tǒng)DNS解析原理的基礎(chǔ)上,探究了域名劫持的攻擊原理以及攻擊者常用的攻擊方法。對(duì)DNSSec進(jìn)行了簡明扼要的探討,然后對(duì)HttpDNS做了深入探究,并與傳統(tǒng)的DNS進(jìn)行了詳細(xì)對(duì)比。
域名劫持;DNS;DNSSec;HttpDNS
隨著社會(huì)信息化進(jìn)程的不斷推進(jìn),網(wǎng)絡(luò)普及率越來越高。人們?cè)谙硎芑ヂ?lián)網(wǎng)技術(shù)帶來便利的同時(shí),對(duì)其的依賴性也隨之增強(qiáng),加之用戶的安全意識(shí)缺乏,在網(wǎng)絡(luò)交易越來越頻繁的今天,互聯(lián)網(wǎng)安全問題尤為重要。DNS為整個(gè)互聯(lián)網(wǎng)提供地址解析服務(wù),扮演著極其重要的角色,其在設(shè)計(jì)初期缺少對(duì)安全性的考慮,使得針對(duì)DNS的攻擊層出不窮。DNS的安全問題已經(jīng)成為整個(gè)互聯(lián)網(wǎng)安全的重中之重。
DNS(Domain Name System,域名系統(tǒng))的存在,其目的是讓人們不再去記憶復(fù)雜難以理解的 IP地址,使用有含義的域名來訪問網(wǎng)站[1]。DNS作為全球最大的分布式系統(tǒng)之一,因其在設(shè)計(jì)之初缺乏安全方面的考慮,使其十分容易受到攻擊。DNS旨在響應(yīng)用戶的域名查詢請(qǐng)求,返回網(wǎng)絡(luò)可以識(shí)別IP地址。DNS的解析過程大致可分為三種方式:本地緩存解析、LocalDNS解析、迭代解析。
本地緩存解析。主機(jī)發(fā)起解析請(qǐng)求時(shí),會(huì)先查詢主機(jī)Localhosts文件是否有對(duì)應(yīng)的域名-IP映射。如果查詢失敗,則查詢主機(jī)DNS解析Cache。
LocalDNS解析。本地緩存解析失敗,則主機(jī)向ISP運(yùn)營商的LocalDNS服務(wù)器發(fā)起解析請(qǐng)求。LocalDNS服務(wù)器會(huì)先查詢本地解析配置池,如果查詢失敗,則查詢LocalDNS解析Cache。
迭代解析。迭代解析由 LocalDNS服務(wù)器發(fā)起,LocalDNS服務(wù)器根據(jù)配置不同可以把解析請(qǐng)求發(fā)給上級(jí)DNS服務(wù)器,或者向13臺(tái)根邏輯域名服務(wù)器(編號(hào)分別為“A”至“M”)發(fā)起查詢請(qǐng)求。根DNS服務(wù)器會(huì)返回一個(gè)授權(quán)管理該域的頂級(jí)域名服務(wù)器IP,LocalDNS服務(wù)器收到應(yīng)答后向該頂級(jí)域名DNS服務(wù)器發(fā)起查詢請(qǐng)求。該頂級(jí)域名DNS服務(wù)器如果無法解析會(huì)返回下一級(jí)DNS服務(wù)器IP,LocalDNS向下一級(jí)DNS服務(wù)器發(fā)起查詢請(qǐng)求,如此迭代下去,直到查詢結(jié)束[2]。
DNS使用UDP53端口進(jìn)行查詢與應(yīng)答,使用TCP53端口進(jìn)行數(shù)據(jù)同步。DNS查詢與應(yīng)答報(bào)文設(shè)計(jì)簡單且采用明文傳輸,僅使用16位標(biāo)識(shí)字段來區(qū)分對(duì)不同查詢的應(yīng)答。這就使得DNS應(yīng)答報(bào)文極易偽造。
通常所說的域名劫持指的是,將主機(jī)的域名解析請(qǐng)求解析到錯(cuò)誤的IP地址上,使用戶無法正常訪問目標(biāo)網(wǎng)站。而錯(cuò)誤的IP地址往往指向釣魚網(wǎng)站、掛馬網(wǎng)站等,給用戶的隱私與財(cái)產(chǎn)帶來威脅。
DNS劫持通常發(fā)生在一定的網(wǎng)絡(luò)域內(nèi),影響本域內(nèi)的網(wǎng)絡(luò)用戶,但是帶來的后果卻十分嚴(yán)重。如2010年1月12日百度境外.comDNS服務(wù)器被黑客攻陷,篡改了www.baidu.com的解析映射,造成包含北京、遼寧、江蘇、四川、安徽、廣東、武漢等多地部分地區(qū)百度首頁出現(xiàn)無法打開或非法跳轉(zhuǎn)的現(xiàn)象長達(dá) 11個(gè)小時(shí)。
攻擊者常用的攻擊方式可分為:攻擊DNS服務(wù)器,偽造DNS服務(wù)器,偽造DNS應(yīng)答報(bào)文。
攻擊DNS服務(wù)器。DNS服務(wù)器本身由于管理員配置或者管理不當(dāng)存在安全隱患、使用了弱口令、沒有及時(shí)更新漏洞補(bǔ)丁、防火墻存在安全隱患等。極易遭受黑客成功入侵,獲取最高權(quán)限,修改DNS配置域,在主機(jī)進(jìn)行LocalDNS解析時(shí)返回被篡改的IP地址,使用戶無法訪問目標(biāo)網(wǎng)站或者跳轉(zhuǎn)到非法網(wǎng)站。
偽造DNS服務(wù)器。攻擊者搭建非法DNS服務(wù)器,配置解析域,修改對(duì)特定目標(biāo)域名的IP映射。如將www.ccb.cn(中國建設(shè)銀行)的IP(202.106.80.106)映射成192.168.1.11(攻擊者搭建的釣魚網(wǎng)站),用戶在難以察覺的情況下,泄露了自己的銀行信息,給自己的財(cái)產(chǎn)安全帶來嚴(yán)重的安全隱患。
偽造DNS應(yīng)答報(bào)文。DNS解析所使用的UDP報(bào)文使用明文傳輸,這就為偽造應(yīng)答報(bào)文提供了可能性。攻擊者往往事先對(duì)攻擊域內(nèi)發(fā)起ARP欺騙攻擊,將用戶主機(jī)網(wǎng)關(guān)IP-MAC映射成攻擊者主機(jī)的MAC地址,對(duì)攻擊域內(nèi)DNS解析請(qǐng)求報(bào)文進(jìn)行監(jiān)聽。針對(duì)敏感域名的DNS解析請(qǐng)求,偽造DNS應(yīng)答報(bào)文。由于攻擊者主機(jī)跟用戶主機(jī)在同一網(wǎng)絡(luò)域內(nèi),攻擊者偽造的DNS應(yīng)答報(bào)文會(huì)先于LocalDNS服務(wù)器的應(yīng)答報(bào)文到達(dá)用戶主機(jī)。用戶主機(jī)對(duì)相同16位標(biāo)識(shí)字段的DNS應(yīng)答報(bào)文,優(yōu)先相應(yīng)先到達(dá)者。用戶主機(jī)完成域名解析之后,就會(huì)丟棄之后所有相同 16位標(biāo)識(shí)字段的DNS應(yīng)答報(bào)文,即使用戶主機(jī)收到了正確的DNS解析包也不會(huì)相應(yīng),最終用戶被跳轉(zhuǎn)到了非法IP所指向的網(wǎng)站[3]。
針對(duì)DNS存在的諸多安全隱患,新的DNS解析協(xié)議DNSSec被提了出來。DNSSec(Domain Name System Security Extensions)DNS安全擴(kuò)展,在現(xiàn)有DNS協(xié)議的基礎(chǔ)上通過增加幾條新的資源記錄來進(jìn)行安全擴(kuò)展[4]。但是DNSSec依然使用UDP進(jìn)行明文傳輸,只是相應(yīng)的增加了安全簽名機(jī)制。DNSSec需要對(duì)現(xiàn)有的DNS服務(wù)器更新升級(jí),工作量巨大,并且國內(nèi)的大部分DNS服務(wù)器不支持DNSSec的迭代查詢,這就導(dǎo)致了DNSSec沒有普及。
即保證與國內(nèi)現(xiàn)有的DNS解析服務(wù)器良好的兼容,又能很好的保證解析的安全性與質(zhì)量,HttpDNS解析協(xié)議應(yīng)運(yùn)而生。HttpDNS解析協(xié)議使用HTTP協(xié)議向DNS服務(wù)器的TCP80端口發(fā)送解析請(qǐng)求,替代現(xiàn)有的UDP53端口。這一小小的改動(dòng)能有效的避免域名劫持與跨網(wǎng)訪問問題。目前國內(nèi)支持 HttpDNS解析的公共DNS服務(wù)器有:阿里、騰訊、CloudXNS等。HttpDNS相比傳統(tǒng)的DNS解析服務(wù),有以下優(yōu)點(diǎn):
(1)解析請(qǐng)求不再經(jīng)過 LocalDNS服務(wù)器,用戶主機(jī)直接使用HTTP協(xié)議向公共DNS服務(wù)器直接發(fā)起查詢請(qǐng)求,即使鏈路存在域名劫持攻擊,攻擊者也無法偽造解析結(jié)果。可以有效避免因鏈路監(jiān)聽與LocalDNS安全隱患所引起的域名劫持問題。
(2)普通的DNS解析機(jī)制,可能因ISP的DNS服務(wù)器設(shè)置問題,導(dǎo)致對(duì)在多個(gè)ISP部署節(jié)點(diǎn)的域名查詢時(shí),最終的查詢結(jié)果指向其他 ISP內(nèi)的主機(jī),這就導(dǎo)致用戶跨網(wǎng)訪問問題。HttpDNS解析服務(wù)可以直接獲取用戶IP地址,根據(jù)用戶IP所在的ISP提供最優(yōu)解析,也就有效的避免了跨網(wǎng)訪問問題。
(3)ISP利用其自身LocalDNS之便,常常向用戶投放廣告彈窗,并對(duì)特定的域名進(jìn)行屏蔽。HttpDNS繞過ISP的LocalDNS服務(wù)器,可有效地避免廣告彈窗,并且絕大部分解析一次請(qǐng)求即可完成解析。
(4)實(shí)現(xiàn)成本低廉,用戶只需要稍作修改既可以完成對(duì)現(xiàn)有APP的DNS部署。
(5)目前國內(nèi)HttpDNS服務(wù)商大部分實(shí)現(xiàn)了BGP Anycast,在多個(gè)ISP布置節(jié)點(diǎn),能有效將用戶流量路由到最佳節(jié)點(diǎn)。不僅保證了解析低時(shí)延,更能實(shí)現(xiàn)機(jī)房容災(zāi),有效的抵御DDos攻擊,保證用戶解析質(zhì)量。
傳統(tǒng)的互聯(lián)網(wǎng)技術(shù),在面對(duì)當(dāng)今攻擊者多樣化的攻擊方法下已經(jīng)捉襟見肘。不斷更新與完善現(xiàn)有互聯(lián)網(wǎng)技術(shù),加強(qiáng)互聯(lián)網(wǎng)安全建設(shè),普及互聯(lián)網(wǎng)安全知識(shí),優(yōu)化互聯(lián)網(wǎng)生態(tài)環(huán)境,是行之有效的解決方法。
[1]李杰. DNS欺騙和緩存中毒攻擊的檢測[D].電子科技大學(xué),2015.
[2]陸柯羽. DNS遞歸服務(wù)器推薦系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱工業(yè)大學(xué),2015.
[3]陳琳. DNS攻擊檢測與防御技術(shù)研究[D].北京郵電大學(xué),2011.
[4]彭陽.基于 DNSSEC的增強(qiáng)型信任體系結(jié)構(gòu)研究[A].中國計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)安全專業(yè)委員會(huì).第27次全國計(jì)算機(jī)安全學(xué)術(shù)交流會(huì)論文集[C].中國計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)安全專業(yè)委員會(huì),2012.
網(wǎng)絡(luò)安全技術(shù)與應(yīng)用2017年4期