【摘 要】對“斷網”討論的一個重點被聚焦在域名根服務器,一些“科普”的方式,某些“腦補”的形式,眾口一詞地認為“不用擔心”。其信誓旦旦的理由是:“我國已擁有域名根鏡像服務器”。事實上,這是一個悖逆科學真相的嚴重認知誤區。換句話說,應對“斷網”的風險和隱患,鏡像的域名根服務器不僅無濟于事,而且于事無補。
本文可供網絡信息領域的專業技術人員、從業人員和監管、監察、審計、執法人員作為科學論證的依據與參考。
一、概 述
習近平總書記在2020年9月的科學家座談會上指出:我國面臨的很多“卡脖子”技術問題,根子是基礎理論研究跟不上,源頭和底層的東西沒有搞清楚。
域名空間是一個生態系統(ecosystem),其服務體系如圖1所示,其中“遞歸域名解析服務器”是域名空間的入口:
雖然域名根服務器在域名解析服務中是一個重要的環節,但在域名空間中僅當各個環節相互依存,方能構成一個能夠可靠運行的生態系統。反之,任何一個環節出現安全問題,都可能導致域名解析服務中斷(“斷服”),或是網絡癱瘓(“斷網”)。
據美國國防部術語詞典的定義,“供應鏈”(Supply Chain)是:從原材料到向最終用戶提供成品和服務相關聯的(人的)活動。域名空間的生態系統可以被簡化為一個“供應鏈”(圖2)。
從圖1 和圖2 可見,域名空間是一個復雜的生態系統。而應對“斷網”的風險和隱患的本質是:供應鏈的安全和保障問題。因此,有必要澄清域名空間供應鏈中的五個重要的關聯事實:
事實1:鏡像的域名根服務器不能替代13個域名根系統;
事實2:鏡像的域名根服務器采集的數據絕大多數是“垃圾”;
事實3:鏡像的域名根服務器采集的是不完整和不確定數據;
事實4:鏡像的域名根服務器沒有指揮和控制的能力;
事實5:鏡像的域名根服務器受制于服務系統軟件。
結論:域名空間的應用和服務是網絡通信的本源及指揮和控制的中樞,一旦發生“斷服”,即是“斷網”。應對“斷服”的風險和隱患,鏡像的域名根服務器不僅無濟于事,而且于事無補。
二、事實1:基于域名空間生態系統的基本配置,鏡像的域名根服務器不能替代13個域名根系統。
1)根提示文件(Root Hints File):
當前,最終用戶設備通常將所有DNS查詢發送到遞歸解析服務器,該解析服務器在加入網絡時通過DHCP配置。或者,用戶可以將其設備配置為利用公共遞歸域名解析服務器(例如Google的8.8.8.8服務器)。遞歸域名解析服務器查詢授權的域名服務器,使用所謂的“根提示文件”引導查找授權域名服務器的過程。根提示文件包含所有13個命名的授權域名根服務器的列表,它們表示為a-root到m-root。對于每個命名的根,文件都包括域名服務器(NS記錄),以及域名服務器的IPv4地址(A記錄)和IPv6 地址(AAAA 記錄)。因此,根提示文件共有39個條目,大約3KB(3000字節)。例如,A 根:
有了這些信息,遞歸解析服務器可以從根開始查詢過程,并按照DNS響應中的指示進行。例如,來自根名稱服務器的響應將指示遞歸解析服務器聯系指定的頂級域名(TLD)服務器。根提示文件中的每個記錄的緩存時間(TTL)為360萬秒(約42天)。該文件在很大程度上是靜態的,但在某些情況下確實會發生變化,并且遞歸解析程序應在根提示文件緩存時間到期后獲得一個新副本。分析表明,大量的遞歸域名解析服務器不會及時地更新其根提示文件。
2)根區文件(Root Zone File):
每個域名根服務器均根據根區文件的副本響應查詢。該副本由因特網域名與數字地址分配機構(ICANN)官方提供,由Verisign公司分發。域名根服務器不會直接響應查詢請求,而是會將域名查詢的請求引導向頂級域名服務器,以獲取查詢域名中頂級域名的主機。例如,對“www.ccb.com”的查詢請求,域名根服務器將請求引導向“.com”的授權頂級域名服務器,繼而將請求引導向“ccb.com”的權威域名服務器。
自2009年4月28日以來,研究人員每天在根區文件中存檔一個記錄。圖3顯示了每月15號在根區中的記錄數。該圖顯示,經過一段時間的穩定之后,根區文件中的記錄數量在2014年初至2017年初之間增長了五倍。這是由于頂級域名(TLD)數量增加所致,而2013年6月15日為317個TLD在2017年6月15日達到1,534個TLD。經過這段時期的增長,規模已穩定到大約22,000個。當前的根區文件大約為2.1MB(兆字節)。目前, 根區文件中的NS,A和AAAA記錄的TTL為兩天(172,800秒)。因此,遞歸解析服務器可以緩存來自域名根服務器的響應,并在兩天之內繼續使用,以響應來自終端用戶設備的域名查詢請求,而無須訪問頂級域名服務器,故不存在所謂的域名解析服務的“加速”(speed up)。
根區文件是公開的,可以下載(約2.1兆字節)。其中的頂級域名(TLD)包括:國家/地區頂級域名(ccTLD),通用頂級域名(gTLD),新通用頂級域名(ngTLD),會經常發生變化,或更改域名服務器集(域名或IP地址)。相應的問題是:如何確定根區文件是更新的?
此外,DNSSEC規范的主要作用是,當對根區文件中的所有記錄進行驗證時,需要一個根區DNSSEC密鑰的副本,密鑰隨著時間而改變。故另一個問題是:如何確保根區文件內容的真實性?
因此,獲取根區文件并不難,而重要的是:根區文件內容的合規性和可用性受到驗證和約束,不允許“為所欲為”。
3)域名根服務器的范圍:
雖然只有13個命名的授權域名根服務器系統, 但是每個命名的域名根服務器系統都通過任播(Anycast)路由設置,由多個“副本”(設置的站點和節點)組成。
在2019年5月15日,統計了985個域名根服務器節點。圖4顯示了自2015年3月以來每個月15日的節點數量。由e-根和f-根引起的節點數量有幾次大跳躍:
(a)在2016年1月至2月之間,e-根增加了45個節點,
(b)在2017年4月至5月之間f-根添加了81 個節點,
(c)在2017年11月至12月之間,e-根添加了85個節點,f-根添加了43個節點。
除了這些大的跳躍之外,該圖還表明:伴隨域名根服務器節點的數量增加,成本也隨著時間的推移穩步增長。
域名根系統的“副本”由“站點”(Site)和“節點”(Instance)組成,在同一個“站點”中可以有多個“節點”。例如:a-域名根系統有16個“站點”及53個“節點”。截至2020年12月21日,13個域名根系統在全球共有1143個“站點”,1367個“節點”。
請注意,由十二個不同的機構或企業運營的13個域名根服務器,每個機構或企業都有各自設置站點(和節點)的策略和意圖。同時,在全球各地設置的“站點”和“節點”,需要滿足“前提條件”,以及受到簽署和承諾的相關協議條款的約束,而并不是所屬地的“自治系統”(即不是域名根系統的所屬權被轉移或讓渡)。
因此,在中國大陸不斷增加域名根系統的“站點”(和“節點”),在應用上有助于提高因特網域名根系統的穩定性和可用性,也以增加自身的成本為因特網作出了貢獻,但是作為“副本”沒有替代域名根的可能性。
三、事實2:基于對域名根服務器數據流量的研究和分析,域名根服務器鏡像的數據絕大多數是“垃圾”。
相關的研究和分析表明,在到達域名根服務器的查詢請求中有95%以上是虛假的。例如,在2008年,專家們研究了八個域名根服務器的服務數據,分析結論是:只有1.8%的域名查詢請求是有效的。國際計算機科學研究院(ICSI,位于美國加利福尼亞州伯克利,是一個獨立的非營利性研究機構),在2019年10月對該結論進行了驗證。為此,利用了由j-根提供的數據集:分布在世界各地的142個j-根的節點,2018年4月11日的24小時流量。雖然這個分析僅是13個根服務器系統之一的數據,但之前大量研究和分析表明,到達域名根系統的數據流量類型在各個域名根系統之間是相當一致(均勻)的。
● j-根在24小時內接收了約57億個域名查詢請求,即平均每秒約有6.6萬個域名查詢請求。
● 域名查詢請求來自410萬個遞歸解析服務器(不同的IP地址)。但是有72.3萬個遞歸解析服務器僅查詢虛假的頂級域名,這意味著最多只有340萬遞歸解析服務器進行有用的工作。
● 與之前的研究結論相同,分析發現大部分請求都是“垃圾”,有35億條是虛假頂級域名查詢,占比61.0%。此外,假設遞歸解析服務器具有理想的緩存(故,遞歸解析服務器對同一頂級域名的查詢請求在24小時的數據集中僅應出現一次),所以另外的22億條查詢請求(占比38.4%)是無效的。這種情況下,虛假的查詢(61.0%)和無效的請求(38.4%),表明有效的域名查詢請求僅有0.5%。
● 如果放寬對理想緩存的假設,而是允許遞歸解析服務器每15分鐘可以重復對相同頂級域名的有效查詢請求,則無效請求的數量為20億條(35.7%)。在這種情況下,對虛假的查詢(61.0%)和無效的請求(35.7%),表明有效的域名查詢請求僅有3.3%。或,在57億條域名查詢請求中,僅有1.87億條域名查詢請求是有效的。這意味著,j-根的每個節點平均每秒處理大約15個有效域名查詢請求。
這證明了,之前多源研究的結論仍然成立:到達域名根服務器(包括所設置的站點和節點)的絕大多數數據流量都是垃圾(junk)。
四、事實3:基于域名解析的不可逆過程,鏡像的域名根服務器采集的是不完整和不確定數據。
如事實1所述,遞歸域名解析服務器配置了根提示文件(Root Hints File),并根據具體(或不同的)算法,在13個根域名系統(及其站點和節點)之間輪詢。
這就是說,域名根服務器所接收的域名查詢請求,來自于遞歸域名解析服務器(圖1),也是域名空間的入口。
根據對全球因特網公共(遞歸)域名服務器的監測統計,截至2020年12月21日(4:03),中國大陸擁有公共遞歸域名解析服務器(僅僅監測和統計53端口/UDP)的數量為768,103臺,占全球總數的40.35%。而且,這個數量是在動態變化的,例如:10月22日的數量為1,106,552臺,占全球總數的46.18%。
因此,不得不必須面對一個嚴峻的事實:中國域名空間的入口是完全敞開的,處于良莠不齊的混沌狀況和監管缺失的狀態。
是誰以及為誰提供如此(異常)大規模及動態變化的公共遞歸域名解析服務?
換句話說,鏡像的域名根服務器的響應和服務是被動的(依賴于遞歸域名解析服務),在開放的域名空間入口,有多少有效的域名查詢請求會指向鏡像的域名根服務器,完全未知;因而其采集(和存儲)的是不完整和不確定數據,故其作為應急備份也是盲目的!那么,為“公共”服務的動機和意圖又是什么?
五、事實4:基于域名解析的層次化結構,鏡像的域名根服務器沒有指揮和控制的能力。
域名根服務器的應用功能是,按“根區文件”(Root Zone File)把接收到的域名查詢請求,推送(referral)到頂級域名服務器(圖1)。
根據中國信息通信研究院的報告(信通院2020-6),截至2019年12月,我國域名注冊市場規模為5,108.8萬個,其中,國家頂級域“.CN”域名2,300萬個;“.COM”域名1,566萬個;合計占我國域名市場的75.7%。活躍域名數量分布:
從圖5可見,我國活躍域名的解析超過91%依賴于境外服務。其中,運營頂級域名“.COM,.NET,.CC,.TV,.NAME”的Verisign公司,也是管理域名根A和J 的運營商,并且是作為美國國家電信和信息管理局(NTIA)管理域名空間的合約代理商。
這就是說,在應急響應時,鏡像的域名根服務器不得不把絕大多數接收到的有效域名查詢請求,“推送”到境外的頂級域名服務器(如.COM)。顯然,假設境外的域名根服務器對中國“斷服”了,而頂級域名服務器卻仍然提供對中國的“服務”,怎么可能?近乎荒謬。
所以,鏡像的域名根服務器沒有實用性和實戰性!
六、事實5:基于經驗和教訓以及現狀,鏡像的域名根服務器受制于服務系統軟件。
據了解,中國大陸的域名系統(DNS)服務軟件以采用開源和免費的模式為主,包括以“自研代碼”包圍“開源代碼”的“馬甲”(workaround)式二次開發。
最近,“太陽風”(Solarwinds)網管軟件被認為遭到“供應鏈攻擊”,迫使全球各國重新認識在網信安全領域中的“供應鏈安全”。雖然“供應鏈”的表面形式是有形的物(包括技術),但是其本質和實質是人的因素(包括政治和意識形態使然)。
以開源和免費的DNS軟件BIND為例。2000年由美國國土安全部資助開發的BIND版本9(BIND9),從2004年1月28日的第一個版本(BIND 9.0.0)到2020年9月17日(BIND 9.17.5),共計發布了634個版本,其中2020年(至9月17日)發布了15個版本。
BIND軟件版本的生命周期一般為1年。但是,已知國內有相當多的單位和企業仍然在使用已被廢棄的BIND軟件版本,甚至所使用的BIND軟件(數年前)版本號仍在網絡中裸露著。
另一方面,BIND軟件版本不斷地被發現高危的安全漏洞,僅2019年公開發布的漏洞補丁(CVE)就是17個,不包括一般性的代碼錯誤。如果沒有及時下載補丁,等同于開放被入侵的大門。但是,投入和花費資源維護“免費”DNS 軟件的單位和企業卻并不多見。必要和必須的技術、行政、執法監管普遍不及時、不完善、不嚴謹或原本就不落實。
尤其是,并不能排除軟件中固有的“暗樁”、尚未公開的漏洞,或在下載開源軟件的過程中被植入或夾帶了病毒。在這樣的域名應用和服務環境中,鏡像的域名根服務器怎么可能“獨善其身”!
綜上,從知彼(和對標)的角度,2014年7月,美國國家安全局(NSA)發起了“安全的科學”(簡稱SOS)計劃,持續至今。SOS計劃明確界定:網信安全領域是一門新興的、跨學科的、整體的知識體系,旨在作為一項持續發展的長期研究工作。因此,(網信)“安全的科學”既沒有唯一的路徑,也沒有任何捷徑。
科學是證偽的過程。所述的五個事實都可以充分證明,鏡像的域名根服務器,不能也無法應對潛在的“斷服”(或“斷網”)風險。重新審視應對“斷服”(“斷網”)的方案和措施,對于堅持維護國家主權、安全、發展利益十分迫切、至關重要。
悖逆科學事實和常識的“鏡像替代”論,“早有準備”和“不用擔心”說,當休矣!
「 支持烏有之鄉!」
您的打賞將用于網站日常運行與維護。
幫助我們辦好網站,宣傳紅色文化!
歡迎掃描下方二維碼,訂閱烏有之鄉網刊微信公眾號
