面對DNS劫持,只能坐以待斃嗎?

阿里巴巴雲原生發表於2021-11-17

作者:白璵
稽核&校對:少焉
編輯&排版:雯燕

DNS 劫持作為最常見的網路攻擊方式,是每個站長或者運維團隊最為頭疼的事情。苦心經營的網站受到 DNS 劫持後,不僅會影響網站流量、權重,還會讓使用者置身於危險之中,洩露隱私造成財產損失。

就是這樣一個簡單到不能再簡單的攻擊方式,在 2009 年製造了轟動全球的“銀行劫持案”,導致巴西最大銀行 Banco Bradesco 銀行近 1% 客戶受到攻擊而導致賬戶被盜。黑客利用寬頻路由器缺陷對使用者 DNS 進行篡改——使用者瀏覽黑客所製作的 Web 頁面,其寬頻路由器 DNS 就會被黑客篡改,由於該 Web 頁面設有巧妙設計的惡意程式碼,成功躲過安全軟體檢測,導致大量使用者被 DNS 釣魚詐騙。

1.png

網站被黑、被歹意映象、被植入垃圾程式碼,現象屢見不鮮,其危害還包括:

  • 釣魚詐騙網上購物,網上支付有可能會被惡意指向別的網站,更加加大了個人賬戶洩密的風險;
  • 網站內出現惡意廣告;
  • 輕則影響網速,重則不能上網。

但面對DNS劫持時,只能束手就擒嗎?

知己知彼,什麼是 DNS?

DNS 即 Domain Name System 的縮寫,域名系統以分散式資料庫的形式將域名和 IP 地址相互對映。簡單的說,DNS 是用來解析域名的,在正常環境下,使用者的每一個上網請求會通過 DNS 解析指向到與之相匹配的 IP 地址,從而完成一次上網行為。DNS 作為應用層協議,主要是為其他應用層協議工作的,包括不限於 HTTP、SMTP、FTP,用於將使用者提供的主機名解析為 IP 地址,具體過程如下:

(1)使用者主機(PC 端或手機端)上執行著 DNS 的客戶端;

(2)瀏覽器將接收到的 URL 中抽取出域名欄位,即訪問的主機名,比如 http://www.aliyun.com/ , 並將這個主機名傳送給 DNS 應用的客戶端;

(3)DNS 客戶機端向 DNS 伺服器端傳送一份查詢報文,報文中包含著要訪問的主機名欄位(中間包括一些列快取查詢以及分散式 DNS 叢集的工作);

(4)該 DNS 客戶機最終會收到一份回答報文,其中包含有該主機名對應的 IP 地址;

(5)一旦該瀏覽器收到來自 DNS 的 IP 地址,就可以向該 IP 地址定位的 HTTP 伺服器發起 TCP 連線。

2.png
(圖片源自網路,僅作示意)

可以看到想要獲取目標網站 IP,除了在本機中查詢行為,還需要第三方伺服器(DNS)參與。但只要經過第三方服務,網路就不屬於可控制範圍,那麼就有可能產生 DNS 挾持,比如獲取的 IP 並不是實際想要的 IP,從而開啟非目標網站。網站在經過本地 DNS 解析時,黑客將本地 DNS 快取中的目標網站替換成其他網站的 IP 返回,而客戶端並不知情,依舊按照正常流程定址建並立連線。如果一些黑客想要盜取使用者賬號及密碼時,黑客可以做跟目標網站一模一樣的木馬頁面,讓使用者登入,當使用者輸入完密碼提交的時候就中招了。

常見 DNS 劫持手段又有哪些?

(1)利用 DNS 伺服器進行 DDoS 攻擊

正常 DNS 伺服器遞迴詢問過程被利用,變成 DDoS 攻擊。假設黑客知曉被攻擊機器 IP 地址,攻擊者使用該地址作為傳送解析命令的源地址。當使用 DNS 伺服器遞迴查詢後會響應給最初使用者。如果黑客控制了足夠規模的肉雞進行上述操作。那麼,這個最初使用者就會受到來自於 DNS 伺服器的響應資訊 DDoS 攻擊,成為被攻擊者。

(2)DNS 快取感染

黑客使用 DNS 請求將資料注入具有漏洞的 DNS 伺服器快取中。這些快取資訊會在客戶進行 DNS 訪問時返回給使用者,把使用者對正常域名的訪問引導到入侵者所設定掛馬、釣魚等頁面上,或通過偽造郵件和其他服務獲取使用者口令資訊,導致客戶遭遇進一步侵害。

(3)DNS 資訊劫持

原則上 TCP/IP 體系通過序列號等多種方式避免仿冒資料插入,但黑客通過監聽客戶端和 DNS 伺服器對話,就可以解析伺服器響應給客戶端的 DNS 查詢 ID。每個 DNS 報文包括一個相關聯的 16 位 ID,DNS 伺服器根據這個 ID 獲取請求源位置。黑客在 DNS 伺服器之前將虛假響應交給使用者,欺騙客戶端去訪問惡意網站。假設當提交給某個域名伺服器域名解析請求的資料包被截獲,然後按黑客的意圖將虛假 IP 地址作為應答資訊返回給請求者。這時,原始請求者就會把這個虛假 IP 地址作為它所要請求的域名而進行連線,顯然它被引導到了別處而根本連線不上自己想要連線的那個域名。

(4)ARP 欺騙

通過偽造 IP 地址和 MAC 地址實現 ARP 欺騙,在網路中產生大量 ARP 通訊量使網路阻塞,黑客只要持續不斷髮出偽造的 ARP 響應包就能更改目標主機 ARP 快取中的 IP-MAC 條目,造成網路中斷或中間人攻擊。ARP 攻擊主要是存在於區域網網路中,區域網中若有一臺計算機感染 ARP 木馬,則感染該 ARP 木馬的系統將會試圖通過"ARP 欺騙”手段截獲所在網路內其它計算機的通訊資訊,並因此造成網內其它計算機的通訊故障。ARP 欺騙通常是在使用者局網中,造成使用者訪問域名的錯誤指向,但在 IDC 機房被入侵後,則也可能出現攻擊者採用 ARP 包壓制正常主機、或者壓制 DNS 伺服器,以使訪問導向錯誤指向。

DNS 劫持對業務造成哪些影響?

一旦被劫持,相關使用者查詢就沒辦法獲取到正確 IP 解析,這就很容易造成:

(1)很多使用者習慣依賴書籤或者易記域名進入,一旦被劫持會使這類使用者無法開啟網站,更換域名又沒辦法及時告知變更情況,導致使用者大量流失。

(2)使用者流量主要是通過搜尋引擎 SEO 進入,DNS 被劫持後會導致搜尋引擎蜘蛛抓取不到正確 IP,網站就可能會被百度 ban 掉。

(3)一些域名使用在手機應用 APP 排程上,這些域名不需要可以給客戶訪問,但這些域名的解析關係到應用 APP 訪問,如果解析出現劫持就會導致應用 APP 無法訪問。這時候更換域名就可能會導致 APP 的下架,重新上架需要稽核並且不一定可以重新上架。這就會導致應用 APP 會有使用者無法訪問或者下載的空窗期。

可以看到,DNS 劫持對業務有著巨大影響,不僅僅是使用者體驗的損失,更是對使用者資產安全、資料安全的造成潛在的巨大風險。

我們該如何監測網站是否被 DNS 劫持?

藉助 ARMS-雲撥測,我們實時對網站進行監控,實現分鐘級別的監控,及時發現 DNS 劫持以及頁面篡改。

3.png

劫持檢測

DNS 劫持監測

利用域名白名單、元素白名單,有效探測域名劫持以及元素篡改情況。在建立撥測任務時,我們可以設定 DNS 劫持白名單。比如,我們配置 DNS 劫持格式的檔案內容為 www.aliyun.com:201.1.1.22|250.3.44.67。這代表 www.aliyun.com 域名下,除了 201.1.1.22 和 250.3.44.67 之外的都是被劫持的。

頁面篡改監測

我們把原始頁面的元素型別加入頁面篡改白名單,在進行撥測時將載入元素與白名單對比,判斷頁面是否被篡改。比如,我們配置頁面篡改的檔案內容為 www.aliyun.com:|/cc/bb/a.gif|/vv/bb/cc.jpg,這代表著 www.aliyun.com 域名下,除了基礎文件 、/cc/bb/a.gif 和 /vv/bb/cc.jpg 之外的元素都屬於頁面被篡改。再比如,我們配置頁面篡改的檔案內容為 www.aliyun.com:*,代表:www.aliyuyn.com 域名下所有的元素都不認為是被篡改。

劫持告警

4.png

在持續監測的同時,及時告警也至關重要。通過靈活配置劫持告警比例,當任務的劫持比例大於閾值,即迅速通知相關運維團隊,對網站進行維護,確保使用者的資料安全以及網站的正常瀏覽。

在提升使用者體驗的同時,確保網站以及使用者資產安全對於企業而言同樣至關重要。

雲撥測為你的網站安全與使用者體驗保駕護航!

關於雲撥測

雲撥測作為面向業務的非侵入式雲原生監測產品,成為最佳的選擇。通過阿里雲遍佈全球的服務網路,模擬真實使用者行為,全天候持續監測網站及其網路、服務、API 埠可用性與效能。實現頁面元素級、網路請求級、網路鏈路級細顆粒度問題定位。豐富的監測關聯項與分析模型,幫助企業及時發現與定位效能瓶頸與體驗暗點,壓降運營風險,提升服務體驗與效能。

5.png

目前雲撥測提供 15 天免費試用
新使用者購買更有 9 折優惠!
點選閱讀原文,瞭解更多詳情!

瞭解更多相關資訊,請掃描下方二維碼或搜尋微訊號(AlibabaCloud888)新增雲原生小助手!獲取更多相關資訊!
二維碼.png

相關文章