DDOS DNS 反射放大攻击是一种利用 DNS 协议特性进行的分布式拒绝服务攻击方式。其原理主要如下:
DNS 协议在设计之初并未充分考虑安全性,存在一些可被恶意利用的特性。攻击者首先构造一个带有伪造源 IP 地址的 DNS 查询请求,这个伪造的源 IP 地址通常是目标服务器的 IP 地址。然后,攻击者将这个伪造的 DNS 请求发送到一个开放的 DNS 解析器(也称为递归 DNS 服务器)。这些解析器通常会对任何接收到的 DNS 请求进行响应,而不会验证请求的真实性。
由于 DNS 回复的数据量通常远大于查询请求的数据量,例如,一个查询请求可能只有几十字节,而对应的响应可能有几百字节,这就形成了 “放大” 效应。攻击者可以利用这种放大效应,通过少量的请求产生大量的响应流量。这些大量的 DNS 响应流量会被发送到伪造的源 IP 地址,即目标服务器。目标服务器在处理这些大量无效的 DNS 响应时,会消耗大量的系统资源,导致正常的服务无法提供,从而实现 DDoS 攻击的效果。
二、DDOS DNS 反射放大攻击的特点
- 需要开放的递归服务器和源 IP 地址伪造技术,开放的递归服务器充当反射体,DNS 传输层多采用 UDP 协议使源 IP 伪造简单。
DNS 放大攻击的必要条件是开放的递归服务器和源 IP 地址伪造技术。开放的递归服务器充当放大攻击的反射体,为 DNS 放大攻击提供了很好的条件。此外,DNS 在传输层大部分采用的是 UDP 协议,这种无连接不可靠的协议使得源 IP 地址伪造变得十分简单。例如,攻击者可以伪造 UDP 数据包的报头,以表明它来自想要攻击的特定 IP,并将这个伪造的数据包发送到一个开放的 DNS 解析器。
- 具有明显的流量放大效果,较小的查询包可得到较大的应答包。
DNS 放大攻击具有明显的流量放大效果,由于 DNS 协议本身的特点,较小的 DNS 查询包会产生较大的 DNS 应答包。在早期关于 DNS 的 RFC 规范文档中,UDP 报文大小被限制在 512 字节以内,但随着互联网的发展,为了支持 IPv6、DNSSEC 等,DNS 服务器对特定 DNS 查询返回的应答报文长度超过了 512 字节,利用这种扩展机制,一个 60 字节的 DNS 查询报文即可得到超过 4000 字节的应答报文。发送的 DNS 查询请求数据包大小一般为 60 字节左右,而查询返回结果的数据包大小通常为 3000 字节以上,因此,使用该方式进行放大攻击能够达到 50 倍以上的放大效果。
- 以大量开放的递归服务器作为反射体,追踪攻击者难度大,攻击隐蔽性高。
DNS 放大攻击以互联网上大量开放的递归服务器作为反射体,使得追踪攻击者的难度加大,攻击隐蔽性提升。攻击者控制网络上的众多傀儡主机组成僵尸网络发出攻击指令,僵尸网络接收到指令后,会伪造成受害者的 IP 地址向网络上大量开放递归服务器发送域名查询请求。由于域名服务器不对查询请求包的源 IP 地址进行真实性验证,因此会对所有请求进行应答,最终导致受害者被大量的 DNS 应答包堵塞。而且应答包往往比请求包大数十甚至数百倍,从而形成 DDoS 攻击耗尽被攻击目标资源。攻击的实际来源被隐藏,很难追踪。如果使用了许多互联网服务器,攻击可能包括来自世界各地的大量数据包。
三、DDOS DNS 反射放大攻击的案例分析
以某运营商枢纽节点 DNS 网络遭受攻击为例,阐述攻击过程、特点及处理方法。
2015 年 6 月 15 日上午,某运营商枢纽节点 DNS 网络中防火墙会话数接近饱和,域名专项防护系统报警有 DDoS 攻击告警,监测发现域名解析延时增大,严重影响了 DNS 业务的正常运行。
攻击过程
- 2015 年 6 月 15 日 9 点 30 分,绿盟科技 DDoS 防护系统发出 DDoS 攻击告警,同时接到某运营商网管中心互联网室通知其 DNS 疑似遭受 DDoS 攻击。从 15 日凌晨至 19 日,攻击一直在持续,此次攻击主要是通过控制肉鸡对美国黑客网站(Defcon.org)和僵尸网络(router.bittorrent.com、router.utorrent.com)域名进行 ANY 查询请求和随机查询请求。
- 使用 ADS 自带的抓包工具捕获数据包样本,并对捕获到的攻击样本进行分析,发现有大量对 defcon.org 的 ANY 查询,查询数量一直排在第一位,且查询数量较多,属于异常现象。
- 攻击者控制大量肉鸡发起针对多个域名(主要域名为 defcon.org)的 ANY 放大查询(DNS Amplification attack,也叫反射攻击)和随机查询攻击,极大地消耗了防火墙的性能。
攻击特点
- 攻击源向枢纽节点 DNS 发送大量小字节的针对美国黑客网站 defcon.org 域名的 ANY 查询请求,从而使得 DNS 服务器返回大量大字节的数据包,导致 DNS 网络中防火墙会话数接近饱和,消耗大量 DNS 服务器的资源,正常的解析请求延时增大,解析成功率降低。
- 攻击开始时候都是采用 ANY 查询进行放大攻击,放大倍数达到 50 倍左右,基本特征不变,目前没有产生新的变种。
- 攻击源更加多样化,其中智能监控设备和商用无线路由器成为主力。攻击时间不固定,下午多一些。最高流量峰值达到 10G。
处理方法
- 根据告警情况,结合 DNS 防火墙的会话性能适用占比情况,及时调整域名专项防护设备的 UDP 检测阀值(其 UDP 阀值调整在 8 万 pps - 15 万 pps 之间)对攻击流量进行清洗。
- 同时在域名专项防护系统开启模式匹配策略(7 层丢弃),对查询 Defcon.org 的域名的源 IP 的请求进行丢弃,这样有效的保障 DNS 的高可用性。截止 6 月 19 日下午,在流量清洗和模式匹配的防护下,某运营商其 DNS 域名解析正常。
四、DDOS DNS 反射放大攻击的防范措施
- 在边界路由出口配置源路由检测,防止伪造地址包流向外部网络,并在受害服务器端路由进行过滤,丢弃超大的 DNS 应答包。
-
- 这种方法在源端和中端防御 DDOS DNS 反射放大攻击方面具有一定效果。然而,由于需要对整个网络进行广泛部署,实际操作中难度较大,难以广泛应用。但它能在一定程度上阻止伪造的地址包流出网络,减少攻击流量对外部网络的影响,同时在受害服务器端对超大的 DNS 应答包进行过滤,降低服务器的负担。
- 在 DNS 服务器前面架设防护系统对 DDoS 攻击流量进行过滤。
-
- 目前防御 DNS 反射攻击的主流方向是在终端进行防御,在 DNS 服务器前架设防护系统可以对 DDoS 攻击流量进行有效过滤。例如,可以根据 DNS 请求包与应答包一一对应的特点,对 DNS 反弹式攻击进行检测,并结合防火墙对攻击 IP 进行阻塞。不过这种方式可能会导致一些被利用的反射体 DNS 服务器被列入黑名单,受保护的服务器将无法获得正常回应的应答包。
- 根据 DNS 请求包与应答包一一对应的特点进行检测并结合防火墙对攻击 IP 进行阻塞。
-
- 利用 DNS 请求包与应答包的对应关系进行检测,可以在一定程度上识别出攻击流量。当检测到攻击 IP 时,结合防火墙对其进行阻塞,能够减少攻击流量对目标服务器的影响。但这种方法也存在一定的局限性,如可能会误判一些正常的流量,同时被阻塞的 IP 可能会不断变化,需要持续进行监测和调整。
- 减少开放 DNS 服务器的数量,使其仅响应来自受信任来源的查询。
-
- DNS 反射放大攻击的一个重要组成部分就是对开放 DNS 服务器的访问权限。减少开放 DNS 服务器的数量,限制其仅响应来自受信任来源的查询,可以使服务器无法被用于任何类型的放大攻击。理想状态下,DNS 服务器只向源自信任域名的设备提供服务,这样可以大大降低被攻击的风险。例如,在基于反射的攻击中,开放的 DNS 服务器将响应来自互联网任何位置的查询,容易被攻击者利用,而限制查询来源可以有效避免这种情况的发生。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。