您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
华安解密之DDoS攻防-03 DNS原理篇 DNS Reply Flood
 
作者:华安
   次浏览      
2020-8-27 
 
编辑推荐:
重点聊聊另一种常见的DNS攻击DNS reply flood。首先DNS reply flood是什么,接着讲解DNS反射攻击。

本文来自于华为企业互动社区,由火龙果软件Anna编辑、推荐。

0x01 DNS Reply Flood

DNS协议的基础知识我们本篇就不重复介绍了,大家可以看上一篇的介绍。今天我们直接从DNS reply flood的攻击原理入手。前面我们也讲过,DNS查询过程通常都是基于UDP协议的,UDP协议是无连接状态的。所以这一弱点很容易被黑客所利用,DNS服务器收到DNS reply报文时,不管自己有没有发出去过解析请求,都会对这些DNS reply报文进行处理。DNS reply flood就是黑客发送大量的DNS reply报文到DNS缓存服务器,导致缓存服务器因为处理这些DNS reply报文而资源耗尽,影响正常业务。

DNS reply flood大多都是虚假源攻击,黑客控制僵尸主机发出的DNS reply报文的源IP地址通常都是伪造的,是不存在的。所以在防御的时候,就可以从回应源IP地址的真假性入手,判定这个源IP是否是真实源。

针对这种攻击行为,Anti-DDoS系统一般可使用源认证方式进行防御。源认证的方法就是构造一个DNS request报文,看客户端是否能正常回应。

1、Anti-DDoS系统部署在防护目标前,并对到达防护目标的DNS reply报文进行统计。当到达防护目标的DNS reply报文超过告警阈值时,Anti-DDoS系统启动防御。

2、Anti-DDoS系统收到某个源IP地址发来的DNS reply报文后,会重新构造一个新的DNS request报文,然后记录构造查询报文的Query ID和源端口号。

3、如果是虚假源,则不会对这个DNS request报文进行回应,认证不通过。

4、如果是真实DNS授权服务器,则会重新回应DNS reply报文。

5、Anti-DDoS系统收到DNS reply报文后,会与之前记录的Query ID和源端口号进行匹配。如果完全一致,则判定此DNS reply报文就是反弹DNS request报文的回应,源认证成功,加入白名单。

6、后续这个源再发送的DNS reply报文,直接通过,直到白名单老化。

近几年,还有一种升级版的DNS reply flood攻击,因为杀伤力巨大,而备受安全界的关注,那就是DNS反射攻击。

0x02 DNS反射攻击

DNS反射攻击是DNS reply flood的一种变异,是一种更高级的DNS reply flood。

DNS服务器是互联网最基础的设施之一,网络中有很多开放的免费DNS服务器。DNS反射攻击正是利用这些开放的DNS服务器制造的攻击。这种DNS反射攻击通常比普通的DNS reply flood攻击性更强,追踪溯源困难,更善于伪装。

从图中我们可以看到,黑客将自己的源IP地址伪造成被攻击目标的IP地址,然后向一系列网络中开放的DNS服务器发送大量的查询请求。通过伪造DNS请求报文的源IP地址,控制DNS回应报文的流向,这些DNS回应报文就会都被引导到被攻击目标,导致被攻击目标的网络拥塞,拒绝服务。而开放式的DNS服务器在全球有超过几千万台,这些服务器接入带宽往往都比较高,而且,DNS reply报文大小通常也是DNS request报文的几倍甚至几十倍,还可达到放大攻击的效果。对于控制成千上万台僵尸主机的黑客来说,制造几G乃至数十G的DNS攻击流量并不太困难。

DNS反射攻击和前面介绍的传统DNS reply flood有两点本质的不同:

1、传统DNS reply flood一般攻击目标是DNS缓存服务器;而DNS反射攻击一般攻击目标是客户端。

2、传统DNS reply flood大多是虚假源攻击,而DNS反射攻击中,DNS请求是真实的,所以DNS回应报文也都是真实的,是由网络中真实的DNS服务器发出的,属于真实源攻击。这种情况下,再使用前面刚讲过的源认证方式,对于DNS反射攻击就不适用了。

那是不是就没有办法防御了呢?

当然不是,魔高一尺,道高一丈。我们看看Anti-DDoS系统是怎么处理这种攻击的。

Anti-DDoS系统借鉴防火墙的会话表机制,利用DNS交互交互过程中,DNS request报文首包建会话的机制,防御DNS反射放大攻击。

Anti-DDoS系统对DNS反射攻击采用的防御手段就是会话检查。会话表五元组信息包含:源IP地址、目的IP地址、源端口、目的端口和协议。当DNS request报文经过Anti-DDoS系统时,Anti-DDoS系统会创建一张会话表,记录DNS请求报文的这五元组信息。当Anti-DDoS系统再收到DNS reply报文时,就会查会话表:

如果匹配会话表,就判定是真实的DNS reply报文,允许通过。

如果没有匹配会话表,则判定这个DNS reply报文为攻击报文,禁止通过。

除了源认证和会话检查以外,对于DNS flood攻击还可以通过限速的方式进行防御。DNS限速有两种,针对DNS request和DNS reply报文都生效。

域名限速

如果某个域名的DNS请求或回应报文速率过高,可以针对这个域名进行限速。通常某个域名在攻击前访问量并不算高,突然有一天访问量是平时的好多倍,那这个域名可能就是受攻击了。这就好比超市卖东西,平时一天超市可能卖200包食盐,突然有一天,来了好多人买盐,超市仓库都卖空了,那这就不正常了。域名限速就是指资源有限的情况下,每天就定量提供这么多的资源, 先到先得。域名限速可以有针对性的对某个特定域名进行限制,而不影响其他域名的正常请求。

源IP地址限速

源IP地址限速和域名限速相比,属于另一个维度的限制。如果某个源IP地址域名解析的速率过大,就可以有针对性的对这个源IP地址进行限制,这样也不会对其他源有影响。

现在,这种利用网络基础架构发动的攻击越来越多,比如之前的暴风影音、本节的DNS反射攻击,还有后续我们即将要介绍的DNS缓存投毒攻击、HTTP攻击。作为互联网的基础设施,DNS服务器和其他各种服务器的安全稳定运行也至关重要,也是网络工程师在部署网络设备时需要重点考虑的问题。

通过这两篇帖子,大家对DNS request flood和DNS reply flood攻击的防御都有了全新的了解吧,但是DNS攻击可不止这些,除了这些传统攻击手段外,黑客利用篡改域名和IP地址映射关系的手段制造的攻击,在近几年频频发生。下一节,我们就为大家继续介绍DNS缓存投毒攻击。

   
次浏览       
 
相关文章

iOS应用安全开发,你不知道的那些事术
Web安全之SQL注入攻击
移动APP安全在渗透测试中的应用
从Google备份互联网看“数据安全”
 
相关文档

web安全设计与防护
互联网海量内容安全处理技术
黑客攻击与防范技术
WEB黑盒安全检测
 
相关课程

WEB网站与应用安全原理与实践
web应用安全架构设计
创建安全的J2EE Web应用代码
信息安全问题与防范
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
物联网安全概述
史上最详细的区块链技术架构分析
一文读懂区块链整体架构及应用案例
区块链技术架构
安全架构评审实战
最新课程
Web应用安全架构、入侵检测与防护
物联网关键技术、安全与边缘计算
区块链安全技术实践指南
云服务与安全架构
互联网安全开发方法与实践
更多...   
成功案例
中国银行 信息安全技术及深度防御
北京 Web应用安全架构、入侵检测与防护
某财税领域知名IT服务商 Web安全测试
普瑞克斯 web安全设计、测试与优化
北京和利时 性能和安全性测试
更多...