脆弱的DNS沒救!
內地互聯網根域現重大故障 大量網站無法打開
2014年1月21日,對中國網絡來說是不平靜的一天。繼上午騰訊16項服務出現故障后,下午眾多網站也出現無法訪問的現象。多家DNS服務商透露,全國所有通用頂級域的根出現異常,導致部分國內網民無法訪問.com域名網站。
下午15:10左右,部分地區網友稱百度、虎嗅、易迅、京東、優酷等眾多網站無法訪問。遼寧大連網通用戶表示打不開朋友網和部分視頻網站,稍微復雜網站也不行;廈門電信網友反映,百度,京東,知乎全都打不開。
據分析,網站無法訪問的原因是網站域名解析錯誤。DNSPOD創始人吳洪聲表示,此次情況嚴重,國內三分之二DNS處于癱瘓狀態,很多網站被解析到65.49.2.178這一IP地址,用戶無法訪問。
安全專家認為,大量中國知名IT公司的域名被解析到美國某公司,極可能是人為的黑客攻擊行為。
不過,此次故障未對國家頂級域名.CN造成影響,所有運行服務正常。一位DNS技術專家表示,這次的問題僅出現在中國,說明全球根服務器并未出現問題。
截至當天18點左右,國內訪問根服務器恢復正常。但據@DNSPod介紹,后續可能還會存在返回錯誤IP地址的問題,因為各地有緩存,所以部分地區可能會持續12小時。
DNS已經成為互聯網安全鏈條上最薄弱的環節
域名系統(Domain Name System,簡稱DNS)是整個互聯網服務的底層基礎之一。這一服務將人們訪問的互聯網域名轉換為IP地址,相當于網絡訪問的指路牌。
舉例來說,ifeng.com是一個域名地址,方便人們記憶與輸入。但其實每個域名都必須要與一個服務器的IP地址相對應,才能被網絡正確識別和訪問到,如210.51.19.61。
域名系統就負責將好記的域名地址轉換為真實的IP地址,這一轉換的過程,有一個術語叫做“域名解析”。
域名系統由DNS服務器來運行,DNS服務器是一個樹狀的分布式的大型網絡。其中最頂級的服務器叫做根服務器(Root Server),存儲了全球所有通用域名的信息。在根服務器之下,有大量的一層一層的次級服務器,面向用戶提供服務。
一般的用戶安裝好網絡之后,會使用寬帶運營商提供的本地DNS服務器。這是離用戶最近的DNS服務器,位于整個DNS網絡的最末端。
DNS服務器采用緩存機制,當用戶在本地DNS服務器找到域名解析結果的時候,就直接返回IP地址。如果找不到,則最近的服務器將依次向上查詢,查詢更上層的服務器,層層循環,一直查詢到最高等級的根服務器。同時,查詢到后,本地服務器就會緩存下來,其它用戶再次訪問該域名時,可以直接在本地服務器拿到結果,不用再次層層查詢。
這一域名網絡具有嚴格的等級制度,底層服務器嚴格遵循上層服務器的更新結果。這一層層向上查詢并緩存的機制,保證了整個域名系統的高效。但也為安全帶來了隱患:即一旦上層的DNS服務器受到攻擊時,所有底層的服務器都將受到牽連,從而導致大規模的網絡癱瘓。
以1月21日的這次DNS故障為例,位于中國的高級別的域名服務器出現故障,導致中國大部分的域名服務器解析出現錯誤,從而導致了接近2/3的中國互聯網癱瘓。
據金山毒霸網絡專家的數據,近年來中國大規模的網絡癱瘓事故有五起。包括2006年臺灣地震震斷海底光纜事故、2009年暴風DNS受攻擊導致大范圍斷網、2010年百度域名被劫持事件、2011年中國電信寬帶維修導致大規模網絡故障、以及昨日2014年DNS域名根服務器故障。
從近年來的五起網絡癱瘓大事故看來,除了不可抗力的地震和維修導致物理故障之外,其余的三起事故都是由DNS系統引起的。
事實上,作為互聯網最基礎的服務之一,隨著互聯網應用的不斷發展,互聯網安全鏈條上最薄弱的環節就是DNS域名系統了。
脆弱的DNS不會大修 將繼續脆弱
跟互聯網最底層的通信協議TCP/IP技術一樣,DNS系統是互聯網誕生的基石,歷史悠久。DNS最早于1983年由保羅·莫卡派喬斯(Paul Mockapetris)發明;原始的技術規范在882號因特網標準草案中發布。1987年發布的第1034和1035號草案修正了DNS技術規范。在此之后對因特網標準草案的修改基本上沒有涉及到DNS技術規范部分的改動。
也就是說,2014年已經突飛猛進的互聯網,跟1987年的互聯網使用的是一樣的DNS標準!
上述提到的域名系統中最高等級的根服務器,全世界一共只有13臺,這13臺中的10臺設置在美國,另外各有一臺設置于英國、瑞典和日本。所有根服務器均由美國政府授權的互聯網域名與號碼分配機構ICANN統一管理。
毫不夸張的說,只要黑掉這13臺服務器,就可以癱瘓整個地球的民用互聯網。 著名黑客組織匿名者(Anonymous)在2012年就曾對外宣稱,將攻擊13個DNS根服務器,已達到讓全球互聯網癱瘓的目的。
當然,根服務器采用了最高級別的安全保護,不是那么容易攻陷的。同時,這13臺服務器,不是普通意義上的“一臺”的概念,每臺服務器都有多組備份,以隨時保障運行正常。13臺根服務器其實是13組服務器集群。
這種頂級樹狀的域名架構體系,除了要應對來自黑客攻擊的影響之外,還會受到來自政治、戰爭等社會因素的影響。2004年4月,利比亞國家域名“ly”域名癱瘓,導致利比亞從互聯網上消失了3天,隨后據報道,原因是有兩人對頂級域名管理權問題發生分歧而導致。在阿富汗的塔利班政權統治時期,ICANN將.af結尾的域名管理權授予了前流亡政府,后來又于2003年轉交給由美國支持的阿富汗過渡政府。在2003年伊拉克戰爭期間,ICANN以伊拉克局勢動蕩為由,凍結了其國家代碼“.iq”的申請。
域名管理權分歧、戰爭和政治分歧、黑客攻擊,都會導致域名系統問題,從而引發大規模網絡故障。DNS系統的脆弱性會因為這些社會因素而繼續脆弱下去。
即使拋卻政治和社會因素不談,單獨從技術角度去考慮。薄弱的DNS環節能否在未來有所改觀?恐怕答案也是否定的。從1987年到現在,作為互聯網基石存在的DNS系統,從未大修過,說明其已經成為一個經典的技術路徑依賴問題:網絡越發達,修改DNS系統的代價就越大。
這一路徑依賴的另外一個案例是,美國航天飛機助推器燃料桶的寬度其實是由2000多年前的2匹馬的屁股所決定的。航空飛機想要更大的推力,需要更寬的燃料桶,然后想要改版,幾乎是不可能的。因為燃料桶的運輸需要借助鐵路,而鐵路的寬度最早是由英國人根據馬車的寬度決定的,而馬車的寬度最早是由2000多年前的羅馬人當時兩匹馬屁股的寬度決定的。
技術的路徑依賴就是這么一個看似可笑,但是真實存在并且影響著現代社會的現象,DNS和互聯網也不例外。
也就是說,因為技術的路徑依賴和特殊的社會歷史原因,對DNS系統的重新設計和大修幾乎是不可能的,支撐全球網絡的DNS系統不可能完全顛覆重來。
那么,在未來,人們不得不接受這么一個現實,脆弱的DNS依然脆弱,DNS網絡大規模故障依然會發生。人們所能做的,就是盡量將發生的頻率降低到可以接受的范圍;以及建立良好的機制,以便在故障發生時盡快恢復網絡,別無他法。
結語
技術路徑依賴,無法避免,但人們也不能悲觀。在技術不斷演進的今天,有歷史限制的人們終會找到聰明的方法,減緩歷史的影響。無論是探索宇宙,還是解決互聯網的DNS安全問題,帶著枷鎖跳舞,人類依然可以跳的很美。