CDN加速

DNS放大攻击详解 DNS放大攻击防护

DNS放大攻击详解 DNS放大攻击防护

发布时间:2025-03-20 16:38:56   来源:加趣云-CDN加速专家 关键词:DNS放大攻击

DNS 放大攻击的含义

域名系统 (DNS) 增强攻击是众多分布式拒绝服务 (DDoS) 攻击之一。与其他此类攻击非常相似,攻击者的目标是通过延迟响应或彻底禁用来阻止用户使用特定服务、应用程序、网站、服务和类似资源。大多数 DDoS 攻击都是容量攻击,这意味着攻击企业的流量超过其可能处理的流量。想象一下在前往体育场观看表演或比赛时六车道高速公路上的交通堵塞情况。成千上万的车辆同时涌入高速公路并试图进入体育场。

DNS 放大攻击采用多种技术和策略来实现类似的目的或目标。与州际公路上的数千辆汽车不同,六辆长卡车可以堵塞所有交通。在这里,交通流量的阻碍不是由数千辆汽车,而是由几辆大型汽车。这种想法类似于 DNS 攻击中采用的想法。虽然许多 DDoS 攻击通过使用正常大小的数据包压倒系统来迷惑系统,但 DNS 放大攻击可以通过使用更大的数据包来实现类似的效果。

了解 DNS 放大攻击的工作原理

在 DNS 放大攻击中,外部威胁利用域名系统 (DNS) 的正常功能并将其转变为攻击相关用户的武器。攻击者的目标是用伪造的 DNS 命令淹没网站,从而耗尽公司的带宽,直到网站瘫痪。

要了解攻击是如何发生的,我们必须研究 DNS 的工作原理。当用户将www.example.com输入程序时,DNS 是一个网络访问,它会接受该请求,查找与域名相关的 IP 地址,并将其发送回程序以完成交互。这样,用户现在就可以连接到该网站了。

查找该位置有一个特定的过程,首先是客户端的设备检查其本地缓存;如果未找到,则询问指定的互联网服务提供商 (Isp) 的 DNS 解析器;如果未找到,则继续通过互联网上的 DNS 解析器命令链,直到找到 IP 地址。在内部,企业通常只为其员工发送 DNS 请求,但互联网上充满了“公开的”、可自由使用的 DNS 解析器,它们会为任何人(包括攻击者)解决 DNS 请求。利用这些公开的解析器,攻击者可以发送许多虚假请求而不会发出任何警告。

总而言之,攻击者接下来会做什么?增强。请记住,他们可能会将通常很小的 DNS 请求转换为巨大的响应。普通的 DNS 请求(只有几行文本)很小 — 通常是几个字节 — 并返回稍大一些的响应。

为了实现其目的,攻击者会以一种大大增加响应大小的方式创建 DNS 请求。其中一种方法是不仅提及www.example.com 等网站的 IP 地址,还提及有关整个域的信息(例如,使用记录类型“ANY”的 DNS 请求),因此响应可能包含有关子域、备份服务器、邮件服务器、假名等详细信息。突然之间,一个 10 字节的 DNS 请求可能会产生 10 倍、20 倍甚至 100 倍的响应。

UDP 在 DNS 放大攻击中的作用

这个循环的重点是什么?DNS 响应被发送回攻击者,而不是目标。这是用户数据报协议 (UDP) 为攻击者提供一些帮助的地方。

如果考虑到每天互联网上产生的数以万亿计的 DNS 请求,DNS 交换必须以闪电般的速度进行。DNS 依靠 UDP 来实现这一点。它之所以快,是因为它的主要任务是在源和目标之间来回传递消息;它不执行其他任务,例如确保交付或批准数据。它之所以快,还因为它是一种无连接协议,这意味着它不监控“会话”,因此它无法知道请求中的源 IP 地址是否有效。

因此,攻击者在 DNS 请求中将源 IP 地址伪造(伪装)为目标 IP 地址。这种方法有助于攻击者的身份,并确保 DNS 解析器的所有响应都将发送到受害者的系统而不是攻击者的系统。因此, DNS 解析器充当反射器,将响应“返回”给受害者,而无需任何解释。

另一种方法是,设想有人通过在不同网站上发布虚假的招聘广告并在联系信息中发布目标受害者的电子邮件地址来欺骗受害者。如果广告管理部门不验证申请人的信息,则从未发布广告的相关人员很快就会收到大量不良电子邮件回复。“增强版”将要求感兴趣的人做出回应,并列出资格、照片、工作和品行证明、中学和大学记录、个人研究信息等。“回复”消息会很大。

为了成功,攻击者需要发送多个 DNS 查询,并且可能会使用多个 DNS 解析器进行攻击。这种攻击的优点是它不需要攻击者方拥有太多资源 — 不需要僵尸网络(尽管攻击者可以使用)。攻击者只需投入少量精力和资源,就可以创建 DNS 请求,以足够的流量攻击受害者的网站,从而基本削弱其性能或完全关闭它。

超载卡车上路模拟的一个缺陷是,UDP 数据包在一定大小时太大,如果不进行拆分,甚至无法进行通信。因此,虽然攻击者能够在数据包达到一定大小时全面增强 DNS 响应,但它们将被拆分成更小的数据包。但攻击的最终结果仍然没有改变——受害者的系统仍然会超负荷,因为它必须处理这些拆分的数据包并重新组装它们。另一个同样重要的问题是,这种攻击需要攻击者投入相当少的资源。

虽然 DNS 强化攻击相对容易识别(因为受害者突然被来自单个恶意 IP 地址的流量淹没),但由于同样的原因,攻击者的身份几乎很难识别——因为源 IP 地址是虚构的。攻击者很容易进行这些攻击,因为互联网上有如此多的免费 DNS 解析器(有些在某个时间点有数百万个),而攻击者的真实身份仍然隐藏着。因此,这些攻击正在增加知名度,不幸的是,任何网站或互联网上可用的服务都可能是潜在目标。

如何区分DNS放大攻击?

虽然识别 DNS 反射攻击中使用的域名解析器并不困难,因为弱点不是由配置错误引起的,但有一些常用的选项可以识别开放递归解析器。一些组织提供免费的 DNS 放大攻击检测工具,可以扫描网络中是否存在薄弱的开放 DNS 解析器。这些工具将扫描整个网络层并列出任何已知的开放解析器的位置。

开放 DNS 解析器项目

开放 DNS 解析器项目已经收集了一份 DNS 解析器列表,这些解析器被称为国际开放 DNS解析器。查询界面允许网络管理员以 CIDR 格式输入 IP 地址。

测量工厂

http://dns.measurement-factory.com

与开放 DNS 解析器项目一样,Measurement Factory 保存了 Internet 上可用的 DNS 解析器列表,并允许管理员搜索开放递归解析器。此外,Measurement Factory 还提供免费工具来测试单个 DNS 解析器以确定其是否允许开放递归。这将允许管理员确定是否需要更改配置并确认配置更改已成功。最后,该网站提供了显示不同自治系统 (AS) 网络上发现的公共解析器数量的信息,按发现的最高数量排序。

DNS检查

https://dnsinspect.com/

另一个可以免费使用的用于测试 DNS 解析器的电子设备是 DNSInspect。该网站类似于 The Measurement Factory 评估单个解析器弱点的功能,但提供了测试整个 DNS 区域是否存在其他一些可能的设置和安全问题的功能。

指针

在典型的递归 DNS 查询中,客户端向本地 DNS 代理发送查询请求,其中提及域名的目的地或 IP 地址的反向目的地。DNS 代理根据客户端的利益执行关键查询,并返回包含所提及信息或错误的响应包 [6,第 21 页]。该解决方案不考虑自发响应。在 DNS 强化攻击中,主要标记是未与请求匹配的查询响应。‍

公司如何防御 DNS 放大攻击

尽管 DNS 强化攻击会导致拒绝管理,但它们无法像传统 DDoS 攻击那样得到防范(例如,通过阻止特定的源 IP 地址),因为源流量似乎是真实的,来自大型、公开可用的 DNS 解析器。(阻止来自公开解析器的所有流量可能会阻止一些真实的请求。)然而,组织可以找到方法来帮助防范此类攻击。

  • 出站安全

首先,协会应确保所有用户(从服务器到物联网设备)都使用本地内部 DNS 服务器,这些服务器的设计仅用于处理协会内部的 DNS 请求。最后,任何未从这些内部服务器发出的 DNS 流量都不应离开协会网络。

许多攻击(如 DDoS)都是可能的,因为企业防火墙允许流向 Internet 的流量使用伪源 IP 地址。通常,在将流量发送到另一个系统时,内部(有网络)设备(PC、打印机、服务器等)会有一个内部源 IP 地址,即与内部网络匹配的 IP 地址。然而,由于设备受到感染,攻击者可能会使用公共 IP 地址作为伪源发送流量。设计不良的边缘防火墙可能会允许此流量不受控制地传递到 Internet。组织应确保从其组织开始流向 Internet 的所有流量都具有属于内部组织的源 IP 地址。

  • 入站安全

进入组织网络的任何 DNS 响应都应限于处理出站请求的 DNS 服务,而不应限于其他端点。这样,组织就可以阻止任何不限于这些 DNS 服务 的 DNS 响应。使用支持 DNS 的防火墙也可以提供帮助,因为它只允许从组织的本地 DNS 服务发送的请求返回到组织。总之,收到的每个响应都应该与 DNS 请求进行协调,这样可以防止高峰时段拥堵。

协会还可以使用 DNS Anycast,它将 DNS 流量分散到不同位置的服务器之间,有效地对 DNS 流量进行负载调整,以确保任何单个服务器都不会超负荷。

除上述情况外,如果来袭流量的规模正在淹没公司网络,则网络应与其 ISP 密切合作,以阻止上游流量。虽然 ISP 解决方案通常最便宜,但它们通常是最不灵活的。因此,许多网络选择使用第三方 DDoS 安全(扫描)服务,这增加了在攻击袭击网络之前阻止攻击的可能性。‍

DNS 放大攻击防护

不幸的是,由于这些攻击会产生巨大的流量,受害者通常无法抵御大规模 DNS 强化的分布式拒绝服务攻击。不过,可以减少攻击者用来产生流量的服务器数量。

虽然消除此类攻击中递归解析器使用的唯一可行方法是消除不稳定的递归解析器,但这需要各方的广泛努力。根据开放 DNS 解析器项目,在互联网上已知的 2700 万个 DNS 解析器中,约有“2500 万个存在严重风险”,有可能被用于攻击。但是,有几种潜在的方法可以降低此类攻击对整个互联网社区的总体可能性。在可能的情况下,已提供设计链接以帮助管理员进行建议的更改。配置信息仅限于 BIND9 和 Microsoft 的 DNS 服务器,这是政府机构中两个最常用的 DNS 服务器。如果您正在运行其他 DNS 服务器,请参阅供应商的文档以了解配置详细信息。

  1. 源 IP 验证

由于攻击者控制的用户发送的 DNS 查询必须具有伪造的源地址以显示为受害者的系统,因此降低 DNS 强化可能性的第一步是互联网服务提供商使用伪造地址阻止任何 DNS 流量。互联网工程任务组的网络工作组于 2000 年 5 月发布了最佳实践 38 报告,并于 2004 年 3 月发布了最佳实践 84 报告,其中描述了互联网服务提供商如何引导其网络上的网络流量以阻止无法通过原始数据包路径访问源地址的数据包。本文中建议的改进将使引导系统评估是否可以使用发送数据包的接口到达数据包的源地址。如果不可能,则数据包具有伪造的源地址。这种设置更改将大大降低最常见的DDoS 攻击类型的可能性。因此,我们强烈建议所有有组织的管理员尽可能执行网络入口筛选。

2. 权威域名服务器上的严重递归

目前互联网上部署的大多数 DNS 服务器仅用于为单个域提供域名解析。在这些系统中,专用客户端系统的 DNS 解析可以由其他服务器提供,而专用服务器仅充当外部客户端的域信息的 DNS 源。这些系统无需为客户端支持其他域的递归解析,并且应在禁用递归的情况下进行设置。

3. 将递归限制到授权客户端

对于在组织或互联网服务提供商内部部署的 DNS 服务,解析器应设置为仅对授权用户执行递归查询。这些请求通常应仅来自组织组织地址范围内的用户。我们强烈建议所有服务主机将递归限制在组织组织内的用户。

4. 反应速率限制(RRL)

目前,BIND9 补丁包中有一个测试功能,允许主机限制每秒从指定服务器向一个客户端发送的最大响应数。该功能计划用于合法域名服务器,因为它会影响递归解析器的性能。为了提供最佳安全性,我们建议合法域名服务器和递归域名服务器在不同的系统上运行,在最终服务器上执行 RRL,在递归服务器上执行访问控制记录。这将通过减少来自任何单个合法服务器的流量来降低 DNS 强化攻击的可能性,同时不影响内部递归解析器的性能。‍

猜你喜欢