互聯(lián)網(wǎng)上每一臺設(shè)備都會有一個 IP 地址,我們在訪問網(wǎng)站或發(fā)送信息時,其實都是通過 IP 地址達(dá)成準(zhǔn)確請求的。但是這個 IP 地址由很長一串?dāng)?shù)字組成,記憶起來相當(dāng)困難,所以我們創(chuàng)造了更實用的域名來代替 IP 地址。而如何將域名和 IP 地址聯(lián)系起來,就是域名系統(tǒng)(DNS)發(fā)揮作用的地方。它由各種名稱服務(wù)器(即 DNS 服務(wù)器)組成,負(fù)責(zé)域名解析,幫助客戶端建立聯(lián)系,是網(wǎng)絡(luò)中最重要的服務(wù)之一。
名稱服務(wù)器和客戶端之間的通信存在一定的安全風(fēng)險,部分心懷不軌的人可以通過很多方法篡改 Internet 上的名稱解析。本文要講的 DNS 欺騙,就是通過虛假的 IP 地址發(fā)起欺騙攻擊。
什么是 DNS 欺騙?
DNS 欺騙是指 DNS 名稱解析被篡改,特別容易出現(xiàn)的 DNS 欺騙是偽造域名的 IP 地址。這是因為 DNS 解析主要在內(nèi)部系統(tǒng)進(jìn)行,而瀏覽器中顯示的是正確的域名,所以用戶通常不會注意到被篡改。具體操作為,惡意者讓 DNS 請求會返回一個虛假的 IP 地址,當(dāng)客戶端與假 IP 地址建立連接時,用戶就會被重定向到假的服務(wù)器。簡單舉個例子:

下圖是客戶端在連接到網(wǎng)站 example.com 過程中被欺騙的案例示意圖:

(圖片來源于互聯(lián)網(wǎng),如有侵權(quán)請聯(lián)系我們刪除)
d1:客戶端首先從 DNS 服務(wù)器請求主機(jī)名 example.com 的 IP 地址。
d2:客戶端收到了請求的響應(yīng),但它返回了一個虛假的 IP 地址。未與 example.com 真正的服務(wù)器建立連接。
h1:客戶端將請求發(fā)送到偽造 IP 地址后面的惡意主機(jī)。
h2:惡意主機(jī)將看似合法的網(wǎng)站頁面返回給客戶端。但是,惡意主機(jī)上缺少該域名的安全證書。
A、B、C:這些是 DNS 欺騙的不同攻擊點:在客戶端或本地路由器上、在網(wǎng)絡(luò)連接上以及在 DNS 服務(wù)器上。
DNS 欺騙會帶來哪些威脅?
攻擊者使用 DNS 欺騙進(jìn)行網(wǎng)絡(luò)釣魚和域名欺騙攻擊,目的是攔截互聯(lián)網(wǎng)上的用戶數(shù)據(jù)。因為 DNS 欺騙會影響客戶端建立的每一個連接。無論是訪問網(wǎng)站還是發(fā)送電子郵件,若相關(guān)服務(wù)器的 IP 地址被篡改,目的都是讓受害者相信他們最終訪問了一個合法的地址,并利用受害者的信任引誘下載惡意軟件并感染系統(tǒng),進(jìn)而竊取敏感的用戶數(shù)據(jù)。
DNS 欺騙會帶來以下風(fēng)險:
機(jī)密數(shù)據(jù)盜竊:網(wǎng)絡(luò)釣魚用于竊取密碼等敏感數(shù)據(jù)。這些方法通常用于入侵計算機(jī)系統(tǒng)或進(jìn)行各種詐騙。
系統(tǒng)惡意軟件感染:受害者被誘騙在自己的系統(tǒng)上安裝惡意軟件,為進(jìn)一步的攻擊打開了大門。
收集用戶資料:在此過程中收集個人數(shù)據(jù),進(jìn)行出售或用于其他有針對性的網(wǎng)絡(luò)釣魚攻擊。
可構(gòu)成持續(xù)威脅:遭遇 DNS 欺騙,被篡改的 DNS 響應(yīng)信息可能會保留在緩存中,在較長時間內(nèi)進(jìn)行欺騙。
在 2020 年春季 COVID-19 流行期間,國外就發(fā)生過 DNS 欺騙攻擊。攻擊者劫持了路由器的 DNS,篡改成了惡意的 IP 地址。受害者的瀏覽器會自行打開并顯示一條消息,提示他們下載據(jù)稱來自世界衛(wèi)生組織 (WHO) 的“COVID-19 通知應(yīng)用程序”。但其實,該軟件是木馬軟件。如果受害者安裝了木馬軟件,它會搜索本地系統(tǒng)并嘗試訪問敏感數(shù)據(jù),用于針對受害者的網(wǎng)絡(luò)釣魚攻擊。

△ 宣傳虛假 COVID-19 信息應(yīng)用程序的 Msftconnecttest 頁面
不過 DNS 欺騙并不都是惡意攻擊,一些互聯(lián)網(wǎng)服務(wù)提供商(ISP) 偶爾也會通過 DNS 欺騙的手段來審查或投放廣告。例如,ISP 可以故意操縱其 DNS 表以實施國家審查的要求。這樣做可以禁止用戶訪問違規(guī)網(wǎng)站,當(dāng)用戶訪問被禁止的域名時,將會被重定向到警告頁面。DNS 欺騙也可以幫助收集用戶數(shù)據(jù),或通過重定向的方式來投放廣告。比如用戶進(jìn)入不存在或拼寫錯誤的域名時,ISP 使用 DNS 欺騙將用戶重定向到特定頁面,此頁面可能會播放廣告或創(chuàng)建用戶配置文件。
如何免受 DNS 欺騙?
DNS 作為影響信息安全的一類威脅,我們需要對 DNS 欺騙保持戒心。我們可以采取加密措施的手段有效地防止 DNS 欺騙。加密方法通常具有兩個關(guān)鍵優(yōu)勢:
保護(hù)數(shù)據(jù)免受第三方未經(jīng)授權(quán)的訪問
保證了通信雙方的真實性
針對網(wǎng)站管理員的方式來說,可用的加密方式有網(wǎng)站域名開啟強(qiáng)制 HTTPS,電子郵件客戶端中配置的連接(例如 IMAP、POP3 和 SMTP )使用安全協(xié)議TLS 和 SSL。這類加密可以保護(hù)請求中的數(shù)據(jù)傳輸,如果攻擊者試圖冒充正常的主機(jī),客戶端就會出現(xiàn)證書錯誤的提示,減少受到 DNS 欺騙的可能。
DNS 服務(wù)器間的連接還可以通過DNSCrypt、DNS over HTTPS(DoH)和 DNS over TLS(DoT)這些技術(shù),減少危險的中間人攻擊。但需要注意的是,這三種解決方案的應(yīng)用不是很普遍,DNS 服務(wù)器必須支持相應(yīng)的安全技術(shù),才能使用這三種方式進(jìn)行加密工作。

上面提到的是管理員可以做的加密方式,對于用戶來說,我們可以使用公共 DNS 來避免 DNS 欺騙。設(shè)置非常簡單,直接在系統(tǒng)的 “網(wǎng)絡(luò)設(shè)置” 中更改 DNS 地址即可。公用的 DNS 除了可以應(yīng)對 DNS 欺騙,還可以加快解析響應(yīng)速度。同時大型的公共 DNS 通常會使用先進(jìn)的安全技術(shù),例如 DNSSEC(DNS 安全擴(kuò)展)、DoH、DoT 和 DNSCrypt。常見的公共 DNS 有 114DNS 的 114.114.114.114,純凈無劫持;Google 的 8.8.8.8 、Quad9 的 9.9.9.9,均支持 DNSSEC。
關(guān)于 DNS 欺騙相關(guān)的暫時就講到這了,看完這篇文章希望能幫助大家更好地保護(hù)自己的信息安全。