Vulnerability-wiki

协议漏洞 - DNS 漏洞

域名系统(DNS, Domain Name System) 是互联网的基础协议之一,负责将用户可读的域名(如 example.com)解析为机器可读的 IP 地址。然而,由于 DNS 协议设计于互联网早期,缺乏安全性考虑,导致其在现代网络环境中存在诸多安全漏洞,被广泛用于攻击或成为攻击目标。


一、DNS 漏洞的本质

DNS 协议漏洞通常源于以下几个方面:

这些因素共同导致了众多已知的攻击向量。


二、常见 DNS 漏洞类型

1. DNS 缓存投毒(DNS Cache Poisoning)

攻击者向 DNS 解析器注入伪造的记录,使用户访问错误的 IP 地址。

缓解方式

alt text 图 1:缓存投毒攻击的演进历程(截至2024),图片引自 Tudoor 论文 PPT


2. DNS 放大攻击(DNS Amplification Attack)

攻击者通过伪造请求源 IP(受害者 IP)向开放的递归 DNS 服务器发送小请求,服务器返回大响应给受害者,形成反射式 DDoS。或者通过流量聚合等形式,打出超过万倍的流量放大(DNSBomb 攻击 是很经典的时序脉冲攻击,可打出超 2w 倍的流量放大)

图片描述

图 2:DNSBomb 攻击模型示意图,图片引自 DNSBomb: A New Practical-and-Powerful Pulsing DoS Attack Exploiting DNS Queries-and-Responses 论文

另外,域名的错误配置导致解析依赖成环等,也可能导致流量放大攻击,TsuNAME 是非常经典的工作是。

缓解方式


3. DNS 隧道(DNS Tunneling)

攻击者利用 DNS 协议传输恶意数据,实现数据泄露、远程控制等功能。

检测方法


4. DNS Rebinding(DNS 重新绑定攻击)

攻击者将某域名解析为攻击者控制的 IP,再通过 TTL 设置控制其后续解析指向内网 IP,诱导浏览器绕过同源策略访问内网资源。

防御措施


5. DNSSEC 相关漏洞

尽管 DNSSEC 被设计用于防止缓存投毒等问题,但其部署复杂,部分实现存在问题。


6. IDN 欺骗(IDN Homograph Attack)

利用国际化域名(IDN)中相似字符(如 аpple.com 中的 а 是西里尔字母)构造欺骗性域名。

防御方式

图片描述

图 3:恶意的 IDN 域名示例,图片引自 A Reexamination of Internationalized Domain Names: the Good, the Bad and the Ugly 论文

7. 扰乱负载均衡攻击

通过恶意手段干扰或破坏负载均衡设备的正常工作机制,导致服务器资源分配失衡、部分节点过载瘫痪或流量路由异常。 Silence is not Golden 是非常经典的工作,也荣获网络安全顶会 CCS 2023 Distinguished Paper Award. 该工作利用两方面缺陷 —— 权威服务器对非授权域请求 “静默丢弃”(不返回 REFUSED 等响应),以及递归解析器全局共享服务器状态(将某服务器对一个域的无响应状态应用于所有域)。

图片描述

图 4:扰乱负载均衡攻击示意图,图片引自 Silence is not Golden: Disrupting the Load Balancing of Authoritative DNS Servers 论文

三、DNS 漏洞的防御

为了有效防御 DNS欺骗、缓存投毒等攻击,业界提出了多种防御措施:

  1. 传输加密:使用 DNS over HTTPS (DoH) 或 DNS over TLS (DoT) 加密 DNS 流量,防止中间人攻击。

  2. 可认证性:部署 DNSSEC(DNS Security Extensions)为 DNS 回复提供数字签名,确保数据的完整性和真实性。

  3. 查询源端口和 TxID 随机化:增加攻击者伪造 DNS 响应的难度。

  4. 0x20 编码:通过对查询名进行大小写混合编码,增加攻击者伪造 DNS 响应的难度。

而对于 DNS 放大攻击,其本质在于利用 DNS 协议中请求与响应数据量不对等的“放大效应”——即小体积请求可触发大体积响应,攻击者通过大量开放的 DNS 解析器,将流量放大后攻击目标,导致其资源耗尽。因此,DNS 放大攻击难以彻底根除。

值得注意的是,许多具有极大破坏力的 DNS 放大攻击(如 DNSUnchained、NXNSAttack 等)往往利用了协议设计初期对某些行为缺乏限制的漏洞。通过对 DNS 协议实现进行合理限制、优化响应行为和加强安全配置,可以显著降低此类攻击的风险和影响。


结语

DNS 协议作为互联网的“电话簿”,其安全性直接影响整个网络生态。由于其设计初衷并未考虑安全,攻击者不断发掘协议与实现中的漏洞。因此,系统化理解 DNS 协议漏洞、强化监控与响应机制,是保障网络基础设施安全的重要环节。

📝 作者:ahlien,idealeer,TochusC 📧 邮箱:mfs24@mails.tsinghua.edu.cn
🏫 单位:Tsinghua University
📅 最后更新时间:2025-07-27