DNS 放大攻击

DNS 放大是 DDoS 攻击的一种,它利用 DNS 解析器产生大量流量,使受害者不堪重负。

Share facebook icon linkedin icon twitter icon email icon

DNS 放大攻击

学习目标

阅读本文后,您将能够:

  • 定义 DNS 放大攻击
  • 说明 DNS 放大攻击的工作原理
  • 了解 DNS 放大攻击的几种缓解策略

什么是 DNS 放大攻击?

这种 DDoS 攻击是基于反射的大规模分布式拒绝服务 (DDoS) 攻击,其中,攻击者利用开放 DNS 解析器的功能产生大量流量,使目标服务器或网络不堪重负,导致服务器及其周围基础设施无法访问。

DNS 放大攻击的工作原理

所有放大攻击都利用攻击者和目标 Web 资源之间的带宽消耗差异。当许多请求的成本差异被放大时,由此产生的巨大流量可以破坏网络基础设施。通过发送导致大型响应的小型查询,恶意用户可以凭借更少的资源消耗获取更大利益。通过让僵尸网络中的每个机器人提出相似的请求使放大倍增,攻击者既可以躲避检测,又会获得攻击流量大幅增加的好处。


一个 DNS 放大攻击中的一个机器人就好比是一个心怀恶意的青少年打电话给一家餐厅说“我要菜单上的东西每样来一份,请给我回电话并告诉我整个订单的信息”。当餐厅询问回叫号码时,他却给出目标受害者的电话号码。然后,目标会收到来自餐厅的呼叫,接到他们未请求的大量信息。


由于每个机器人向开放 DNS 解析器提出请求时都提供欺骗性 IP 地址,也就是目标受害者的真实源 IP 地址,目标随后会收到来自 DNS 解析器的响应。为了产生大量流量,攻击者在构造请求时,会以让 DNS 解析器产生尽可能大响应为目的。因此,目标接收攻击者的初始流量的放大结果,而其网络则被虚假流量堵塞,导致拒绝服务

DNS Amplification DDoS Attack Diagram

DNS 放大可分为四个步骤:

  1. 攻击者使用受损的端点将有欺骗性 IP 地址的 UDP 数据包发送到 DNS 重定向器。数据包上的欺骗性地址指向受害者的真实 IP 地址。
  2. 每个 UDP 数据包都向 DNS 解析器发出请求,通常传递一个参数(例如“ANY”)以接收可能的最大响应。
  3. 收到请求后,试图通过响应来提供帮助的 DNS 解析器会向欺骗性 IP 地址发送较大的响应。
  4. 目标的 IP 地址接到响应,并且周围的网络基础设施被大量流量淹没,从而导致拒绝服务。

尽管少量请求不足以导致网络基础设施下线,但是当此序列通过多个请求和 DNS 解析器进行扩展时,目标接收的数据的放大倍数可能会很大。探索更多关于反射攻击的技术详情

如何防护 DNS 放大攻击?

对于运行网站或服务的个人或公司而言,他们的缓解方案非常有限。这是因为尽管个人服务器可能是攻击目标,但并不是容量耗尽攻击主要作用所在的地方。由于攻击产生的大量流量,服务器周围的基础设施会受到影响。Internet 服务提供商(ISP) 或其他上游基础设施提供商可能无法处理传入的流量,变得不堪重负。在这种情况下,该 ISP 可能将所有流量传送到目标受害者的 IP 地址,保护自己,并使目标的网站离线。除 Cloudflare DDoS 保护之类的异地保护服务外,缓解策略主要是预防性 Internet 基础设施解决方案。

减少开放 DNS 解析器的总数

DNS 放大攻击的一个重要组成部分是对开放 DNS 解析器的访问权限。如果 Internet 上有配置不当的 DNS 解析器,那么攻击者仅仅需要找到这种 DNS 解析器即可利用。理想情况下,DNS 解析器应仅向源自受信任域名的设备提供服务。对于基于反射的攻击,开放DNS解析器将响应 Internet 上任何位置的查询,因此有可能被利用。限制 DNS 解析器,使其仅响应来自受信任来源的查询,即可使服务器无法被用于任何类型的放大攻击。

源 IP 验证 - 阻止欺骗性数据包离开网络

由于攻击者的僵尸网络发送的 UDP 请求必须具有指向受害者 IP 地址的欺骗性源 IP 地址,因此,要降低基于 UDP 的放大攻击的有效性,其关键在于 Internet 服务提供商 (ISP)拒绝任何具有欺骗性 IP 地址的内部流量。如果有数据包从网络内部发送,但其源地址看似源于网络外部,则可能是欺骗性的数据包,可以将其丢弃。Cloudflare 强烈建议所有提供商实施入口筛选,并且会不时联系不知情地参与 DDoS 攻击的 ISP 并帮助他们意识到漏洞。

Cloudflare 如何防护 DNS 放大攻击?

有了正确配置的防火墙和足够的网络容量(除非您拥有 Cloudflare 的规模,否则这总是不足够的),阻止 DNS 放大攻击等反射攻击就很简单。尽管攻击将针对单个 IP 地址,但我们的 Anycast 网络会将所有攻击流量分散到不再造成破坏的地步。Cloudflare 能够利用我们的规模优势,将攻击分配到许多数据中心,平衡负载,从而确保服务永不中断,并且攻击也不会使目标服务器的基础设施不堪重负。在最近六个月的时期内,我们的 DDoS 防护系统“Gatebot”检测到 6,329 次简单的反射攻击(相当于每 40 分钟一次),而我们的网络成功地防护了所有攻击。了解有关 Cloudflare 的高级 DDoS 防护的更多信息。