域名劫持是通过恶意软件覆盖计算机的 DNS 配置,攻击或伪造 DNS 服务器,篡改域名解析结果,将其指向恶意 DNS 服务器。而域名解析放大攻击是一种利用域名解析服务器的漏洞,在攻击者控制的 DNS 服务器上,通过构造恶意查询报文,向大量无辜的终端向目标服务的 IP 地址进行大量的查询请求,从而将目标服务压垮的一种攻击方式。
域名解析放大攻击的一个重要组成部分是对开放 DNS 解析器的访问权限。如果互联网上有配置不当的 DNS 解析器,那么攻击者只要找到这种 DNS 解析器就能加以利用。理想情况下,DNS 解析器应仅向源自受信任域名的设备提供服务。在基于反射的攻击中,开放 DNS 解析器将响应来自互联网任何位置的查询,因此有可能被利用。
DNS 服务器可以缓存查询结果,而攻击者通过控制一个大型的开放递归 DNS 服务器,通过向 DNS 服务器发送大量合法的 DNS 查询请求,构造大量的 DNS 响应包,同时将响应包源地址设置成了攻击目标的 IP 地址,这样就可以通过每秒数十 GB 的流量洪峰将目标服务器的带宽占满,从而导致目标服务器的瘫痪。
例如,将一片网络环境比作食客和做外卖的饭店,一个食客 A(攻击者)伪装自己的身份打电话给饭店(DNS 解析器),并要求其制作大量外卖,但在填写送餐地址时填写食客 B(被攻击者)的地址,此时 B 就会收到大量的不属于其请求的数据。
DNS 放大攻击的原理是利用 DNS 协议中请求与响应大小的差异。DNS 请求通常是小数据包(几十字节),而某些响应(特别是 ANY 查询)可能会返回大量数据(几百到几千字节)。攻击者通过伪造 DNS 请求的源 IP 地址,使其看起来像是目标 IP 地址,向多个开放 DNS 解析器发送伪造的 DNS 请求。开放 DNS 解析器处理请求并将响应发送到伪造的源 IP 地址(即目标服务器),由于多个 DNS 解析器向目标服务器发送响应,目标服务器接收到大量流量,可能导致过载和服务中断。
攻击流程主要包括:选择目标服务器;查找开放 DNS 解析器;伪造 DNS 请求,通常选择 ANY 查询并伪造源 IP 地址为目标服务器 IP 地址;发送请求;响应回送,开放 DNS 解析器将响应发送到目标服务器;目标遭受流量冲击,可能导致过载和服务中断。
二、域名解析放大攻击的原理
- 攻击者构造一个带有伪造源 IP 地址的 DNS 查询请求,通常将伪造的源 IP 地址设置为目标服务器的 IP 地址。
攻击者利用特定的技术手段,精心构造一个 DNS 查询请求。在这个请求中,他们故意设置一个伪造的源 IP 地址,而这个地址通常被设定为他们想要攻击的目标服务器的 IP 地址。这样做的目的是为了误导后续的响应流量,使其朝着目标服务器涌去。
- 将伪造的 DNS 请求发送到一个开放的 DNS 解析器,这些解析器通常会对任何接收到的 DNS 请求进行响应,而不会验证请求的真实性。
接着,攻击者会将这个伪造的 DNS 请求发送到一个开放的 DNS 解析器。这些开放的解析器存在一定的安全隐患,因为它们通常会对任何接收到的 DNS 请求进行响应,而不会去仔细验证请求的真实性。这就为攻击者提供了可乘之机,使得他们能够利用这些开放的解析器来放大攻击效果。
- 由于 DNS 响应的数据量通常远大于查询请求的数据量,形成 “放大” 效应。
DNS 协议本身具有一个特点,那就是 DNS 响应的数据量通常要远大于查询请求的数据量。例如,一个查询请求可能只有几十字节,而对应的响应可能有几百字节甚至更多。当攻击者利用开放的 DNS 解析器时,这种数据量的差异就会形成 “放大” 效应。攻击者可以通过少量的请求,引发大量的响应流量。
- 大量的 DNS 响应流量会被发送到伪造的源 IP 地址,即目标服务器。目标服务器在处理这些大量无效的 DNS 响应时,会消耗大量的系统资源,导致正常的服务无法提供,从而实现 DDoS 攻击的效果。
最终,大量的 DNS 响应流量会被发送到伪造的源 IP 地址,也就是目标服务器。目标服务器在毫无防备的情况下,突然接收到这些大量无效的 DNS 响应。在处理这些响应时,目标服务器会消耗大量的系统资源,如 CPU、内存等。这会导致目标服务器无法正常处理合法用户的请求,从而使得正常的服务无法提供,最终实现了分布式拒绝服务(DDoS)攻击的效果。
正如一些研究资料中所提到的,攻击者可以通过控制数量巨大的中间设备,如配置不当的服务器,将大量垃圾数据快速放大到之前无法想象的规模。例如,Akamai 表示一种使网站快速瘫痪的 DDoS 放大攻击新方法正在被不法分子所利用,这种方法就是通过控制中间设备,利用其未遵循传输控制协议规范的特点,实现攻击流量的放大。此外,研究人员还发现,攻击者可以利用 DNS 服务器、网络时间协议服务器等的放大倍数,以及像 memcached 这样的数据库缓存系统,将流量增加惊人的倍数。例如,至少 10 万个中间设备超过了 DNS 服务器的放大倍数(约 54 倍)和网络时间协议服务器的放大倍数(约 556 倍),而使用 memcached 可以将流量增加到 51000 倍。
为了有效防御域名解析放大攻击,可以采取多种措施。在网络层面,可以设置防火墙规则,过滤异常 DNS 流量,如源端口为 53 的 UDP 包;限制来自外部的 UDP 流量,特别是目标端口为 53 的流量;启用 DDoS 保护服务,自动检测并过滤恶意的 DDoS 流量。在应用层面,可以使用 DNSSEC 增强 DNS 安全性,防止 DNS 缓存投毒攻击并减少放大攻击的风险;合理配置 DNS 服务器,限制递归查询的范围和速率,减少被恶意利用的可能性。
三、域名解析放大攻击案例
以某运营商枢纽节点 DNS 遭受攻击为例,攻击源向枢纽节点 DNS 发送大量小字节的针对美国黑客网站
defcon.org 域名的 ANY 查询请求,使得 DNS 服务器返回大量大字节的数据包。
此次攻击导致防火墙会话数接近饱和,域名解析延时增大,严重影响了 DNS 业务的正常运行。通过样本分析发现,此次攻击主要是通过控制肉鸡对特定域名进行 ANY 放大查询和随机查询攻击。
攻击特点鲜明,开始时候采用 ANY 查询进行放大攻击,放大倍数达到 50 倍左右,基本特征不变,目前没有产生新的变种。攻击源大部分来自运营商某范围内的互联网专线 IP,且更加多样化,其中智能监控设备和商用无线路由器成为主力。部分肉鸡还存在弱口令问题。
从攻击时间来看,不固定,下午多一些,最高流量峰值达到 10G。在 ADS 上监控到
defcon.org 这个域名的查询数量一直排在第一位,且查询数量较多,属于异常现象。
面对此次攻击,绿盟科技服务团队启动应急响应机制。从 6 月 15 日至 19 日,绿盟科技服务团队进行了一系列的处理工作,包括启动相关分析及数据汇总和 ADS 流量牵引注入工作,24 小时监测攻击变化并随时调整监测阀值等。
最终,通过开启防护系统的流量牵引注入策略,启动 “流量牵引和注入” 对攻击流量进行 “清洗”,同时采用模式匹配(7 层阻断)对其来自对
defcon.org 的域名解析请求的数据包进行丢弃,有效的保障了某运营商 DNS 服务的高可用性。
四、域名解析放大攻击的危害
- 带宽占用:域名解析放大攻击会占用大量带宽资源。攻击者通过伪造 DNS 请求并将响应地址设置为目标服务器 IP,使得大量 DNS 响应数据包涌向目标服务器。这些数据包会占用目标服务器的网络带宽,导致正常网络访问变得缓慢甚至无法访问。例如,当一个网络环境中的目标服务器遭受域名解析放大攻击时,正常用户在访问网站或使用网络服务时,可能会发现页面加载速度明显变慢,甚至出现无法连接的情况。
- 资源消耗:服务器在处理大量无效 DNS 响应数据包时,会消耗大量 CPU 和内存资源。DNS 响应的数据量通常远大于查询请求的数据量,攻击者利用这一特点,向开放的 DNS 解析器发送伪造请求,使目标服务器接收大量响应。目标服务器需要耗费大量资源来处理这些无效数据包,从而影响正常运行。就像一台电脑同时运行多个大型程序,如果资源被大量占用,其他正常的程序运行就会受到影响,可能会出现卡顿、死机等情况。
- 服务中断:在极端情况下,域名解析放大攻击可能导致服务器完全瘫痪,无法提供任何服务。当大量的 DNS 响应流量持续冲击目标服务器时,服务器的资源可能会被耗尽,无法处理合法用户的请求。这种情况就如同一个餐厅在高峰期突然涌入大量未订餐的顾客,餐厅的服务人员和设施无法应对,导致正常订餐的顾客无法得到服务,最终餐厅可能无法正常营业。
此外,根据一些研究资料显示,服务提供商最近成为了 DNS 攻击的常见受害者。对电信运营商的攻击可能会产生深远影响,因为中断可能会影响依赖于 7*24 小时网络需求的众多行业用户。除了高攻击频率外,电信提供商还倾向于遭受更昂贵的攻击,超过 8%的组织表示,由于 DNS 攻击,他们遭受了超过 500 万美元的损失。最常见的攻击类型包括网络钓鱼攻击、基于 DNS 的恶意软件攻击、DDoS 攻击、针对域名攻击、DNS 放大攻击等。成功的 DNS 攻击通常会导致内部应用程序停机,60%的组织会遇到内部停机,而云服务的停机时间也是如此。由于电信服务、云服务供应商因攻击服务被中断,不满意的使用用户可能会转向拥有更可靠网络的竞争对手,因此服务中断可能会导致严重的品牌损失和客户流失。
某运营商枢纽节点 DNS 遭受攻击就是一个典型案例。攻击源向枢纽节点 DNS 发送大量小字节的针对美国黑客网站
defcon.org 域名的 ANY 查询请求,使得 DNS 服务器返回大量大字节的数据包。此次攻击导致防火墙会话数接近饱和,域名解析延时增大,严重影响了 DNS 业务的正常运行。如果这种攻击持续且无法得到有效遏制,很可能会导致该运营商的 DNS 服务完全瘫痪,无法为用户提供正常的域名解析服务。
五、如何防范域名解析放大攻击
- 配置防火墙和网络容量:设置防火墙规则,过滤异常 DNS 流量,如源端口为 53 的 UDP 包。增大链路带宽,提高网络的抗压能力。
-
- 通过设置防火墙规则,可以有效地过滤掉可能的恶意 DNS 流量,减少潜在的攻击风险。例如,对源端口为 53 的 UDP 包进行严格的审查,只允许合法的 DNS 查询请求通过。
-
- 增大链路带宽是提高网络抗压能力的重要手段。当面临域名解析放大攻击时,足够的带宽可以承受一定程度的攻击流量,为采取进一步的防御措施争取时间。就像拓宽道路可以缓解交通拥堵一样,增加网络带宽可以减少攻击流量对正常网络通信的影响。
- 限制 DNS 解析器:限制 DNS 解析器仅响应来自可信源的查询,或关闭递归查询功能。
-
- 限制 DNS 解析器仅响应来自可信源的查询,可以有效地防止攻击者利用开放的 DNS 解析器进行放大攻击。例如,只允许来自特定 IP 地址范围或已知的可信域名的查询请求得到响应,对于其他来源的查询请求则予以拒绝。
-
- 关闭递归查询功能也是一种有效的防御措施。递归查询可能被攻击者利用,通过伪造源 IP 地址向 DNS 解析器发送大量查询请求,从而引发放大攻击。关闭递归查询功能可以减少这种风险,但同时也可能会对一些特定的网络应用产生影响,需要谨慎评估。
- 使用 DDoS 防御产品:部署专业的 DDoS 防护服务,实时监测和过滤攻击流量。
-
- 部署专业的 DDoS 防御产品可以为网络提供全面的保护。这些产品通常具有实时监测功能,可以及时发现攻击流量,并采取相应的过滤措施。例如,阿里云的 DDoS 高防服务可以防护网站类业务,将网站域名解析到 DDoS 高防,网站业务流量会先到 DDoS 高防进行防护,安全流量再由 DDoS 高防转发给源站服务器。
-
- DDoS 防御产品还可以根据攻击的特点和流量模式进行智能调整,提高防御的效果。同时,一些产品还提供了详细的攻击报告和分析,帮助用户更好地了解攻击情况,以便采取进一步的防范措施。
- 定期安全审计:对网络基础设施进行安全审计和漏洞扫描,及时发现并修复潜在安全隐患。
-
- 定期进行安全审计和漏洞扫描是确保网络安全的重要环节。通过对网络基础设施进行全面的检查,可以及时发现潜在的安全隐患,如配置不当的 DNS 服务器、开放的端口等。
-
- 安全审计可以包括对 DNS 服务器的配置审查、日志分析、网络流量监测等。漏洞扫描则可以帮助发现系统中的软件漏洞和安全弱点,及时进行修复。例如,通过网络流量监测可以发现异常的 DNS 查询请求和响应,从而及时采取措施防止攻击的发生。
-
- 此外,定期的安全审计还可以帮助企业了解网络安全状况的变化,及时调整安全策略,提高整体的安全防护水平。
墨者安全 防护盾
墨者安全作为专业级别安全防护专家,在应对 Webshell 风险隐患方面展现出了卓越的能力。其拥有全面的检测机制,能够精准识别 Webshell 的各种类型和变体,无论是复杂的大马,还是隐蔽的内存马,都难逃其敏锐的监测。
墨者安全防护盾具备强大的实时监控功能,对服务器的各项活动进行 7*24 小时不间断的监视。一旦发现任何可疑的 Webshell 活动迹象,立即发出警报,并迅速采取隔离和清除措施,将风险扼杀在萌芽状态。
在防护策略上,墨者安全防护盾采用了多层次的防御体系。不仅能够在网络层面阻挡外部的恶意访问和攻击,还能深入系统内部,对服务器的文件系统、进程等进行深度检查和保护,确保 Webshell 无法植入和运行。
同时,墨者安全防护盾拥有快速的应急响应能力。当 Webshell 攻击事件发生时,专业的安全团队能够迅速介入,进行深入的分析和处理,最大程度减少攻击带来的损失,并帮助用户快速恢复服务器的正常运行。
墨者安全防护盾还注重用户教育和培训,为用户提供关于 Webshell 防范的专业知识和最佳实践,帮助用户提升自身的安全意识和防范能力,共同构建坚实的网络安全防线。