針對域名系統(DNS)伺服器的網絡威脅
主頁 > 
針對域名系統(DNS)伺服器的網絡威脅
< 返回

針對域名系統(DNS)伺服器的網絡威脅

DNS簡介

域名系統(Domain Name System),簡稱DNS,是在互聯網上常用的分級和分散式命名系統的基礎規約,負責把人類可讀的域名解析為數值的互聯網規約(Internet Protocol,簡稱IP)地址。原本設計的DNS規約(即RFC882和RFC883)由Internet Engineering Task Force(簡稱IETF)於1983年發布。 DNS包含數據儲存庫,用於儲存域名和其對應的IP地址,就像互聯網的目錄或電話簿。將域名轉換為對應的IP地址的功能稱為「域名解析」。DNS用於執行域名解析的規約稱為「DNS規約」,但是, DNS規格並沒有制定任何機制來保護DNS傳輸數據的真確性和機密性,可能令DNS數據在傳輸過程中被攔截和修改。

DNS解析的流程

DNS所採用把劃一資源定位址(Uniform Resource Locator,簡稱URL)轉換為可路由IP地址的過程包括六個主要步驟。以下圖表將以「https://www.example.com/index.html」為例子來探討有關過程如何運作:

DNS解析的流程的圖像

1.
域名查詢
a.
當用戶想瀏覽「https://www.example.com/index.html」,並在網頁瀏覽器的地址欄輸入URL,網頁瀏覽器會把URL轉置成為完整網域名稱(Fully Qualified Domain Name,簡稱FQDN),即「www.example.com」。
b.
網頁瀏覽器向DNS解析器傳送DNS域名查詢,以解析FQDN主名稱的IP地址,例如「1.2.3.4」。
c.
相比直接向DNS解析器傳送DNS域名查詢,使用DNS代理伺服器作為中介可在域名解析過程增加透明度和防禦控制措施,在威脅發生前阻截潛在的惡意網站。
2.
根域名伺服器查詢
DNS解析器把DNS域名查詢轉達根域名伺服器,該伺服器傳回相應頂級域名伺服器的IP地址,即「.com」域名伺服器。
3.
頂級域名伺服器查詢
DNS解析器把DNS域名查詢傳至適當的頂級域名伺服器,該伺服器傳回相應企業層域名伺服器的IP地址,即「example.com」域名伺服器。
4.
企業層域名伺服器查詢
DNS解析器把DNS域名查詢轉達企業層域名伺服器,該伺服器傳回相應網頁伺服器的IP地址,即「www.example.com」。
5.
回應域名查詢
DNS解析器把網頁伺服器的IP地址傳回網頁瀏覽器,並把該該域名查詢回應儲存在其快取記憶體中。 當下次需要解析該地址時,便會從快取記憶體中取得有關結果,無需重新發送另一個DNS域名查詢。
6.
連接至網頁伺服器和下載網頁內容
網頁瀏覽器連接至網頁伺服器,並向用戶展示網頁,即「https://www.example.com/index.html」。
DNS相關的攻擊風險

根據多個網絡安全威脅報告, DNS相關的攻擊愈趨複雜並且大幅增加,愈來愈多攻擊者採用多種不同的攻擊技術針對DNS的不同組件,例如遞迴解析器和權威域名伺服器。此外,通過基於DNS的隱蔽通道發生的數據外泄,在合法的DNS流量中通常不會被發現。由於偵測和緩解攻擊越來越困難,令保護DNS基礎設施以保持DNS安全和具抗禦力更為重要。由於DNS所擔當的關鍵角色,針對DNS的攻擊所造成的影響非常嚴重,未有保護DNS的後果可能會導致資料外泄、服務受阻、違規和機構聲譽受損的風險增加。

常見的DNS的攻擊
1.
DNS騎劫
DNS騎劫(也稱為「DNS Redirection」)這類DNS攻擊通過操縱DNS域名查詢,把用戶轉接至惡意網站。DNS騎劫可以藉接管用戶的DNS域名查詢,從而進行網址嫁接或仿冒詐騙攻擊。常見的DNS騎劫攻擊有五類:
1.1.
用戶端DNS騎劫 — 在用戶不知情或未經其批准下,,藉着在用戶的系統安裝的惡意軟件更改用戶裝置的DNS設定,並把用戶轉接至惡意網站。
1.2.
路由器DNS騎劫 — 利用路由器的安全漏洞,接管路由器和重寫其DNS設定,把所有連接的用戶轉接至惡意網站。
1.3.
虛假DNS騎劫 — 入侵DNS域名伺服器,並更改其DNS記錄,把DNS域名查詢轉接至惡意網站。
1.4.
中間人(Man-In-The-Middle,簡稱MITM)DNS騎劫 — 攔截用戶與DNS域名伺服器之間的網絡通訊,以虛假的IP地址替代,把用戶連接至惡意網站。
1.5.
域名帳號騎劫 — 在未經域名持有人批准下更改域名註冊,例如使用被盜用的域名帳戶登入資料。
2.
DNS快取記憶體中毒
DNS快取記憶體中毒也稱為DNS仿冒,是一種DNS快取記憶體攻擊,攻擊者將虛假數據加入DNS解析器的快取記憶體中。DNS解析器利用快取記憶體儲存處理DNS域名查詢的結果,以提高接獲相同查詢時處理的表現。有關虛假數據會把用戶轉接至惡意網站。
3.
DNS伺服器上的分布式拒絕服務攻擊
DNS伺服器上的分布式拒絕服務攻擊的圖像
分布式拒絕服務(Distributed Denial-of-Service,簡稱DDoS)攻擊利用大量的互聯網流量,惡意嘗試干擾目標DNS伺服器的正常DNS流量。 在DNS上成功發動DDoS攻擊,會妨礙把域名解析為域名和其子域名的IP地址,令其他服務無法接達,甚至造成更災難性的後果。DDoS攻擊有兩種主要的攻擊技術—放大和反射。兩者經常一起使用,以對目標造成最大程度的影響。
有史以來最大規模的DDoS攻擊記錄為2.3 Tbps,於2020年2月由Amazon Web Services(簡稱AWS)Shield服務緩解。該攻擊使用被騎劫的Connection-less Lightweight Directory Access Protocol(CLDAP)網頁伺服器來進行,以達到大規模的DDoS帶寬。在2016年,攻擊者對DNS服務提供商Dyn發動一系列DDoS攻擊,導致歐洲和北美很多用戶無法使用主要的互聯網平台和服務。
3.1.
DNS洪水攻擊
攻擊者把大量的DNS域名查詢傳送至DNS伺服器,嘗試耗盡某特定域名空間的DNS基礎設施和伺服器資源。DNS洪水攻擊通過干擾DNS域名解析功能,破壞網站或線上業務應用程式回應合法旳網絡傳輸流量。DNS洪水攻擊與正常的高流量有時很難分別,由於因為該大量的流量通常來自多個不同地點,假裝合法的流量查詢網域的真正記錄。
3.2.
隨機子網域(Pseudo-Random Subdomain,簡稱PRSD)攻擊
隨機子網域(PRSD)攻擊(也稱為「水刑攻擊」或「NXDOMAIN洪水攻擊」)是另一類分布式拒絕服務攻擊,攻擊者通過傳送大量合法域名的隨機並且虛構的子網域域名查詢,旨在耗盡伺服器資源,癱瘓目標合法網域的權威域名伺服器。
4.
DNS通道穿越攻擊(數據外泄)
DNS通道穿越攻擊的圖像
DNS通道穿越是指控制域名和DNS伺服器,對DNS域名查詢和回應內的數據進行編碼,與受控/受感染的DNS伺服器和用戶電腦進行通訊。DNS通道穿越攻擊利用向攻擊者的伺服器發出的正常DNS域名查詢,為攻擊者提供隱蔽的指令和控制通道,並通過指令和控制(Command and Control,簡稱C&C)方法提供數據外泄的路徑。外泄的數據會隨着時間被編碼到多個DNS主域名查詢中,從而逐步外泄敏感資料。
5.
域名搶註
域名搶註是一種DNS威脅,攻擊者擅自佔用域名把用戶轉接至惡意網站。機構可能會錯過其域名的續期日期,擅自佔用者便會利用該等域名,而對到訪該等域名的用戶帶來很高的風險。被搶註的域名常被用作或改變用途進行攻擊,例如攻擊者可以使用被搶註的域名來分發惡意軟件,或進行詐騙或仿冒詐騙等活動。
6.
DNS區域傳送(Zone Transfer)攻擊
DNS區域傳送攻擊的圖像
DNS區域傳送是一種網絡機制,把主DNS伺服器的區域檔案的內容複製至副DNS伺服器。如果沒有正確配置獲授權副DNS伺服器的傳送,攻擊者可以通過DNS區域傳送攻擊,從已暴露的DNS數據庫複製機構的內部IP地址、伺服器和其他資訊(例如私有域記錄、SPF TXT記錄)。攻擊者可以了解機構的網絡結構,然後故意利用機構的資訊和基礎設施系統。
防禦DNS攻擊的措施

機構可以實施以下防禦措施來防範DNS的威脅和攻擊:

1.
一般措施
保持DNS裝置的作業系統和軟件為最新版本,並在裝置上安裝端點保安軟件。
適當地配置DNS伺服器,例如:
為每項功能設定專用域名伺服器場合,如權威域名伺服器和遞迴解析器。
建立以網絡為本的權威域名伺服器分散版本,提高對故障的承受能力。
分拆DNS為內部和外部網絡設置獨立的DNS伺服器,作為保安和私隱管理的方法。
定期備份DNS伺服器,包括伺服器的配置和區域檔案。
2.
DNS註冊人和伺服器管理員應採取的措施
採用多重認證接達域名註冊商系統和DNS伺服器。
避免使用個人電郵地址作為機構域名的聯絡資料或註冊服務商的登入帳號。
啓用域名鎖定功能,以防止未獲授權或非應邀的情況下被轉移至其他註冊服務商。
緊記已註冊域名的到期日期,並在有效期屆滿前為域名註冊續期,避免域名被攻擊者或其他人接管。
確保所有域名的聯絡資料(包括註冊者、技術人員、管理人員和帳單聯絡資料)為最新、完整和正確,對任何來自域名註冊服務商的不尋常帳號更改警報保持警惕。
限制DNS區域送只適用於從主權威域名伺服器至特定的輔助域名伺服器,並拒絕所有其他的DNS域名查詢。
監測和阻止可疑的DNS活動,例如大量的子域名查詢請求、大型的域名查詢封包、很長的子域名和不常見的查詢類型(如TXT記錄)。
在可行的情况下,在主域名和任何副域名啓用域名系統安全擴展(Domain Name System Security Extensions,簡稱DNSSEC),以確保DNS數據的真確性。
委聘專業DNS服務供應商以提供防護和緩解服務,減低DNS洪水攻擊的風險。
使用「checkzone」、「checkconf」或類似的設施來檢測DNS服務配置錯誤。
在邊界網絡(Demilitarised Zones,簡稱DMZs)內運行權威域名伺服器。
採用DDoS緩解服務以抵禦阻斷服務攻擊。
訂購任播服務,把網絡流量分流至副DNS伺服器(Anycast節點)。
在權威域名伺服器和副伺服器上啓用回應速率限制(Response Rate Limits,簡稱RRL)。
實施回應政策區域(Response Policy Zone,簡稱RPZ),以控制可利用遞迴DNS伺服器進行的域名查詢。
DNS攻擊的事故應變和復原

當DNS被攻擊時,機構應考慮採取以下行動,以便有效地應對和控制事故:

1.
評估事故的範圍、可能造成的損壞和影響。
2.
檢查域名查詢是否仍可以由輔助副DNS解析器進行域名解析。
3.
預計恢復服務所需要的時間。
4.
立即向相關人士(例如資訊科技管理員)報告,以便調查和清理有關事故。如果涉及犯罪活動和個人資料外泄,應向相關的執法或監管機構(如香港警務處和個人資料私隱專員公署)通報。如有需要,可向香港電腦保安事故協調中心(Hong Kong Computer Emergency Response Team Coordination Centre,簡稱HKCERT)徵詢有關事故應變和復原的意見。
5.
確定DNS攻擊事故的源頭,並袓截接達相關的惡意伺服器。
6.
如果管理員帳戶遭到入侵,應重新設定管理員的登入憑證。
7.
中斷受感染設備的網絡連接,並對相關裝置進行完整的掃描,以核實是否被安裝了惡意軟件。
8.
檢視域名的註冊記錄(例如域名伺服器、聯絡資料),以確認註冊資料沒有任何未獲授權的更改。
9.
檢視審計記錄,以查看伺服器配置或區域檔案有沒有任何未獲授權的更改。如果懷疑相關配置或檔案已被竄改,應從備份中進行復原。
10.
在受影響的主機進行安全漏洞掃描,以修補任何已知的漏洞。
11.
調查攻擊事故的根本原因,不論是由於人為錯誤還是電腦系統中存在的安全漏洞等,並實施緩解措施以應對攻擊。
12.
進行保安審計以確保已妥為實施建議的緩解風措施。
13.
向域名註冊管理機構(Registry)和域名註冊服務商(Registrars)通報在互聯網上涉及域名的仿冒詐騙、垃圾郵件和其他惡意攻擊行為。
其他DNS保安功能
1.
域名系統安全擴展(DNSSEC)
域名系統安全擴展(DNSSEC)在搜尋IP地址時驗證域名的DNS數據,從而提高安全水平。DNSSEC利用加密簽署技術確認所收到的DNS數據是真確的。DNSSEC有助確保數據的完整性,以及認證DNS數據的源頭,從而可在DNS層面防止攻擊者把用戶轉接至偽冒網站。不過,要注意有關域名需要啓用DNSSEC和DNS解析器需支援DNSSEC,以提供有關保護。

已啓用DNSSEC的域名解析工作流程
已啓用DNSSEC的域名解析工作流程的圖像

1.
當用戶嘗試瀏覽一個已啓用DNSSEC的域名時,支援DNSSEC的DNS解析器會把域名查詢轉發至權威域名伺服器。
2.
權威域名伺服器繼而會把有關IP地址連同數碼簽署一併傳回。
3.
DNS解析器會驗證有關數碼簽署,以確保DNS數據沒有被竄改。
4.
當遇上攻擊者攔截回覆,並傳送虛假DNS回覆至DNS解析器,DNS解析器會未能驗證有關數據,並把虛假資料丟棄。
2.
DNS過濾
DNS過濾是一種可以封鎖接達特定網站、網頁和IP地址的技術。通過DNS過濾方案過濾已知的惡意域名╱IP地址,當用戶嘗試接達惡意網站時,可以減低感染風險。這項技術採用DNS黑名單(DNS Blacklist)和DNS沉洞(DNS Sinkhole)來進行。DNS黑名單根據惡意IP地址的名單為域名查詢提供自動和實時的檢查服務。DNS沉洞是通過對已知的惡意域名(根據DNS黑名單)的域名查詢偽造回應,將之解析為可界定但的的IP地址給客戶。如果客戶試圖接達該虛假的IP地址,而當中設有保安規則,便可阻截對該惡意網域的接達。
3.
WHOIS隱私保護
WHOIS是一項有關域名查詢和回應的規約,提供曾被數據庫攔截的域名和IP地址的資料,並以人類可讀的格式儲存和交付數據庫的內容。Internet Corporation for Assigned Names and Numbers(簡稱ICANN)目前要求所有域名域名登記的擁有者和管理員的電子郵件地址、電話號碼甚至郵寄地址都必須公開。
為了保障在WHOIS的目錄上被要求公開的域名註冊者和管理員的資料,域名註冊服務商提供了域名私隱保障服務,主要為隱藏有關域名註冊的聯絡資料,以保障域名登記者的私隱。
延伸閱讀
1.
Internet Corporation for Assigned Names and Numbers (ICANN) - DNSSEC
2.
Asia-Pacific Network Information Centre (APNIC) - DNSSEC(只提供英文版)
3.
National Institute of Standards and Technology (NIST) - Secure Domain Name System (DNS) Deployment Guide(只提供英文版)
4.
Open Web Application Security Project (OWASP) - Anatomy of a DNS Cache Poisoning Attack(只提供英文版)
5.
Franco Palau, Carlos Catania, Jorge Guerra, Sebastian Garcia, and Maria Rigaki - DNS Tunneling: A Deep Learning based Lexicographical Detection Approach(只提供英文版)
6.
香港電腦保安事故協調中心(HKCERT) - 保安建議:加強DNS基建保安
7.
Australian Cyber Security Centre (ACSC) - How to Combat Fake Emails(只提供英文版)
8.
香港互聯網註冊管理有限公司(HKIRC) - 技術常見問題(只提供英文版)
9.
香港互聯網註冊管理有限公司(HKIRC) - DNSSEC

免責聲明:用戶亦應留意本網站的免責聲明。在下載和使用保安軟件和工具前,應細閱相關的用戶協議和私隱政策。