淺析 DNS 反射放大攻擊


DNS 反射放大攻擊分析

前陣子業務上碰到了 DDOS 攻擊,正好是 DNS 反射型的,之前只是聽過,沒自己處理過,仔細學習了一番之後做點記錄。

簡介

DNS 反射放大攻擊主要是利用 DNS 回覆包比請求包大的特點,放大流量,偽造請求包的源 IP 地址為受害者 IP,將應答包的流量引入受害的服務器。

簡單對比下正常的 DNS 查詢和攻擊者的攻擊方式:

正常 DNS 查詢: 源 IP 地址 -----DNS 查詢----> DNS 服務器 -----DNS 回覆包----> 源 IP 地址

DNS 攻擊: 偽造 IP 地址 -----DNS 查詢----> DNS 服務器 -----DNS 回覆包----> 偽造的 IP 地址(攻擊目標)

分析

從服務器上抓了一些攻擊包,根據這些數據包可以來看看這種攻擊都是什麼特點。

全部是大量的 DNS 響應請求( Response 請求)



通常裡面包含一些不存在或者生僻的域名,經過循環查詢從而放大 DNS 流量



會將將 OPT RR 字段中的 UDP 報文大小設置為很大的值(如 4096)



通過這樣放大了攻擊流量。發送的 DNS 查詢請求數據包大小一般為 60 字節左右,而查詢返回結果的數據包大小通常為 3000 字節以上,因此,使用該方式進行放大攻擊能夠達到 50 倍以上的放大效果。

大量的流量都來自正常的 DNS 服務器

攻擊者通過偽造 IP 向正常的 DNS 服務器發送這些惡意的查詢請求,將流量引入受害者的服務器,受害者查不到攻擊者的真實 IP。

解決方案

如果沒有必要可以關閉 DNS 服務(這完全是廢話,哈哈)如果有 DNS 服務,做好響應限制,DNS 服務不應對互聯網上的域名解析服務,而只響公司內部網絡 DNS 解析請求。限制 DNS 響應數據包大小的閾值,直接丟棄超大的響應數據包。