文/本刊記者 王左利

1 9 8 3年,保羅·莫卡派喬斯 (P a u l M o c k a p e t r is)在南加州大學信息科學學院提出了關于D N S體系結(jié)構(gòu)的R F C s 8 8 2和8 8 3,本質(zhì)上就是我們今天所使用的D N S。

早期,S t e v e B e llo v in發(fā)現(xiàn)D N S欺騙攻擊。

2 0 0 8年,D a n K a m in s k y發(fā)現(xiàn)一種高效的緩存污染(D N S C a c h e P o is o n in g)攻擊。
3 0年前,保羅·莫卡派喬斯 (P a u l M o c k a p e t r i s)在南加州大學信息科學學院提出D N S架構(gòu)。從那以后,D N S成為互聯(lián)網(wǎng)重要的基礎設施之一。正如許多事物一樣,在它誕生的第一天里,人們就意識到了它的好處,但其潛在缺點卻在日后慢慢顯現(xiàn)。
任何成功的系統(tǒng),當它變大的時候需求就會變化,系統(tǒng)也要相應變化,所以如果想取得成功要遵照這個循環(huán),也就是成功、規(guī)模擴大、發(fā)現(xiàn)問題、解決問題。然后才能邁上新臺階。D N S同樣適用于此原則。

3月份,一場DDoS攻擊引發(fā)。這次攻擊吸引了安全界人士的目光,其原因在于攻擊峰值前所未有。高達300Gbps的攻擊峰值讓即使是專門提供云安全網(wǎng)絡服務的專業(yè)廠商也幾臨崩潰。這又一次讓人們重新審視DNS的安全。
30年前,保羅·莫卡派喬斯 (Paul Mockapetris)在南加州大學信息科學學院提出了關于DNS體系結(jié)構(gòu)的RFCs882和883,本質(zhì)上就是我們今天所使用的DNS。從那以后,DNS成為互聯(lián)網(wǎng)重要的基礎設施之一。正如許多事物一樣,在它誕生的第一天里,人們就意識到了它的好處,但其潛在缺點卻在日后慢慢顯現(xiàn)。
與很多其他互聯(lián)網(wǎng)協(xié)議一樣,DNS的初始設計場景為可信環(huán)境,并沒有過多考慮安全問題。互聯(lián)網(wǎng)在發(fā)展過程中出現(xiàn)多種針對DNS的攻擊。早期Steve Bellovin所發(fā)現(xiàn)的DNS欺騙攻擊,以及2008年Dan Kaminsky發(fā)現(xiàn)的一種高效的緩存污染(DNS Cache Poisoning)攻擊都曾震動整個網(wǎng)絡安全學術界和工程界。
保證DNS的健壯運行主要體現(xiàn)在兩個方面:一是性能,即保證域名解析過程的速度;二是安全,即保證域名和IP地址對應關系的正確性。性能是DNS設計之初著重考慮的因素。其整體架構(gòu)的高度可擴展性和簡潔的查詢協(xié)議使得DNS從1983年以來的30年中,面對持續(xù)指數(shù)級增長的網(wǎng)絡用戶和應用,在初始設計幾乎沒有任何變化的情況下仍然能夠高效穩(wěn)定運行,但是安全性卻始終是DNS的軟肋。
在國內(nèi),互聯(lián)網(wǎng)也多次吃過DNS安全的虧。4年前的5月,由暴風影音引起的域名查詢泛濫使得DNSPod當機,造成多個省份互聯(lián)網(wǎng)中斷。2010年1月, 百度域名被劫持,DNS解析被篡改,網(wǎng)民訪問百度的結(jié)果是看到一個被黑客黑掉的頁面。
“作為互聯(lián)網(wǎng)基礎設施,一旦DNS出現(xiàn)問題,整個互聯(lián)網(wǎng)就會混亂甚至癱瘓。”相關人士表示,DNS目前為止面臨的安全挑戰(zhàn)主要有幾個方面。第一,域名欺騙。包括緩存感染、域名劫持、DNS重定向等常見的幾種方式。第二,DDoS攻擊。數(shù)據(jù)顯示,自2010年以來,數(shù)10Gbps的DDoS攻擊已是常事,而本文一開始提到的針對云安全廠商的攻擊則刷新了DDoS攻擊記錄。未來會不會有比這更強的網(wǎng)絡攻擊?這種流量的DDoS攻擊會不會演變?yōu)槲磥淼某B(tài)?極有可能。因為在安全領域一直是:“道高一尺,魔高一丈。”
互聯(lián)網(wǎng)的歷史告訴我們,許多系統(tǒng)在一開始就可以成功,如果它擁有成功的設計。然而,隨著用戶規(guī)模的成長,系統(tǒng)將面臨“成長的煩惱”。這時,它就要做出改變。
DNSSEC(Domain Name System Security Extensions ,DNS安全擴展)就是為了解決DNS信息安全的問題,它采用非對稱密鑰的簽名認證機制來認證消息的來源。從理論上來說,DNSSEC可以解決DNS信息安全問題,因為現(xiàn)有的運算能力無法在私鑰更換之前破解私鑰。DNSSEC給解析服務器提供了防止受騙的武器,即一種可以驗證應答信息真實性和完整性的機制。“DNS是一個巨大無比的網(wǎng)絡地圖,導引沖浪者的航線,而DNSSEC則相當于燈塔,保證航行的安全。”相關人士表示。

圖1 中國境內(nèi)鏡像根發(fā)展歷程
DNSSEC有其優(yōu)點也有缺點,在推出的若干年中,存在不少爭議。從1997年第一個有關DNSSEC的標準RFC2065發(fā)布,中間經(jīng)過幾次修訂使其更加可用。直到現(xiàn)在DNSSEC的標準仍在發(fā)展過程中。迫于DNS安全問題的日趨嚴重化,負責管理互聯(lián)網(wǎng)的非贏利組織ICANN設置了一個推動時間表。2010年5月5日,互聯(lián)網(wǎng)史上又一個重要的日子,全球13臺DNS根服務器升級到支持 DNSSEC的版本。
目前,各個國家基本上都意識到DNSSEC對于互聯(lián)網(wǎng)體系的重要性,也在一層一層往下部署。ICANN正在全面部署DNSSEC,它為用戶DNS查詢的每一步增加一個數(shù)字簽名驗證,以防止第三方偽造DNS數(shù)據(jù)。
相關專家表示,作為一種“打補丁”的方式,DNSSEC不可能盡善盡美,但這是解決互聯(lián)網(wǎng)域名欺騙目前來看最有效的方式。如果DNS能夠普遍部署,將對互聯(lián)網(wǎng)的安全體系產(chǎn)生重大的影響,因為有了DNSSEC的數(shù)字簽名,把DNS作為密鑰分發(fā)的PKI在很多應用場合已經(jīng)具有了可行性。它不僅可以加強DNS本身的安全,還給其他的應用,特別是端到端的移動通信、IPv6網(wǎng)絡環(huán)境的安全問題提供新的解決方案。
ICANN 或許是受了《指環(huán)王》的啟發(fā),它制定了一項計劃——當DNSSEC崩潰,分布在全世界的7個人將拿著密鑰,來到美國的一個秘密數(shù)據(jù)中心合作解開DNSSEC的根密鑰,重建DNSSEC。7個人只需5位就能破解根密鑰——這種加密方法被稱為 Shamir's Secret Sharing——密鑰被分成幾部分,每一部分都獨一無二,其中幾部分或全部聯(lián)合起來就能解密密鑰。
不過,DNSSEC的部署挑戰(zhàn)很多。首先是部署難度大。 DNSSEC的公鑰發(fā)布要求有一個信任鏈。根被認為可信并簽名,然后頂級域要把自身的公鑰的hash值,也就是DS記錄放到根。以此類推二級域要把DS記錄放到頂級域。以COM.CN舉例說明,首先根簽名,然后CN區(qū)的運行者要把DS記錄放到根,之后COM.CN要把DS記錄放到CN區(qū)中。這樣遞歸查詢服務器逐級認證公鑰的可信性,直到COM.CN區(qū)的公鑰是可信的,然后遞歸查詢服務器用這個公鑰來驗證COM.CN區(qū)的權(quán)威服務器的應答。可以看到,如果CN不簽名即使COM.CN想簽名也是徒勞的,因此在短時間內(nèi)要想達到所有區(qū)都簽名不現(xiàn)實。

互聯(lián)網(wǎng)名稱與數(shù)字地址分配機構(gòu)(ICANN)第46屆會議。
其次,容量膨脹導致成本增加。由于采用簽名認證機制,每個記錄都要有一個簽名記錄RRSIG記錄,根據(jù)統(tǒng)計計算區(qū)數(shù)據(jù)要膨脹10倍(這個值和密鑰長度相關),相應的通信量也要膨脹10倍。這樣現(xiàn)有的服務器和網(wǎng)絡都要升級。顯然這樣做成本很高。
第三,管理難度大。由于要定期簽名,增加系統(tǒng)的復雜性,相應的管理成本增加了很多。需要購置新的管理軟件。
總之,DNSSEC部署和實施是一個復雜,全球性的系統(tǒng)工程。DNSSEC的實施,非技術方面的問題大于技術方面,特別是對現(xiàn)有DNS體系的向下兼容性方面,是DNSSEC實施成敗的關鍵。
當然,DNSSEC顯然在解決一些問題的時候還帶來了另外一些問題。如,DNSSEC一個爭議和擔憂就是過強的流量放大效應,此效應將造成更大規(guī)模的DDoS攻擊。不過這似乎也并非無藥可醫(yī),相關人士表示,
在互聯(lián)網(wǎng)發(fā)展的過程中,人們需要認識的是,互聯(lián)網(wǎng)問題的解決中,不可能十全十美,任何解決方案都是一種“成功的妥協(xié)”。正如美國加州大學洛杉磯分校張麗霞教授所言:“互聯(lián)網(wǎng)本身是一個生長的系統(tǒng),它會不斷地發(fā)展,不斷地面臨新的挑戰(zhàn)。一個好的設計在于很好地做出妥協(xié)。”
DNS將在未來更加重要,首先,IPv4 地址耗盡使IPv6日漸成為主流,IPv6的地址段數(shù)遠遠大于IPv4的,人們幾乎不太可能通過記憶地址數(shù)段來打開網(wǎng)頁。在這種情況下,DNS的作用更加重要。但是這一切的基礎是安全。
相關人士指出,目前許多DNS創(chuàng)新應用得以蓬勃發(fā)展。DNS新技術的發(fā)展孵化出眾多的創(chuàng)新應用,使DNS展現(xiàn)出前所未有的生命力,在這些應用發(fā)展的同時,也同樣督促著DNS協(xié)議本身的不斷進步,使得DNS協(xié)議常用常青。
CNNIC 2012年《中國域名服務安全狀況與態(tài)勢分析報告》顯示,當前全球域名服務在安全方面應重點關注以下幾個方面的工作,以全面應對DNS的不斷演進,特別是DNSSEC部署步伐的加快和IPv6普及程度的深入。
首先,服務器的操作系統(tǒng)和DNS軟件應進行及時升級,保證對最新漏洞的及時修補。對采用BIND的DNS服務器,應關閉軟件的版本應答功能,提供一定程度的安全保證。
其次,測試表明,實施DNSSEC后(以RSA/SHA1算法、密鑰長度ZSK為1024、KSK為2048為例),權(quán)威區(qū)文件增大4倍,網(wǎng)絡帶寬增大為4.5倍,CPU 使用率增大7%,內(nèi)存容量增大205%;遞歸服務器DNS應答包增大5倍,網(wǎng)絡帶寬增大5倍,CPU使用率增大20%,內(nèi)存占用率增大66.7%。因此,隨著新通用頂級域申請的開放,應加快對DNSSEC技術的培訓和實際部署測試,以及時發(fā)現(xiàn)DNSSEC大規(guī)模部署之后密鑰更新和數(shù)據(jù)加密操作中存在的故障。

圖2 頂級域名分類
第三,IPv6成為下一代互聯(lián)網(wǎng)的基本特征,DNS系統(tǒng)對于IPv6資源記錄和過渡環(huán)境的全面支持需要進一步完善。
第四,對于大數(shù)據(jù)包的支持不僅能使DNS平滑支持DNSSEC和IPv6,也為DNS以后的演進奠定基礎,這不僅需要協(xié)議層面的功能支撐,而且需要整個網(wǎng)絡環(huán)境對于大數(shù)據(jù)包的傳輸支持。
第五,DNS已經(jīng)成為互聯(lián)網(wǎng)惡意攻擊的主要對象之一,因此,在服務架構(gòu)方面增強DNS抗高強度DoS攻擊能力不僅是提高DNS 權(quán)威服務體系生存性的有效方法,還能夠為物聯(lián)網(wǎng)、CDN等需要大規(guī)模、高性能DNS解析支撐的新型應用環(huán)境提供基本支持。
互聯(lián)網(wǎng)的發(fā)展告訴我們,設計的成功推動了技術的革新,而技術的進步也推動了設計的成功,有一條忠告是,任何成功的系統(tǒng),當它變大的時候需求就會變化,系統(tǒng)也要相應變化,所以如果想取得成功要遵照這個循環(huán),也就是成功、規(guī)模擴大、發(fā)現(xiàn)問題、解決問題。然后才能邁上新臺階。
在3月份歐洲反垃圾郵件組織Spamhaus宣稱遭受300G流量以上 DDoS攻擊后不久,4月在高校也發(fā)生了一起針對DNS服務器的同種攻擊事件。DNS安全對校園網(wǎng)來說同樣值得警鐘長鳴。
相關人士表示,目前校園網(wǎng)內(nèi)的DNS安全攻擊主要有:DDoS攻擊、緩存中毒等。

最近幾年,DNS被用作DDoS攻擊的事件屢見不鮮。上海交通大學鄒福泰分析認為,其原因有:1. DNS包不受防火墻限制并且具有連續(xù)高速發(fā)包的優(yōu)勢。2.廣泛存在的開放遞歸服務器,成為天然的好資源。Open DNS Resolver Project已統(tǒng)計了近3000萬的開放遞歸服務器,并在持續(xù)增加中。3.EDNS0的支持越來越普遍,使得DNS攻擊具有放大效應。如一個70字節(jié)左右的請求包可達到數(shù)K字節(jié)的攻擊包。“可以預見,如果我們不加防范,這種利用DNS的放大攻擊事件將會越來越嚴重。”
鄒福泰表示,針對攻擊放大的原理,可以限制EDNS0。但這有一定的負面影響,因為IPv6以及DNSSEC需要EDNS0,否則對于任何大于512解析響應包都轉(zhuǎn)為TCP傳輸會對DNS服務器帶來較大的影響。因此,比較好的安全實踐是限定可請求解析的IP地址,不在限定IP范圍內(nèi)的請求都拒絕。在目前主流的DNS服務器做這種安全配置都是很容易的。
在DDoS攻擊中,有一些通過路由器來進行。鄭州大學張子蛟介紹說,目前一般高校都是一個宿舍分配一個IP地址,宿舍里幾個學生通過路由器上網(wǎng)。但共用路由器會帶來新的安全問題。有的路由器用戶名和密碼都是admin,而且不會提示修改用戶名及密碼。這樣很容易讓攻擊趁虛而入。一般情況下,學校DNS服務器一秒鐘的用戶請求數(shù)為數(shù)千次,但在有僵尸網(wǎng)絡的情況下,一秒鐘會有數(shù)萬次的用戶請求。而且,成為僵尸的機器會不斷影響網(wǎng)內(nèi)的其他機器,使僵尸機器大范圍擴散。
針對此,鄭州大學的解決方式是,只讓校內(nèi)用戶使用學校所提供的DNS服務器,將DDoS攻擊降低到一個較小的范圍。
在目前DNS安全現(xiàn)狀下,必須實施可行的安全策略。張子蛟表示,可通過設置DNS網(wǎng)關的辦法解決此問題,其最大特點是,DNS協(xié)議做不到的事,DNS體系難以做到的事,可以由DNS網(wǎng)關實現(xiàn)。在個性化需求和DNS規(guī)范之間進行妥協(xié)。只要保證DNS網(wǎng)關與其他DNS服務器和客戶端的接口符合DNS協(xié)議和標準即可。
另外,值得關注的一點變化是,DNS服務器成為越來越重要的安全防護關卡。尤其是目前各大網(wǎng)站為了達到一個良好的負載均衡效果,幾乎都是通過DNS別名實現(xiàn)域名的分布式服務,不支持對IP地址的直接訪問,這意味著未來DNS的安全將更加重要。校園網(wǎng)作為一張連接了千萬人的大網(wǎng),連接了校園與校外,其涵蓋的不安全因素也多種多樣。這些安全隱患可為攻擊者利用,因此,對DNS服務器管理人員來說,應當加強DNS安全配置,以減小安全風險,提升校園網(wǎng)DNS的安全感。