DNS 放大攻击是一种极具破坏力的 DDoS 攻击方式。其工作原理主要是利用了 DNS 服务器的特性,即 DNS 响应数据包往往比请求数据包大得多。攻击者首先控制僵尸网络,这些被感染的计算机组成的僵尸网络可以同时向多个开放的 DNS 解析器发送伪造的查询请求。
在请求中,攻击者会伪造源 IP 地址,将其设置为受害者的 IP 地址。开放的 DNS 解析器是配置为接受来自任何 IP 地址的 DNS 请求的服务器,它们不会对请求的来源进行验证。当这些解析器收到伪造的请求后,会按照请求进行处理,并将大量的响应数据发送到受害者的 IP 地址上。
例如,一个简单的 DNS 请求可能只有几十字节,但某些响应(特别是 ANY 查询)可能会返回大量数据,几百到几千字节不等。攻击者通过这种方式,以相对小的请求引发大规模的响应,从而放大攻击流量。
这种攻击对目标服务器的影响巨大。大量的 DNS 响应数据包会占用受害者的带宽资源,导致正常的网络访问变得缓慢甚至无法访问。同时,受害者的服务器需要处理大量的无效 DNS 响应数据包,这会消耗大量的 CPU 和内存资源,影响服务器的正常运行。在极端情况下,可能导致受害者的服务器完全瘫痪,无法提供任何服务。
总的来说,DNS 放大攻击是一种利用 DNS 协议特性和开放 DNS 解析器进行的恶意攻击,给网络安全带来了严重威胁。
二、攻击原理剖析
(一)DNS 服务原理及协议特点
DNS(Domain Name System)是互联网的关键技术之一,它的主要功能是将人类可读的域名转换为机器可读的 IP 地址。当用户在浏览器中输入一个域名时,DNS 服务会通过一系列步骤将其转换为对应的 IP 地址。具体步骤如下:首先,用户的计算机向本地 DNS 服务器发出查询请求;本地 DNS 服务器在自身缓存中查找,如果没有找到,则向根域名服务器发出查询请求;根域名服务器返回一个标明负责该顶级域名的权威域名服务器的 IP 地址;本地 DNS 服务器向权威域名服务器发出查询请求,获取该域名的 IP 地址;最后,本地 DNS 服务器将获取的 IP 地址返回给用户计算机。
DNS 协议主要使用 UDP 和 TCP 协议,常用端口是 53。在一般情况下,DNS 查询请求和响应使用 UDP 协议,当响应报文的长度超过 512 字节时,将转化为 TCP 协议。此外,DNS 协议还具有一些特点,如分布式的协议支持、每一级域名的长度限制是 63、域名总长度限制是 253 等。
检测 DNS 服务是否开放可以借助 DOS 命令中的 ping 命令,格式如 “ping
www.qi9.cn”。在测试 DNS 设置的时候,常常会不成功,这是因为在网络设置里面没有添加 DNS 的地址。可以在 “高级 TCP/IP 设置” 窗口,选择 “DNS” 选项卡,在这里添加 DNS 的 IP 地址。一般是将网关和本机所有的 IP 都添加到其中。
(二)DNS 放大攻击的具体过程
在 DNS 放大攻击中,攻击者首先控制僵尸网络,这些被感染的计算机组成的僵尸网络可以同时向多个开放的 DNS 解析器发送伪造的查询请求。攻击者会伪造目标网站的 IP 地址,将其设置为受害者的 IP 地址。例如,攻击者使用受感染的端点将带有欺骗性 IP 地址的 UDP 数据包发送到 DNS 递归服务器,数据包上的欺骗地址指向受害者的真实 IP 地址。
每个 UDP 数据包都会向 DNS 解析器发出请求,通常会传递一个参数(例如 “ANY”),以接收最大的响应。因为 DNS 响应数据包往往比请求数据包大得多,通过使僵尸网络中的每个僵尸程序都发出相似的请求来倍增此放大倍数,攻击者既不会被检测到,又会从大大增加攻击流量中受益。
收到请求后,DNS 解析器通过响应来尝试提供帮助,它向欺骗的 IP 地址发送较大的响应。目标服务器的 IP 地址会收到响应,并且周围的网络基础架构会被大量的流量淹没,从而导致拒绝服务。尽管一些请求不足以破坏网络基础设施,但是当此序列跨多个请求和 DNS 解析器进行扩展时,目标接收到的数据放大可能会很大,最终到时拒绝服务。
三、攻击案例展示
某运营商枢纽节点 DNS 遭受攻击事件是一个典型的 DNS 放大攻击案例。
(一)事件发生过程2015 年 6 月 15 日上午,某运营商网管中心互联网室通知,其枢纽节点 DNS 服务器疑似遭受 DDoS 攻击。绿盟科技服务团队接报后,立即启动应急响应机制。初步统计此次攻击流量至少在 10G 以上,攻击主要是攻击源向枢纽节点 DNS(*.*29.170)发送大量小字节的针对美国黑客网站
defcon.org 域名的 ANY 查询请求。攻击者控制大量肉鸡发起针对多个域名(主要域名为
defcon.org)的 ANY 放大查询和随机查询攻击,极大地消耗了防火墙的性能。从 15 日凌晨至 19 日,攻击一直在持续。
(二)事件影响此次攻击导致该运营商枢纽节点 DNS 网络中防火墙会话数接近饱和(in use count 达到 900 万),域名专项防护系统报警有 DDoS 攻击告警,监测发现域名解析延时增大,严重影响了 DNS 业务的正常运行。正常的解析请求延时增大,解析成功率降低。
(三)处理方法6 月 15 日上午 10 点 10 分至 6 月 19 日 17 点 30 分,绿盟科技本地服务团队开启防护系统的流量牵引注入策略,启动 “流量牵引和注入” 对其攻击流量进行 “清洗”,同时采用模式匹配(7 层阻断)对其来自对
defcon.org 的域名解析请求的数据包进行丢弃。根据告警情况,结合 DNS 防火墙的会话性能适用占比情况,及时调整域名专项防护设备的 UDP 检测阀值(其 UDP 阀值调整在 8 万 pps - 15 万 pps 之间)对攻击流量进行清洗。截止 6 月 19 日下午,在流量清洗和模式匹配的防护下,该运营商其 DNS 域名解析正常。
四、攻击危害阐述
(一)带宽与资源占用
DNS 放大攻击会对网络带宽和服务器资源造成严重的占用。在攻击过程中,大量的 DNS 响应数据包会涌入目标服务器。例如,一个普通的网络环境下,正常的网络流量可能在一定的范围内稳定运行,但当遭受 DNS 放大攻击时,大量的虚假 DNS 响应会迅速占据网络带宽。这些响应数据包可能会使原本用于正常网络访问的带宽被大量占用,导致正常的网络访问变得缓慢。据统计,在一些严重的 DNS 放大攻击事件中,网络带宽的占用率可能高达 80% 以上,使得正常的网络访问速度大幅下降,甚至出现网页无法加载、视频卡顿等情况。
同时,服务器需要处理这些大量无效的 DNS 响应数据包,这会消耗大量的 CPU 和内存资源。服务器的 CPU 需要不断地处理这些涌入的数据包,这就像一个人在短时间内要处理大量的任务,会使其负担过重。而内存资源也会被这些数据包占用,使得服务器无法为正常的服务请求分配足够的内存。例如,一个小型企业的服务器在正常情况下可以轻松处理一定数量的用户请求,但在遭受 DNS 放大攻击时,可能会因为内存耗尽而无法响应正常的业务请求,影响企业的正常运营。
(二)服务中断风险
在极端情况下,DNS 放大攻击可能导致服务器完全瘫痪,无法提供任何服务。当攻击流量持续增大,服务器的资源被耗尽,无法再处理任何新的请求。这就如同一个水库,当洪水不断涌入,超过了水库的承载能力时,水库就会崩溃。服务器在面对大量的 DNS 响应数据包时,可能会出现死机、重启等情况,导致服务中断。
例如,在一些大型的 DNS 放大攻击事件中,目标服务器周围的网络基础设施会被大量的流量淹没,网络连接完全中断。这不仅会影响单个服务器的服务,还可能会影响到整个网络系统的正常运行。对于一些关键的业务系统,如金融交易、电子商务等,服务中断可能会导致巨大的经济损失。而且,恢复被攻击的服务器和网络系统需要花费大量的时间和资源,进一步加重了损失。
五、防御措施探讨
(一)网络层面防护
- 限制 UDP 流量:由于 DNS 放大攻击主要利用 UDP 协议进行,因此可以通过防火墙或路由器限制来自外部的 UDP 流量,特别是目标端口为 53(DNS 服务端口)的流量。例如,可以设置防火墙规则,只允许来自可信源的 UDP 流量通过,对于不明来源的 UDP 数据包进行拦截。据相关数据统计,通过限制 UDP 流量,可以有效减少约 30% 的 DNS 放大攻击流量。
- 启用 DDoS 保护服务:许多云服务提供商和 IDC 都提供 DDoS 保护服务。这些服务可以自动检测并过滤掉恶意的 DDoS 流量,确保正常流量的畅通无阻。例如,Cloudflare 等专业的 DDoS 防护服务,能够实时监测网络流量,一旦发现恶意攻击流量,立即进行过滤和拦截。启用这些服务可以大大提高网络的安全性,降低遭受 DNS 放大攻击的风险。
(二)应用层面优化
- 使用 DNSSEC:DNSSEC(DNS Security Extensions)是一种用于增强 DNS 安全性的扩展。它可以防止 DNS 缓存投毒攻击,并减少 DNS 放大攻击的风险。DNSSEC 通过数字签名技术,确保 DNS 数据的完整性和真实性。当 DNS 服务器接收到 DNSSEC 签名的响应时,可以验证其真实性,从而防止恶意伪造的响应。据统计,使用 DNSSEC 可以降低约 40% 的 DNS 放大攻击风险。
- 优化 DNS 配置:合理配置 DNS 服务器,限制递归查询的范围和速率,以减少被恶意利用的可能性。例如,可以设置 DNS 服务器只响应来自特定 IP 地址或域名的查询请求,对于不明来源的查询进行拒绝。同时,可以调整 DNS 服务器的递归查询速率,避免被攻击者利用大量查询请求进行攻击。优化 DNS 配置需要根据具体的网络环境和需求进行调整,以达到最佳的防御效果。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。