DNS安全防護探討

最近從雲端運算(Cloud Computing)、大數據(Big Data)、物聯網(Internet of Things)及人工智慧(Artificial Intelligence)等熱門的資訊科技被各式媒體及社會大眾所關注。反映出我們當前的生活及工作環境不論是個人、家庭,企業及政府組織,已經在高度資訊化的環境中運作,不能沒有企業資訊網路系統及網際網路提供穩定持續及安全的網路服務。

然而整體網際網路最重要的基礎服務之一就是DNS( Domain Name System),在網際網路上的各式各樣的伺服主機或網路設備,不論是執行IPv4或IPv6通信協定,都以IP位址作為識別。而DNS就是提供網路IP位址與網域主機名稱對應關係的階層式服務系統,提供大家可以透過好記的網域主機名稱來進行網路連結,獲得網際網路應用服務,進行各項資訊作業以完成工作目標。這些網際網路應用服務包括企業組織的網站應用服務、電子郵件服務、電子商務平台服務、網路金融應用服務、行動網路應用服務,以及各類的雲端服務和物聯網應用服務等。都必須依靠DNS提供IP位址查詢的基礎服務,才能讓各單位的內部網路與IT服務應用正常發揮其功能。因此在這個大量物件聯網的世界,DNS已經成為駭客發動大規模或針對性攻擊的主要目標。DNS遭受攻擊的數量已經成為第二名,近年來有77%的受訪企業組織曾遭受DNS攻擊,僅次於HTTP的82%,且衍生而出的各式DNS攻擊型態都已經造成極大的影響。[1,2,3]

DNS是一個相當重要網際網路服務,但在協定設計上是一個安全性不夠嚴謹的服務應用。許多企業組織在網路安全的管理常忽略了DNS系統的安全組態設定與安全防護技術的強化,所以造成DNS在網路服務中容易成為網路攻擊與惡意利用的目標。所以要針對DNS的安全進行防護,首先必須了解DNS的攻擊類型,我們簡要將各種DNS的攻擊類型說明如下:

  1. DNS DDoS:攻擊者大量的佔用攻擊目標的網路頻寬,大量耗用網路基礎設施連線狀態,企圖耗盡這些伺服器的網域名稱解析器,以及快取資料庫資源,甚至對DNS伺服器送出並不存在DNS快取資料的網域名稱解析請求,這些惡意行為都是屬於DNS DDoS攻擊。[4]
  2. DNS Cache Poisoning:由於 DNS 協定設計的缺陷,攻擊者可以利用其協定的弱點進行DNS Cache Poisoning 攻擊,將偽造的惡意紀錄加入有弱點的 DNS,這將造成使用者雖然使用正常網域名稱存取網路服務,卻因受害 DNS 將正常網域名稱對應至惡意IP位址,而造成使用者被引導至惡意網站[5]。
  3. DNS Amplification:攻擊者將DNS查詢封包中的來源IP位址偽造成受害主機的IP位址,向設定不良的Open DNS Server送出大量查詢封包,設定不良的Open DNS Server則會將大量查詢結果回應到受害主機,以DDoS的方式癱瘓受害的網路與主機資源。[6]
  4. DNS Man-in-Middle:DNS中間人攻擊方式,以常見的DNS欺騙為例,受害者將其DNS請求發送給攻擊者,然後攻擊者以偽造的DNS查詢資訊回應受害者,將正確的IP位址替換為其他IP位址,之後受害者就登入了攻擊者指定IP位址的一個偽冒網站,例如某銀行網站,從而欺騙受害者輸入他們的銀行資訊,例如銀行帳號及密碼,然後駭客遂行不法的行為進行獲利。[7]
  5. DNS Hijacking:DNS劫持就是經由劫持DNS伺服器,取得某網域名稱的解析記錄控制權,進而修改此網域名稱的解析結果,導致對該網域名稱的連結由原來的IP位址轉向到修改後的指定IP位址,其結果就是對特定的網址不能連結或連結到假冒的網址,從而達成竊取受害者的資料或破壞原有正常服務的目的。DNS劫持是通過篡改DNS伺服器上的資料,回應給受害者一個錯誤的查詢結果來實現攻擊目的。[8]
  6. DNS Pharming:DNS網址嫁接攻擊是透過入侵 DNS 主機直接修改 DNS 指向,讓受害者的連線轉接至另一個惡意網站,所以一般使用者根本無法發現錯誤,DNS Pharming會顯示正常的網域名稱,除非網頁內容有瑕疵被發現,否則必須採用https 加密認證或 DNSSEC才能避免此類問題的發生。[9]
  7. DNS Tunneling:DNS Tunneling是隱蔽通道的一種,經由將其他通信協定封裝在DNS通信協定中傳輸,以突破企業安全機制的限制而完成非法通訊的過程。因為在網際網路的DNS是一個必不可少的基礎服務,所以大部分企業的防火牆和入侵檢測系統很少會過濾DNS流量,這就給DNS作為一種隱蔽通道提供了條件,從而可以利用它實現例如遠端控制,資料傳輸作業。現在越來越多的研究證明DNS Tunneling也經常在殭屍網路和APT攻擊中扮演著重要的角色。[10]
  8. DNS Based Exploits:DNS漏洞攻擊是針對DNS軟體本身的漏洞進行攻擊。

在目前的網際網路基礎服務中,DNS是不可缺少的服務之一,要建立DNS伺服器也不是一件困難的事情,因為Linux及Windows作業系統都內建DNS伺服器的功能,而且幾乎可以免費取得,而其中最為普遍被採用的是BIND的DNS套件。這些DNS伺服器都是在作業系統上以應用軟體的方式執行,因此DNS可能會面臨到所有軟體可能發生的安全性問題,包括錯誤的設定、作業系統與DNS軟體本身的漏洞等[11]。對於DNS可能產生的網路安全性問題,是本文要討論的主要議題。有關商用的DNS安全防護方案,我們首先介紹的是Infoblox的DNS全方位管理與安全技術與解決方案,透過DNS防火牆、進階DNS防護技術,搭配整合的裝置與中央管理軟體,提供簡易的DNS管理與安全防護,協助企業強化安全部署中的弱點環節,防護駭客對DNS的攻擊。更可搭配企業整體資訊安全部署,對抗日新月異的網路攻擊行為,保護企業資訊資產與機敏性資料[1]。此外Fortinet與Nominum合作,推出了FortiDNS安全系列設備,提供商用營運等級高性能安全的DNS服務設備給企業,進行DNS安全的防護[12]。而目前市面上可保護DNS設備的還包括Load Balance廠商推出相關安全解決方案,可以保護DNS DDoS、Flood Attack等攻擊。例如F5的BIG-IP DNS可以防護DNS DDoS攻擊,可透過DNS限速、分流以及DNS 安全防護規則丟棄無效的回應,因此可以有效防護DNS安全[13]。Akamai Fast DNS則是基於雲端運算的DNS服務,Fast DNS 提供權威 DNS 服務,該項服務可將 DNS 解析從基礎設施卸載到雲端服務平台。Fast DNS 在 Akamai Intelligent Platform上構建,它可以提高DNS性能和可用性,即使遭受到大規模的 DDoS 攻擊時也能維持高速 DNS 運作[14]。

DNS的服務功能簡單但是在網際網路的重要性異常特殊,以目前DNS的網路服務架構探討,它成為網路駭客進行網路戰爭的重要戰略位置。除了商用的DNS安全防護設備之外,最基本的DNS安全防護是要從系統本身著手。因此安全防護的首要工作即是針對DNS伺服器的作業系統弱點、DNS軟體的弱點進行管理與修補,定期更新系統版本。其次是落實DNS系統存取管理機制,例如正確的DNS遞迴查詢設定、Zone Transfer的限制及Administrator權限的設定等。第三是做好DNS網路管理功能與DNS Log的記錄與分析,針對DNS各類型的服務狀態與查詢回應給予記錄,納入異常監測的管理,將有助於DNS管理者及早發現DNS攻擊的異常變化。第四是採取適當的DNS防護措施,提升DNS自身防護能力,例如DNS黑(白)名單,進行DNS查詢封包過濾,使用DNS Response Rate Limiting軟體對DNS伺服器進行保護,限制使用者查詢使用量,通過Response Policy Zones來減少對被認為是濫用或非法目的Zone的存取[3]。此外為了強化DNS協定的弱點,可以在DNS伺服器上實作DNSSEC,DNSSEC藉由數位簽章的簽署與驗章的過程,強化DNS被假冒的安全風險,它已經被定義為DNS安全的協定[2]。

綜合上述的論點,為了有效強化DNS的安全性,提升整體網路的安全,DNS系統管理者必須及時的完成系統版本升級與弱點管理工作,運用各種安全防護策略,甚至採用商用的DNS安全防護設備,同時考量到網路傳輸速度與DNS伺服器的效能,積極完成DNSSEC的佈署,這樣才能真正強化DNS安全,讓整體企業資訊網路系統穩定的提供服務。

參考資料

[1] DNS安全防護方案,達友科技。
[2] 黃繼民,DNS安全防護傘-DNSSEC,資安人,2010/09/06。
[3] DNS危機解密,iThome,2016/07/09。
[4] 李宗翰,DNS DDoS攻擊的類型,iThome,2014/05/21。
[5] DNS cache poisoning 無法顯示網頁解決辦法
[6] 胡洋,DNS 放大攻擊簡介與防制,國立台灣大學計算機及資訊網路資訊中心,2014/03/20。
[7] 中間人攻擊,wiki。
[8] DNS hijacking與DNS cache pollution的區別,月光部落。
[9] 網路小百科,TWNIC ePaper,2013/02。
[10] Novsec,DNS Tunneling及相關實現,FreeBuf。
[11] 李宗翰,為達高速查詢犧牲安全性 DNS成為駭客最愛的攻擊標的,iThome,2014/05/21。
[12] FortiDNS安全緩存DNS服務器,Fortinet。
[13] BIG-IP DNS,f5。
[14] Fast DNS,Akamai。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *