博客 / 詳情

返回

DNS風險分析及安全防護研究(二):DNS風險安全增強

針對上節提到的DNS在協議、系統以及在結構中的脆弱性,近年來出現了一些針對性的增強方案。

2.1協議安全增強

2.1.1 DNSSEC
為解決DNS系統在數據傳輸過程中的真實性和完整性保護問題,IETF提出了DNS安全增強方案DNSSEC,通過對資源記錄進行簽名,來保證數據的真實性和完整性。
DNSSEC雖然在理論上能夠有效解決虛假域名信息的問題,但在實際部署過程中卻沒有達到預期的效果。因為DNSSE的配置比較繁瑣,每一個域都需要將自身的DS記錄上傳至父域,由父域簽名,再上傳至根服務器,由此構建起一條根域簽名頂級域,頂級域簽名二級域的信任鏈條。然而在當前這個鏈條中,二級域名的DNSSEC部署率非常低,大約僅有1%的.com、.net和.org域名部署了DNSSEC。
此外DNSSEC的部署還可能引起客户端的解析故障,大量包含數字簽名的報文佔據帶寬資源等問題。
2.1.2 DNS Curve
DNS Curve 通過橢圓曲線加密算法和密鑰分發機制,對傳輸過程中的DNS數據包進行加密,以保證DNS報文的機密性和完整性,然而 DNS Curve的弊端在於採用 DNS Curve的遞歸服務器無法告知權威服務器關於響應的有效性,因此權威域名服務器只能盲目信任本地遞歸服務器。此外 DNS Curve需要對DNS協議進行修改,使其部署受到了較大限制。

2.2 系統實現增強

2.2.1 傳輸協議
當前DNS使用的是UDP協議傳輸數據,無法進行真實性和完整性驗證,因此通過對DNS傳輸協議進行增強是提高DNS安全性的一種手段。T-DNS使用TCP和TLS協議代替UDP進行傳輸,解析器與服務器首先建立TCP連接,然後使用TLS協議對DNS消息進行加密保護,這樣就能夠有效解決數據泄露和惡意篡改問題。但T-DNS的侷限性在於TCP連接會影響解析效率,且與傳統DNS協議不兼容,難以大範圍部署。
2.2.2 查詢機制
多個DNS服務器協同工作,能夠在單個服務器解析失敗時請求其他服務器,是提高系統健壯性和可靠性的有效手段。CoDNS系統採用局部和鄰近感知的設計思想來分發DNS請求,當本地DNS服務器失效時,CoDNS自動將請求定向至健康的協同服務器,有效降低延遲,提高查詢服務的可靠性。雖然協同DNS提高了可靠性和性能,但系統安全性也會降低,單點失效和故障很容易傳播到整個系統。

2.3 體系結構增強

DNS根服務器位於整個DNS系統中的核心地位,這種方式存在單點故障、易受攻擊等缺陷,因此去中心化的DNS系統結構在近年來逐漸得到關注。
2.3.1 全分佈式系統結構
隨着P2P網絡結構的出現,基於P2P網絡的域名系統結構被提出,採用P2P結構的域名系統,節點間相互平等,不會發生傳統DNS系統中單點失敗導致整個系統崩潰的中心化問題。
然而P2P結構的DNS系統易受網絡環境影響,網絡波動會導致查詢效率的降低,因此一種P2P和傳統DNS相結合的混合結構被提出。這種混合系統中分為兩個部分:共有區節點採用P2P網絡結構,內部區節點採用傳統DNS樹形結構。所有共有區節點被分配一個唯一標識符,內部區樹形結構的根節點也分配一個唯一標識符,並將兩者進行關係映射,將每一個內部區與共有區進行關聯。
這種混合結構安全性比傳統DNS要高,查詢速率比P2P網絡更快,然而同樣也存在不少侷限性,如節點信息更新導致狀態不一致,數據偽造等。
2.3.2 基於根服務器聯盟的域名結構
現有DNS系統的中心化結構存在一個父域故障,導致整個子域無法解析的情況,為了解決這個問題,應從結構和解析機制兩個方面進行改進。
在結構方面,可以建立遞歸根(遞歸服務器直接進行根區解析),偽裝根(將根區查詢引導至鏡像根服務器上),開放根(建立一組獨立運作的根服務器,使用IANA的根區數據作為解析數據源),全球根(在當前13個根服務器基礎上增加更多根服務器數量)。
在解析機制方面,採用域名對等擴散的方式,在這種體系下的自主根和國際根服務器處於混合工作的狀態,自主根將目前根服務器的中心化問題轉移到了頂級域名服務器,但果.com一類的頂級域名服務器拒絕將權威信息轉交給自主根,自主根仍會受到較大限制。

user avatar tanking 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.