https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/
https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/

觀點

DNS安全防護傘 - DNSSEC

2010 / 09 / 06
黃繼民
DNS安全防護傘 - DNSSEC
明槍易躲、暗箭難防!
在2008年駭客年會上,IOActive的安全研究員Dan Kaminsky所公佈的重大安全漏洞「DNS Cache Poisoning」,引發全球對於DNS安全問題的高度重視,也加速了DNSSEC的發展推動。當大家在思考雲端服務的同時,DNS安全威脅正高度的提升風險程度。當我們在使用SaaS、IaaS或PaaS時,如何確保連結的供應商其正確性?

DNSSEC簡介
DNSSEC是DNS Security Extensions的縮寫,我們可稱之為DNS安全擴充或DNS安全協議,設計目的是增強DNS服務的驗證。

DNS幫助我們將網域名稱跟網路位址提供翻譯服務(如:www.某公司.com.tw = 123.1.1.1),方便我們對於網站跟網路服務的取得;但各位試想,一旦DNS上原本正確合法的記錄遭到非法的竄改時(如:www.某公司.com.tw = 456.2.2.2),若再加上「一模一樣」的網頁內容,瀏覽該網站的使用者根本無從判斷真假。
DNS Cache Poisoning(DNS快取中毒)的攻擊方式便是透過DNS設計上的缺陷,假冒主要的DNS主機將錯誤的記錄傳遞給DNS Cache主機;類似的攻擊手法包括:Man-in-Middle attack(中間人攻擊)、DNS Hijacking(DNS綁架)、及DNS Pharming (DNS嫁接/釣魚假冒)等。因此DNSSEC可以針對DNS主機之間的資料傳遞上加以驗證來源與訊息內容的可信度。

DNSEC運作
DNSSEC是利用數位簽章的方式來達到驗證的目的;透過公鑰密碼學的機制,對於互相通訊的DNS主機之間利用單向雜湊函數(One-way Hash function)檢視訊息內容並產生一組雜湊值,管理者再以私鑰將驗證訊息及雜湊值加密,提供數位簽章。當DNS接收端收到訊息時,先將數位簽章解密,再利用雜湊值確認訊息內容未受竄改;DNSSEC藉數位簽章的簽署與驗章的過程,強化DNS假冒的安全風險,是目前最有效方式。

基本上DNSSEC是採用「非對稱式密碼演算法」的方式,因此金鑰的建立必須建立在「信任鍊(Chain of trust)」的基礎,確認公開金鑰確實屬於轄區組織所有,而非來自犯罪者,造成另一層的風險。針對此一問題,公開金鑰必須經過較高管理單位認證,以「某單位.edu」為例,其較高管理單位則為"edu";在可信任的條件下,DNS對於資訊的詢問、回應、記錄傳送(Zone Transfer)及動態更新都能獲得保護。
目前全球對於DNSSEC的佈署推動上,包括".com"、".net"、".edu"、".org"、"biz"等多個頂級網域負責單位都已簽署加入;由ICANN、美國政府和威瑞信(Verisign)領導的全球13臺root DNS Server,預計在今年完成DNSSEC佈署。以美國政府為例,自2008年即開始積極推動DNSSEC,第一階段針對聯邦政府所屬單位DNS系統完成佈署;同樣的,VeriSign也計畫在2011年完成".com"及".net"的DNSSEC導入。

DNSSEC是萬靈丹嗎?
事實上,DNSSEC並無法完全解決DNS所有的安全問題,DNS管理者仍舊必須對於系統本身勤加保護,包括漏洞修補、系統權限管控、駭客攻擊入侵防禦等工作。當Dan Kaminsky公佈「DNS Cache Poisoning」威脅時便大力呼籲全球DNS用戶必須盡快完成版本升級與漏洞修補作業,但此舉對於DNS假冒攻擊也只是治標的方法,盡速完成DNSSEC的佈署才是最有效的解決方法。

雖然目前DNSSEC是各界關注的重點,並且獲得各領域的支持,不過對於既有DNS系統要達成DNSSEC的佈署仍有許多瓶頸必須克服。由於DNSSEC採用非對稱式密碼演算法,對於資料的加解密作業將耗用既有DNS主機的資源,因此DNS系統管理者必須確保DNS主機的效能。

而DNSSEC另一個令人卻步的因素為驗證的設定維護方式,由於DNSSEC是一套針對DNS主機訊息溝通傳遞上的驗證機制,因此設定管理上一但發生失誤則會造成驗證失敗的情況,造成DNS資料無法正常傳遞(如Zone Transfer或動態更新記錄)。

對於DNSSEC的支援上,在BIND最新的版本v9.6.1已宣布支援DNSSEC相關的所有標準,目前ISC組織也開始BIND v10的開發,已符合DNSSEC的發展;微軟則在Windows 7及2008 Server提供更完整的DNSSEC標準支援。但對於一些小型家用路由器以及入侵偵測系統或防火牆來說,DNSSEC的支援也亟待提升。目前已有硬體式DNS系統,能夠方便DNS管理者容易維護操作DNSSEC。

下一代DNS服務
近年來DNS安全攻擊事件,以ISP和網站營運商首當其衝。DNSSEC已經被定義為下一代DNS服務的必要規範,預計在未來10年替代現有DNS系統架構;除了網域服務單位的推動外,包括Cisco、Juniper、Infoblox、F5等網路設備商都簽署加入DNSSEC行列。透過DNSSEC可以確保DNS網域名稱解析的真實與完整性,有效防止DNS攻擊與假冒詐欺的安全風險。


註:DNSSEC參考資訊:
(1) O''Reilly "DNS and BIND管理" 5th
(2) Infoblox "A Best Practices Architecture for DNSSEC"
(3)
Infoblox Security Center (http://www.infoblox.com/library/dns-security.cfm)
(4) TWCERT "DNSSEC安全機制實作"
(5) CNNIC 通訊 (2009年 第3期)


本文作者為達友科技業務經理