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