原理有关论文范文资料 和DDoS放大攻击原理与防护方法方面专科毕业论文范文

该文是关于原理论文范文,为你的论文写作提供相关论文资料参考。

DDoS放大攻击原理与防护方法

摘 要:DDoS放大攻击是一种历史悠久而又威力强大的攻击技术.最早的放大拒绝服务攻击可以追溯到古老的Smurf 攻击.现代的DDoS放大攻击能够对被攻击目标造成极大影响,甚至拖慢局部互联网的访问速度.本文将对各种DDoS放大攻击的原理和DDoS放大攻击的防护方法进行介绍.

关键词:DDoS反射攻击;DDoS放大攻击;DDoS防护

1 引言

在介绍其具体技术之前,先对几个概念进行简要的说明.

(1)针对网络带宽资源的DDoS攻击

按照DDoS 攻击所针对的攻击目标和所属的层次,可以将DDoS 攻击大体分为3 类,即针对网络带宽资源的DDoS攻击(网络层)、针对连接资源的DDoS攻击(传输层)以及针对计算资源的攻击(应用层).针对网络带宽的DDoS 攻击是最古老而常见的一种DDoS攻击方式.

无论是服务器的网络接口带宽,还是路由器、交换机等互联网基础设施的数据包处理能力,都存在事实上的上限.当到达或通过的网络数据包数量超过了这个上限时,就会出现网络拥堵、响应缓慢的情况.针对网络带宽资源的DDoS 攻击就是根据该原理,利用广泛分布的僵尸主机发送大量的网络数据包,占满被攻击目标的全部带宽,从而使正常的请求无法得到及时有效的响应,造成拒绝服务.

(2)DDoS反射攻击

攻击者可以使用Ping Flood、UDPFlood 等方式直接对被攻击目标展开针对网络带宽资源的DDoS 攻击,但这种方式不仅低效,还很容易被查到攻击的源头.虽然攻击者可以使用伪造源IP地址的方式进行隐藏,但更好的方式是使用DDoS反射攻击技术.

DDoS反射攻击是指利用路由器、服务器等设施对请求产生应答,从而反射攻击流量并隐藏攻击来源的一种DDoS技术.DDoS反射攻击的基本原理如图1所示.

在进行DDoS 反射攻击时,攻击者通过控制端控制大量僵尸主机发送大量的数据包.这些数据包的特别之处在于,其目的IP地址指向作为反射器的服务器、路由器等设施,而源IP地址则被伪造成被攻击目标的IP地址.反射器在收到数据包时,会认为该数据包是由被攻击目标所发来的请求,因此会将响应数据发送给被攻击目标.当大量的响应数据包涌向攻击目标时,就会造成拒绝服务攻击.

发动DDoS反射攻击需要在互联网上找到大量的反射器,对于某些种类的反射攻击,这并不难实现.例如,对于ACK 反射攻击,只需要找到互联网上开放TCP端口的服务器即可,而这种服务器在互联网上的存在是非常广泛的.相比于直接伪造源地址的DDoS攻击,DDoS反射攻击由于增加了一层反射步骤,更加难以追溯攻击来源.

(3)DDoS放大攻击

DDoS 放大攻击是DDoS 反射攻击的一种特殊形式.简单的说,当使用的反射器对网络流量具有放大作用时,DDoS反射攻击就变成了DDoS放大攻击.针对网络带宽资源的DDoS攻击、DDoS反射攻击和DDoS放大攻击的关系参见图2.

2 DDoS放大攻击的技术原理

2.1 DDoS放大攻击的特点

上文已经提到,DDoS 放大攻击是一种特殊的DDoS反射攻击,其特殊之处在于反射器对于网络流量具有放大作用,因此也可以将这种反射器称为放大器.进行DDoS 放大攻击的方式与DDoS 反射攻击的方式基本一致,不同之处在于反射器(放大器)所提供的网络服务需要满足一定条件.

●在反射器提供的网络服务协议中,需要存在请求和响应数据量不对称的情况,响应数据量需要大于请求数据量.响应数据量与请求数据量的比值越大,放大器的放大倍数也就越大,进行DDoS 放大攻击的效果也就越明显.

●进行DDoS放大攻击通常会使用无需认证或握手的协议.

DDoS放大攻击需要将请求数据的源IP地址伪造成被攻击目标的IP 地址,如果使用的协议需要进行认证或者握手,则该认证或握手过程没有办法完成,也就不能进行下一步的攻击.因此,绝大多数的DDoS 放大攻击都是用基于UDP协议的网络服务进行攻击的.

●放大器使用网络服务部署的广泛性决定了该DDoS放大攻击的规模和严重程度.如果存在某些网络服务,不需要进行认证并且放大效果非常好,但是在互联网上部署的数量很少,那么利用该网络服务进行放大也不能打出很大的流量,达不到DDoS 攻击的效果,这种网络服务也就不具备作为DDoS 放大攻击放大器的价值.

以上3 点就是DDoS 放大攻击中放大器所开放的网络服务具有的特点,之后介绍的DNS 放大攻击、SNMP放大攻击都满足这些特点.也可以说,满足以上3 个特点的网络服务协议都能够用于DDoS 放大攻击.

2.2 DNS放大攻击

DNS 是域名系统(Domain Name System)的缩写,是因特网的一项核心服务.作为可以将域名和IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP 数串.DNS使用的TCP与UDP端口号都是53,主要使用UDP协议.图3 为DNS反射攻击示意图.

通常,DNS响应数据包会比查询数据包大,攻击者利用普通的DNS 查询请求就能够将攻击流量放大2~10 倍.但更有效的方法是使用RFC 2671 中定义的DNS扩展机制EDNS0.

在没有EDNS0 以前,对DNS 查询的响应数据包被限制在512 字节以内.当需要应答的数据包超过512 字节时,根据DNS 服务实现的不同,可能会丢弃超过512 字节的部分,也可能会使用TCP 协议建立连接并重新发送.无论是哪种方式,都不利于进行DNS放大攻击.

在EDNS0 中,扩展了DNS数据包的结构,增加了OPTRR字段.在OPTRR字段中,包含了客户端能够处理的最大UDP 报文大小的信息.服务端在响应DNS 请求时,解析并记录下客户端能够处理的最大UDP报文的大小,并根据该大小生成响应的报文.攻击者能够利用DIG(Domain Information Groper)和EDNS0 进行高效的DNS放大攻击.

攻击者向广泛存在的开放DNS 解析器发送Dig查询,将OPTRR 字段中的UDP 报文大小设置为很大的值(如4096),并将请求的源IP 地址伪造成被攻击目标的IP 地址.DNS解析器收到查询请求后,会将解析的结果发送给被攻击目标.当大量的解析结果涌向目标时,就会导致目标网络拥堵和缓慢,造成拒绝服务攻击.

攻击者发送的DNS查询请求数据包大小一般为60 字节左右,而查询返回结果的数据包大小通常为3000 字节以上,因此使用该方式进行放大攻击能够达到50 倍以上的放大效果.极端情况下,36 字节的查询请求能够产生3k~4k 字节的应答,也就是说能够对攻击流量进行100倍放大.

在2013 年3 月对Spamhaus 的DDoS 攻击中,主要就使用了DNS 放大攻击技术,使得攻击流量达到了史无前例的300Gbit/s,甚至拖慢了局部互联网的响应速度.

2.3 SNMP放大攻击

SNMP 是简单网络管理协议(Simple NetworkManagementProtocol)的缩写,该协议是目前UDP/IP网络中应用最为广泛的网络管理协议,提供了一个管理框架来监控和维护互联网设备.SNMP协议使用UDP161端口进行通信.

由于SNMP 的效果很好,网络硬件厂商开始把SNMP加入到它们制造的每一台设备.今天,各种网络设备上都可以看到默认启用的SNMP服务,从交换机到路由器,从防火墙到网络打印机,无一例外.同时,许多厂商安装的SNMP都采用了默认的通信字符串(Community String),这些通信字符串是程序获取设备信息和修改配置必不可少的.最常见的默认通信字符串是Publi 和Private,除此之外还有许多厂商私有的默认通信字符串.几乎所有运行SNMP 的网络设备上,都可以找到某种形式的默认通信字符串.图4 为SNMP反射攻击示意图.

在SNMPv1 中定义的Get 请求可以尝试一次获取多个MIB对象,但响应消息的大小受到设备处理能力的限制.如果设备不能返回全部请求的响应,则会返回一条错误信息.在NMPv2 中,添加了GetBulk 请求,该请求会通知设备返回尽可能多的数据,这使得管理程序能够通过发送一次请求就获得大段的检索信息.利用默认通信字符串和GetBulk 请求,攻击者能够开展有效的SNMP放大攻击.

攻击者向广泛存在并开启了SNMP服务的网络设备发送GetBulk 请求,使用默认通信字符串作为认证凭据,并将源IP地址伪造成被攻击目标的IP地址.设备收到GetBulk 请求后,会将响应结果发送给被攻击目标.当大量的响应结果涌向目标时,就会导致目标网络拥堵和缓慢,造成拒绝服务攻击.

攻击者发送的GetBulk 请求数据包约为60 字节左右,而请求的响应数据能够达到1500 字节以上,因此使用该方式进行放大攻击能够达到20 倍以上的放大效果.

2.4 其它放大攻击

上文介绍了DNS 放大攻击和SNMP 放大攻击的原理,除了这两种协议以外,还有一些协议和网络服务可以用于DDoS放大攻击.

在NTP 协议中,Monlist 请求可以获取与目标NTP服务器进行过同步的最后600 个客户端的IP地址.发送一个很小的请求包,就能获取到大量的活动IP 地址组成的连续UDP 包.通过伪造IP地址并发送Monlist 请求,可以将攻击流量放大500 倍以上.

在CHARGEN 协议中,每当服务器收到客户端的一个UDP数据包,这个数据包中的内容将被丢弃,而服务器将发送一个数据包到客户端,其中包含长度为0~512 字节之间随机值的任意字符.利用该协议可以将攻击流量放大2~10 倍.

需要说明的是,由于这些协议在互联网上部署的范围不够广泛,因此它们不能作为DDoS放大攻击的主要手段和产生攻击流量的主要部分,只能作为辅助手段增大攻击流量.

3 DDoS放大攻击的防护方法

对于DDoS放大攻击,可以从3个方面进行防护.

3.1 对开放DNS、SNMP服务的设备进行防护

首先,应确认设备上的DNS、SNMP 服务是否必要,如必要,则应该关闭这些服务.如果必须开放DNS、SNMP服务,则应加强对这些服务请的鉴权和认证.例如,DNS服务不应对互联网上的任意计算机都供域名解析服务,而只应响应该ISP 或该网络内部的DNS解请求;SNMP要使用非默认的独特的通信字符串,并尽可能升级SNMPv3 版本,以提高安全性.最后,还应该限制DNS、SNMP响应数据包大小的阈值,接收丢弃超大的响应数据包.

只要对开放DNS、SNMP 服务的设备等放大器进行有效防护就能从根源上杜绝DDoS 放大攻击的产生.

3.2 ISP对伪造源IP地址的数据包进行过滤

攻击者能够发送伪造源IP 地址的数据包,这是针对网络带宽源的DDoS攻击能够产生的根本原因.通过伪造源IP 地址,不仅能够发动DDoS 反射攻击和DDoS放大攻击,还能够有效地隐藏攻来源,降低攻击者面临的风险.如果ISP 能够对伪造源IP 地址数据包进行过滤,使其不能进入到互联网中,就能够从根本上解决针对网络带宽资源的DDoS攻击问题.

在RFC2827/BCP38 中高度建议使用入口过滤,以阻止伪源IP 地址的网络攻击.遗憾的是,只有少数的公司和ISP 遵守了这些建议,但只有当所有接入互联网的设备都遵守该规则时,才能彻底阻止伪造源IP地址的网络攻击.

3.3 使用Anycast技术对攻击流量进行稀释和清洗

利用DDoS 放大攻击技术,能够打出很大的流量.对这种规模的攻击,需要对攻击流量在多个清洗中心进行分布式清洗,将攻击流量扩散和稀释,之后在每个清洗中心进行精细的清洗.

使用Anycast 技术进行防护是一种可行的方案.通过使用Anycast 技术,可以有效地将攻击流量分散到不同地点的清洗中心进行清洗.在正常环境下,这种方式能够保证用户的请求数据被路由到最近的清洗中心;当发生DDoS攻击时,这种方式能够将攻击流量有效地稀释到防护方的网络设施中.此外,每一个清洗中心都声明了相同的地址,攻击流量不会向单一位置聚集,攻击情况从IP 多对一转变为多对多,网络中就不会出现单点瓶颈.在攻击流量被稀释之后,清洗中心对流量进行常规的清洗和阻断就变得相对容易了.

4 结束语

DDoS 放大攻击是一种针对网络带宽资源的分布式拒绝服务攻击形式,通常利用网络协议请求与响应数据的不对称、网络服务无需认证以及网络服务部署的广泛性来达到放大攻击流量的效果.常见的DDoS放大攻击技术包括DNS 放大攻击和SNMP 放大攻击等,其他一些协议和网络服务也能够作为辅助手段增加DDoS放大攻击的流量.对DDoS放大攻击的防护,需要从攻击源头、放大器、被攻击目标3 个方面进行防护,才能达到最有效的防护效果.

原理论文范文结:

适合不知如何写原理方面的相关专业大学硕士和本科毕业论文以及关于原理论文开题报告范文和相关职称论文写作参考文献资料下载。

1、管理学原理论文

2、马克思主义基本原理论文

3、美学原理论文

4、论文查重原理

5、毕业论文查重原理

6、马克思主义基本原理概论论文