什么是DNS劫持/重定向攻擊?域名服務(wù)器 (DNS) 劫持,也稱為 DNS 重定向,是一種 DNS 攻擊,其中 DNS 查詢被錯(cuò)誤地解析,以便意外地將用戶重定向到惡意站點(diǎn)。為了執(zhí)行攻擊,犯罪者要么在用戶計(jì)算機(jī)上安裝惡意軟件,接管路由器,要么攔截或破解 DNS 通信。

DNS劫持可用于 域名欺騙 (在這種情況下,攻擊者通常會(huì)展示不需要的廣告以產(chǎn)生收入)或 網(wǎng)絡(luò)釣魚 (顯示用戶訪問的網(wǎng)站的虛假版本并竊取數(shù)據(jù)或憑據(jù))。許多 Internet 服務(wù)提供商 (ISP) 還使用一種 DNS 劫持來接管用戶的 DNS 請(qǐng)求、收集統(tǒng)計(jì)信息并在用戶訪問未知域時(shí)返回廣告。一些政府使用 DNS 劫持進(jìn)行審查,將用戶重定向到政府授權(quán)的站點(diǎn)。
DNS劫持攻擊類型
DNS 重定向有四種基本類型:
- 本地 DNS 劫持——攻擊者在用戶的計(jì)算機(jī)上安裝特洛伊木馬惡意軟件,并更改本地 DNS 設(shè)置以將用戶重定向到惡意站點(diǎn)。
- 路由器 DNS 劫持——許多路由器有默認(rèn)密碼或固件漏洞。攻擊者可以接管路由器并覆蓋 DNS 設(shè)置,從而影響連接到該路由器的所有用戶。
- 中間人 DNS 攻擊——攻擊者攔截用戶與 DNS 服務(wù)器之間的通信,并提供指向惡意站點(diǎn)的不同目標(biāo) IP 地址。
- 流氓 DNS 服務(wù)器——攻擊者可以入侵 DNS 服務(wù)器,并更改 DNS 記錄以將 DNS 請(qǐng)求重定向到惡意站點(diǎn)。
重定向與 DNS 欺騙攻擊
DNS 欺騙是一種將流量從合法網(wǎng)站(例如 www.google.com)重定向到惡意網(wǎng)站(例如 google.attacker.com)的攻擊。 DNS 欺騙 可以通過 DNS 重定向來實(shí)現(xiàn)。例如,攻擊者可以破壞 DNS 服務(wù)器,并以這種方式“欺騙”合法網(wǎng)站并將用戶重定向到惡意網(wǎng)站。

緩存投毒是實(shí)現(xiàn) DNS 欺騙的另一種方式,不依賴于 DNS 劫持(物理接管 DNS 設(shè)置)。DNS 服務(wù)器、路由器和計(jì)算機(jī)緩存 DNS 記錄。攻擊者可以通過插入偽造的 DNS 條目來“毒化”DNS 緩存,其中包含同一域名的替代 IP 目的地。DNS 服務(wù)器將域解析為欺騙網(wǎng)站,直到緩存被刷新。
緩解方法
名稱服務(wù)器和解析器的緩解措施
DNS 名稱服務(wù)器是高度敏感的基礎(chǔ)設(shè)施,需要強(qiáng)大的安全措施,因?yàn)樗赡鼙唤俪植⒈缓诳陀脕?對(duì)其他人發(fā)起 DDoS 攻擊:
- 注意網(wǎng)絡(luò)上的解析器——不需要的 DNS 解析器應(yīng)該關(guān)閉。合法的解析器應(yīng)該放在防火墻后面,不能從組織外部訪問。
- 嚴(yán)格限制對(duì)名稱服務(wù)器的訪問——應(yīng)使用物理安全、多因素訪問、防火墻和網(wǎng)絡(luò)安全措施。
- 采取措施防止緩存中毒——使用隨機(jī)源端口、隨機(jī)查詢ID、隨機(jī)大小寫域名。
- 立即修補(bǔ)已知漏洞——黑客主動(dòng)搜索易受攻擊的 DNS 服務(wù)器。
- 將權(quán)威名稱服務(wù)器與解析器分開——不要在同一臺(tái)服務(wù)器上運(yùn)行兩者,因此對(duì)任何一個(gè)組件的 DDoS 攻擊都不會(huì)摧毀另一個(gè)組件。
- 限制區(qū)域傳輸——從名稱服務(wù)器可以請(qǐng)求區(qū)域傳輸,這是您的 DNS 記錄的部分副本。區(qū)域記錄包含對(duì)攻擊者有價(jià)值的信息。
最終用戶的緩解措施
最終用戶可以通過更改路由器密碼、安裝防病毒軟件和使用加密的 VPN 通道來保護(hù)自己免受 DNS 劫持。如果用戶的 ISP 劫持了他們的 DNS,他們可以使用免費(fèi)的替代 DNS 服務(wù),例如 Google Public DNS、Google DNS over HTTPS 和 Cisco OpenDNS。

網(wǎng)站所有者的緩解措施
使用域名注冊(cè)商的網(wǎng)站所有者可以采取措施避免 DNS 重定向其 DNS 記錄:
- 安全訪問——訪問 DNS 注冊(cè)商時(shí)使用雙因素身份驗(yàn)證,以避免妥協(xié)。如果可能,定義允許訪問 DNS 設(shè)置的 IP 地址白名單。
- 客戶端鎖定——檢查您的 DNS 注冊(cè)商是否支持客戶端鎖定(也稱為更改鎖定),這可以防止在未經(jīng)指定個(gè)人批準(zhǔn)的情況下更改您的 DNS 記錄。
- DNSSEC——使用支持 DNSSEC 的 DNS 注冊(cè)商,并啟用它。DNSSEC 對(duì) DNS 通信進(jìn)行數(shù)字簽名,使黑客更難(但并非不可能)攔截和欺騙。
- 使用 Imperva 的 名稱服務(wù)器保護(hù) — 一種基于 Imperva 的全球 CDN 提供安全 DNS 代理網(wǎng)絡(luò)的服務(wù)。每個(gè) DNS 區(qū)域接收備用名稱服務(wù)器主機(jī)名,以便所有 DNS 查詢都重定向到 Imperva 網(wǎng)絡(luò)。該服務(wù)不僅可以防止 DNS 劫持和中毒,還可以防止針對(duì)您的 DNS 基礎(chǔ)設(shè)施的分布式拒絕服務(wù)攻擊(DDoS 攻擊)。






