漫談?dòng)蛎到y(tǒng)安全
眾所周知,域名系統(tǒng)(DNS,Domain Name System)作為互聯(lián)網(wǎng)的重要基礎(chǔ)設(shè)施,其主要功能是提供域名解析服務(wù)。隨著互聯(lián)網(wǎng)的發(fā)展,DNS系統(tǒng)也被賦予了其他的應(yīng)用功能,如 DKMI(即Domain Keys Identified Mail,縮寫為DKIM)、負(fù)載均衡、域名封鎖等方面。絕大多數(shù)的互聯(lián)網(wǎng)應(yīng)用都需要依賴 DNS 才能正常工作,一旦 DNS 系統(tǒng)受到攻擊,整個(gè)互聯(lián)網(wǎng)將會(huì)受到嚴(yán)重影響。
●現(xiàn)狀●隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,攻擊 DNS 的技術(shù)也變得更加豐富,手段更加復(fù)雜。
美國 Coleman Parkes 公司調(diào)查了來自北美、亞太、歐洲共 1000個(gè)組織的 DNS 系統(tǒng)安全狀況發(fā)現(xiàn) ,在 2017 年有 76%的組織受到了 DNS攻擊。在這些攻擊中,惡意軟件攻擊占 35%、DDoS 攻擊占 32%、緩存投毒占 23%、DNS 隧道占 22%、零日漏洞攻擊占19%。超過 90%的惡意軟件使用DNS協(xié)議與惡意軟件的命令和控制(Command and Control,C&C)中心保持聯(lián)系,以此獲取攻擊命令、下載軟件更新、獲取隱私信息。DDoS 攻擊也變得越來越復(fù)雜,攻擊者使用廣泛的技術(shù)手段,從基本的方法(如:放大/轉(zhuǎn)發(fā)、泛洪),到涉及僵尸網(wǎng)絡(luò)、連鎖反應(yīng)等高度復(fù)雜的攻擊,這些攻擊可能來內(nèi)部或外部DNS服務(wù)器。
根據(jù) Arbor Network 發(fā)布的調(diào)查報(bào)告顯示,有84%的反射和放大攻擊采用DNS協(xié)議,是所有調(diào)查協(xié)議中占比最高的。此外,報(bào)告中還顯示 DNS 的服務(wù)器是 DDoS 攻擊的首要目標(biāo),有78%的DDoS 攻擊對(duì) DNS的應(yīng)用層服務(wù)進(jìn)行攻擊。
攻擊DNS 有利可圖,商業(yè)利益驅(qū)動(dòng)促使攻擊行為加劇。有攻擊者通過攻擊DNS服務(wù)器,造成企業(yè)服務(wù)中斷,損壞企業(yè)信譽(yù),造成用戶流失。如 2016 年 10 月在 Dyn域名服務(wù)供應(yīng)商受到大規(guī)模DDoS攻擊之后,Dyn公司失去了8%的域名客戶。
DNS 攻擊還會(huì)造成關(guān)鍵數(shù)據(jù)泄露和經(jīng)濟(jì)損失。根據(jù) EfficientIP 的調(diào)查報(bào)告,在調(diào)查的1000個(gè)公司和組織中,有三分之一的公司因 DNS 攻擊數(shù)據(jù)被盜,這些數(shù)據(jù)中16%是用戶敏感信息15%是知識(shí)產(chǎn)權(quán)信息。此外,DNS 攻擊每年會(huì)給受害公司造成 200 萬美元的經(jīng)濟(jì)損失。
●威脅分析●域名服務(wù)主要由3部分組成,分別是:
1、域名空間(domain name space)和資源記錄(resource record),包括樹形結(jié)構(gòu)的命名空間和與名稱相關(guān)聯(lián)的數(shù)據(jù);
2、名字服務(wù)器(name server),包含域樹結(jié)構(gòu)信息和設(shè)置信息的服務(wù)器程序;
3、解析器(resolver),響應(yīng)請(qǐng)求并從名稱服務(wù)器獲取查詢結(jié)果。DNS 通常提供兩種域名解析方式,分別是:遞歸式查詢和迭代式查詢。在通常情況下,應(yīng)用系統(tǒng)主機(jī)向本地域名服務(wù)器請(qǐng)求域名解析時(shí),采用遞歸查詢。
在遞歸查詢模式下,本地域名服務(wù)器直接向應(yīng)用系統(tǒng)主機(jī)返回域名解析結(jié)果,當(dāng)?shù)赜蛎?wù)器需要向根域名進(jìn)行請(qǐng)求。
以下是對(duì)CVE 漏洞信息庫若干條DNS相關(guān)漏洞進(jìn)行對(duì)比分類,針對(duì)不同類型的DNS系統(tǒng)漏洞對(duì)攻擊目標(biāo)及攻擊后果進(jìn)行總結(jié)歸納,統(tǒng)計(jì)結(jié)果如下表所示:
●安全強(qiáng)化●1協(xié)議強(qiáng)化
為了解決DNS系統(tǒng)在數(shù)據(jù)傳輸過程真實(shí)性和完整性保護(hù),IETF(The Internet Engineering Task Force)提出了DNS安全增強(qiáng)方案 DNSSEC。DNSSEC 通過對(duì)資源記錄進(jìn)行簽名,用戶在收到相關(guān)請(qǐng)求域名信息時(shí)也會(huì)收到該記錄的簽名,用戶可以根據(jù)簽名檢測(cè)數(shù)據(jù)的真實(shí)性和完整性。DNSSEC 在DNS的基礎(chǔ)上,增加了四種安全記錄:
1. DNSKEY記錄,存儲(chǔ)驗(yàn)證DNS數(shù)據(jù)的公鑰;
2. RRSIG 記錄,存儲(chǔ)DNS資源記錄的數(shù)字簽名;
3. DS記錄,用于DNSKEY驗(yàn)證,存儲(chǔ)密鑰標(biāo)簽,加密算法和對(duì)應(yīng) DNSKEY 的摘要信息;
4. NSEC 記錄,存儲(chǔ)和對(duì)應(yīng)所有者相鄰的下一記錄,用于否定存在驗(yàn)證。
2實(shí)現(xiàn)強(qiáng)化當(dāng)前DNS協(xié)議使用UDP協(xié)議傳輸數(shù)據(jù),信息沒有進(jìn)行真實(shí)性和完整性驗(yàn)證,因此對(duì) DNS 傳輸協(xié)議進(jìn)行增強(qiáng)是增強(qiáng) DNS 安全性的一種手段。T-DNS使用TCP和TLS協(xié)議替代 UDP傳輸DNS消息,解析器與服務(wù)器首先需要建立TCP連接,然后使用TLS協(xié)議對(duì)DNS消息的內(nèi)容進(jìn)行加密保護(hù),防止內(nèi)容泄露和惡意篡改。
T-DNS利用TCP連接的數(shù)量限制機(jī)制,能夠防止惡意服務(wù)器主動(dòng)推送虛假應(yīng)答信息,同時(shí)使用TLS協(xié)議保護(hù)數(shù)據(jù)傳輸安全,解決了數(shù)據(jù)泄露和惡意篡改問題。這種方式的局限性是建立TCP連接的時(shí)間開銷會(huì)影響解析效率,T-DNS 采用TCP和TLS協(xié)議,與傳統(tǒng)的 DNS不兼容,很難大范圍部署。
3檢測(cè)監(jiān)控隨著互聯(lián)網(wǎng)的發(fā)展,技術(shù)在不斷進(jìn)步,攻擊手段也在不斷變化,僅僅依靠協(xié)議的增強(qiáng)和系統(tǒng)的改變不一定能夠抵御所有的攻擊。因此,在現(xiàn)有系統(tǒng)的基礎(chǔ)上,進(jìn)行有效監(jiān)控診斷,保護(hù)DNS系統(tǒng)的正常運(yùn)行,也是一個(gè)重要的安全增強(qiáng)保障。對(duì)DNS系統(tǒng)進(jìn)行診斷監(jiān)控不需要改變現(xiàn)有DNS實(shí)現(xiàn)方式,具有良好的漸進(jìn)部署能力,同時(shí)能夠有效監(jiān)測(cè)各種攻擊。檢測(cè)監(jiān)控的核心思想是對(duì) DNS 的查詢流量進(jìn)行分析和檢測(cè),構(gòu)造檢測(cè)系統(tǒng)并運(yùn)用如機(jī)器學(xué)習(xí)、信息熵等技術(shù)對(duì)檢測(cè)結(jié)果進(jìn)行學(xué)習(xí)和分類,提高檢測(cè)精度。本節(jié)根據(jù)檢測(cè)流量的層級(jí)不同分為監(jiān)測(cè)DNS用戶端與遞歸服務(wù)器間流量和檢測(cè)DNS服務(wù)器間流量。
4體系結(jié)構(gòu)強(qiáng)化DNS根服務(wù)器作為DNS 系統(tǒng)的核心,負(fù)責(zé)DNS主目錄的維護(hù)和管理,這種方式存在單點(diǎn)故障、易受攻擊等缺陷。為了解決 DNS中心化問題,有學(xué)者提出設(shè)計(jì)去中心化的 DNS 系統(tǒng)。DNS系統(tǒng)去中心后,每個(gè)服務(wù)器節(jié)點(diǎn)都是平等的,單點(diǎn)故障和 DoS攻擊造成的影響將會(huì)降低。DNS的解析過程不再受限于根服務(wù)器,不會(huì)因?yàn)楣芾淼纫蛩貙?duì)域名進(jìn)行封鎖,也能解決根服務(wù)器部署數(shù)量有限的弊端。
●總結(jié)●針對(duì) DNS 的各種安全問題,雖然涌現(xiàn)了大量的解決辦法,但是近年來的各種攻擊事件表明,DNS 安全問題仍然十分嚴(yán)峻。通過分析發(fā)現(xiàn),現(xiàn)有的研究成果仍存在不足,未來的工作可以更多地關(guān)注以下方面:
DNS去中心化DNS 系統(tǒng)之所以受到各種攻擊,與 DNS 樹形結(jié)構(gòu)、根服務(wù)器管理整個(gè)系統(tǒng)有重要關(guān)系。這種體系架構(gòu)存在單點(diǎn)失效問題,而歷史上有多次攻擊根服務(wù)器的案例,致使整個(gè)DNS服務(wù)癱瘓。因此,設(shè)計(jì)一種去中心化的DNS系統(tǒng)是一項(xiàng)具有重要意義的方向。
開放式DNS安全檢查雖然開放式服務(wù)器提供了各種便利,如可以應(yīng)答外部資源的 DNS 請(qǐng)求,但是這些開放系統(tǒng)給網(wǎng)絡(luò)的安全性和穩(wěn)定性帶來了極大的隱患。一些開放的服務(wù)器容易被攻擊者控制,進(jìn)行放大攻擊、投毒攻擊等惡意行為。據(jù)調(diào)查發(fā)現(xiàn),在3200萬個(gè)開放式解析器,其中有2800 萬存在嚴(yán)重的安全隱患。開放式會(huì)給攻擊者進(jìn)行 DoS/DDoS、緩沖投毒、DNS ID劫持等攻擊帶來便利?,F(xiàn)有的實(shí)踐中很少有對(duì)這些開放式系統(tǒng)進(jìn)行行規(guī)范和約束,如何識(shí)別和監(jiān)控這些惡意的開放式服務(wù)器,也是一個(gè)重要的內(nèi)容。
防護(hù)方案增量部署由于 DNS 系統(tǒng)廣泛應(yīng)用,有研究者雖然提出改進(jìn)方案,與現(xiàn)有的 DNS 系統(tǒng)不兼容,也很難被大范圍部署。DNSSEC雖然在1997年就已經(jīng)被提出,但是目前仍未廣泛部署,目前DNSSEC 在頂級(jí)域的部署率達(dá)到了89%,但是在二級(jí)域的部署率僅為3%。有很多新型的名字服務(wù)系統(tǒng)和架構(gòu)都已提出來,但是與當(dāng)前 DNS 系統(tǒng)不兼容,因此這些研究成果很難被網(wǎng)絡(luò)運(yùn)營(yíng)商和大型公司采用。因此在設(shè)計(jì)防護(hù)方案的部署方式時(shí)應(yīng)考慮防護(hù)方案要避免修改現(xiàn)有 DNS協(xié)議。