DNS 放大攻击是一种极具破坏性的分布式拒绝服务(DDoS)攻击手段。其主要利用了域名系统(DNS)服务器的特性,通过向 DNS 服务器发送大量伪造的查询请求,将攻击流量放大后导向目标服务器,从而使目标服务器因无法承受巨大的流量冲击而瘫痪。
这种攻击方法之所以能够得逞,是因为 DNS 协议中存在请求与响应大小的差异。通常情况下,DNS 请求包较小,一般在几十字节到几百字节之间,而 DNS 服务器的返回包则可能从几百字节到几千字节不等,尤其是当响应包含多个记录时。攻击者正是利用了这一特点,伪造目标服务器的 IP 地址,向开放的 DNS 解析器发送大量查询请求。这些开放的 DNS 解析器在接收到请求后,会向伪造的目标 IP 地址发送较大的响应包,从而导致目标服务器接收到大量的流量,造成拒绝服务。
据相关数据显示,87% 的受访者曾受到 DNS 攻击的影响,而 DNS 攻击造成的平均损失约为 95 万美元。DNS 放大攻击作为一种流行的 DDoS 攻击形式,攻击者通常会向公共 DNS 服务器发送 DNS 名称查询,使用受害者的地址作为源地址,导致公共 DNS 服务器的响应都被发送到目标系统。通过使用僵尸网络,攻击者可以毫不费力地生成大量虚假 DNS 查询,进一步加剧了攻击的破坏力。
二、攻击原理与过程
(一)DNS 协议特性
DNS(Domain Name System,域名系统)是互联网的一项基础服务,负责将人类可读的域名转换为机器可读的 IP 地址。然而,在设计之初,DNS 协议并未充分考虑安全性,存在一些可被恶意利用的特性。例如,DNS 请求通常是小数据包,可能只有几十字节,而响应数据包的大小则通常远大于请求包,尤其是当响应包含多个记录时,可能有几百字节甚至几千字节。此外,DNS 解析器通常会对任何接收到的请求进行响应,而不会验证请求的真实性,这为攻击者提供了可乘之机。
(二)攻击过程
- 伪造请求:攻击者首先构造一个带有伪造源 IP 地址的 DNS 查询请求。这个伪造的源 IP 地址通常是目标服务器的 IP 地址。据统计,攻击者可以在短时间内生成大量伪造请求,每秒可达数千甚至数万次。
- 发送到开放解析器:攻击者将这些伪造的 DNS 请求发送到一个开放的 DNS 解析器,也称为递归 DNS 服务器。这些解析器会对任何接收到的 DNS 请求进行响应,而不会验证请求的真实性。开放的 DNS 解析器数量众多,攻击者可以轻松找到它们并利用其进行攻击。
- 利用放大效应使目标服务器过载:由于 DNS 响应的数据量通常远大于查询请求的数据量,这就形成了 “放大” 效应。攻击者可以利用这种放大效应,通过少量的请求产生大量的响应流量。这些大量的 DNS 响应流量会被发送到伪造的源 IP 地址,即目标服务器。目标服务器在处理这些大量无效的 DNS 响应时,会消耗大量的系统资源,如 CPU 和内存资源。当资源被过度消耗时,正常的服务无法提供,从而实现 DDoS 攻击的效果。极端情况下,可能导致服务器完全瘫痪,无法提供任何服务。
三、攻击案例分析
(一)某运营商枢纽节点攻击事件
2015 年 6 月 15 日上午,某运营商枢纽节点 DNS 网络中防火墙会话数接近饱和,域名专项防护系统报警有 DDoS 攻击告警,监测发现域名解析延时增大,严重影响了 DNS 业务的正常运行。绿盟科技服务团队接报后立即启动应急响应机制。
攻击主要是攻击源向枢纽节点 DNS 发送大量小字节的针对美国黑客网站
defcon.org 域名的 ANY 查询请求,从而使得 DNS 服务器返回大量大字节的数据包。攻击源大部分来自运营商某范围内的互联网专线 IP。从 15 日凌晨至 19 日,攻击一直在持续,初步统计此次攻击流量至少在 10G 以上。攻击在短时间内发起了峰值大于 6Gbps 的查询请求,造成某运营商枢纽 DNS 递归服务器延迟增大,核心解析业务受到严重影响。
绿盟科技本地服务团队开启防护系统的流量牵引注入策略,启动 “流量牵引和注入” 对攻击流量进行 “清洗”,同时采用模式匹配(7 层阻断)对其来自对
defcon.org 的域名解析请求的数据包进行丢弃。最终,在 6 月 19 日下午,在流量清洗和模式匹配的防护下,某运营商其 DNS 域名解析正常。
(二)其他案例
来自网络安全公司 Nexusguard 的研究人员表示,在过去三个月里,他们发现 DNS 放大攻击增加了 1000%。多个美国政府领域甚至 PayPal 都受到了攻击。本季度的平均攻击持续时间超过 3 小时,最长的一次持续了 28 天。超过 35%的攻击来自美国或中国,越南和俄罗斯排在第三和第四位。
在经典 DNS DDOS 攻击事件分析中,2014 年 12 月 10 至 12 月 19 日国内出现大规模针对运营商 DNS 网络的恶性 DDoS 攻击事件,当时的攻击者就是通过肉鸡对国外游戏厂商的域名随机查询进行拒绝服务攻击,造成各省的 DNS 递归服务器延迟增大,核心解析业务受到严重影响。
这些案例充分展示了 DNS 放大攻击的广泛性和严重性,让人们更加深刻地认识到这种攻击方式的危害。
四、攻击危害
(一)带宽占用
DNS 放大攻击会极大地占用大量带宽资源。由于攻击者利用开放的 DNS 解析器向目标服务器发送大量的 DNS 响应流量,这些响应数据包会在网络中传输,占据大量的带宽。例如,一个查询请求可能只有几十字节,但对应的响应可能有几百字节甚至几千字节。如果攻击者发送大量的伪造请求,就会产生海量的响应数据包,这些数据包会在网络中传输,导致正常网络访问变得缓慢甚至无法访问。据统计,一次大规模的 DNS 放大攻击可能会占用数百兆甚至数吉比特的带宽资源,严重影响其他正常网络业务的运行。
(二)资源消耗
服务器在处理大量无效 DNS 响应数据包时,会消耗大量的 CPU 和内存资源,对正常运行造成严重影响。当大量的 DNS 响应数据包到达目标服务器时,服务器需要花费大量的计算资源来处理这些数据包。CPU 需要对数据包进行解析、判断和处理,而内存则需要存储这些数据包以及相关的处理信息。这会导致服务器的资源被过度占用,影响正常业务的处理能力。例如,在某一案例中,受到 DNS 放大攻击的服务器 CPU 使用率从正常情况下的 30% 飙升至 90% 以上,内存使用率也大幅增加,导致正常的服务响应时间延长,甚至出现服务中断的情况。
(三)服务中断
在极端情况下,DNS 放大攻击可能导致服务器完全瘫痪,无法提供任何服务。当服务器接收到大量的 DNS 响应数据包时,系统资源会被迅速耗尽。如果攻击持续进行,服务器可能无法处理任何正常的请求,从而导致服务中断。这种情况对于依赖网络服务的企业和个人来说是极其严重的,可能会导致业务停滞、经济损失以及用户体验下降。例如,在一些受到严重 DNS 放大攻击的案例中,目标服务器完全无法响应任何请求,持续时间长达数小时甚至数天,给受影响的组织带来了巨大的损失。
五、防御措施
(一)网络层面防护
- 限制 UDP 流量:由于 DNS 放大攻击主要利用 UDP 协议进行,因此可以通过防火墙或路由器限制来自外部的 UDP 流量,特别是目标端口为 53(DNS 服务端口)的流量。例如,设置防火墙规则,只允许特定来源的 UDP 数据包通过,或者限制 UDP 数据包的大小,防止过大的数据包进入网络。这样可以有效地减少潜在的攻击流量,降低 DNS 放大攻击的风险。
- 启用 DDoS 保护服务:许多云服务提供商和 IDC 都提供 DDoS 保护服务。这些服务可以自动检测并过滤掉恶意的 DDoS 流量,确保正常流量的畅通无阻。例如,Cloudflare 等专业的 DDoS 防护服务,能够实时监测网络流量,一旦发现异常流量,立即采取措施进行过滤和清洗,将正常的访问请求分发给服务器进行业务处理。
(二)应用层面优化
- 使用 DNSSEC:DNSSEC(DNS Security Extensions)是一种用于增强 DNS 安全性的扩展。它可以防止 DNS 缓存投毒攻击,并减少 DNS 放大攻击的风险。DNSSEC 通过数字签名的方式保证 DNS 数据的完整性和真实性,防止攻击者篡改 DNS 记录。当启用 DNSSEC 后,DNS 服务器在响应查询时会附带数字签名,客户端可以验证这些签名的有效性,确保接收到的 DNS 数据是来自可信的源。
- 优化 DNS 配置:合理配置 DNS 服务器,限制递归查询的范围和速率,以减少被恶意利用的可能性。例如,可以设置 DNS 服务器只接受来自特定 IP 地址或网络范围的查询请求,或者限制每个 IP 地址在一定时间内的查询次数。此外,还可以调整 DNS 服务器的缓存策略,及时清理过期的缓存记录,减少缓存中毒的风险。
(三)其他措施
- 正确配置防火墙和网络容量:设置防火墙规则,过滤异常 DNS 流量,如源端口为 53 的 UDP 包。可以通过防火墙的深度包检测功能,识别和过滤掉可能的恶意 DNS 查询请求。同时,根据实际业务需求,合理规划网络容量,确保在遭受攻击时能够有足够的带宽和资源来处理正常的业务流量。
- 增大链路带宽:提高网络的抗压能力,减少因流量过载而造成的服务中断。增加链路带宽可以在一定程度上缓解 DNS 放大攻击带来的压力,但这只是一种临时的解决方案,不能完全依赖。
- 限制 DNS 解析器:限制 DNS 解析器仅响应来自可信源的查询,或关闭递归查询功能。如果 DNS 解析器只响应来自可信源的查询,攻击者就难以利用其进行放大攻击。同时,关闭递归查询功能可以减少 DNS 服务器的负载,降低被攻击的风险。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。