DDOS攻击类型分析

1 网络层攻击

这一大类的攻击主要针对堵带宽的目标,从目标源上有两种形势,一种是攻击者伪造源IP进行流量攻击,基本上都是大数据包;另一种是反射放大攻击,攻击者伪装受害者访问第三方,通过第三方的大量数据包响应来堵塞受害者的网络。

1.1 伪造大包攻击

伪造大包攻击通常需要攻击者控制的网络可以发送出相应攻击流量的数据包,攻击的同时也消耗自身的巨大资源,这样的攻击一般发生成攻击者自有IDC机房或拥有大量的肉机。

1. UdpFlood

由于udp协议是一种无连接的服务,很容易伪造各式各样的udp封包送达到目标服务,因此udpflood攻击的具体形式和种类很多。但当前针对WEB服务发起的udpflood攻击时,一般是采用大数据包,并无明确意义的udp端口,以堵塞网络带宽为首要目标。
而针对具体的udp服务实现的udpflood需要更精细的防御,相应的这样的攻击要归类在应用层攻击类别中。
参考:
http://baike.baidu.com/link?url=FIcTpZdvEURDGiFBR_KyXknOjB-3FDAAT8QsUo20xq8Vr9uhHm358DJWUQtIqwXxyWc5GGtMUd3x0b2MpBD_Ya

2. TcpFlood

这里所指的tcpflood也是以制造流量为主,混杂着一些标志位,用于消耗目标的协议栈资源,受害系统收到这样的包后通过连接分析最后还会响应reset包。如发出了只带syn标志的,但包的长度却超过1k等。

3. IcmpFlood

正常的ICMP数据包为96字节,而攻击者使用的ICMPflood通常设定较大的长度

1.2 反射放大攻击

反射放大攻击是一种典型的四两拨千斤的攻击方式,利用了很多udp服务存在小请求大响应的特性,攻击前事先找到足够多提供这样服务的服务器IP,再伪造受害者的IP向这些服务器发送请求,其结果是大量的响应数据都奔该服务器IP而去。

1. DNS反射

http://security.ctocio.com.cn/146/12741146.shtml

2. NTP反射

http://drops.wooyun.org/papers/955

3. SNMP反射

http://baike.baidu.com/view/2899.htm

4. SSDP反射

http://blog.csdn.net/lilypp/article/details/6631951
http://www.d1net.com/security/tech/319292.html

5. Chargen反射

http://baike.baidu.com/link?url=lZ22GHUPGjgdmvihgpAT1La2-Tb7djnZ69ur22g8UtdQT7ItQXgqE3cYqBiKI_ArfgxuJe0INSuM48gZqMtG8K

2 协议层攻击

协议层在这里是传输层与会话层的总述,这一层的攻击主要利用了协议设计的缺陷,如TCP协议栈会主动响应入栈的数据包,又如有碎片数据带来的预分配内在开销等,当攻击者发送了大量的请求包后,会导致系统频繁应付响应而耗尽CPU、内存资源。

2.1 TCP/UDP/ICMP分片

TCP/IP协议设计实现时考虑网络上各个设备的MTU不完全一致,当一个大数据包经过一个小的MTU设备时,数据包就会被拆分成一个或多个小包来适应当前的网络设备,所以存在分片的机制。当协议栈收到分片通知时,需要预留一定的内存来组装数据包,攻击者恶意使用分片功能时,就会导致目标服务器的协议栈资源消耗过大。

2.2 SynFlood

TCP会响应每个syn包,发出syn+ack包,期待收到ack+1包,如果是一个伪造的不存在的IP发来的请求,则服务器在收不到ack+1的情况下,会持续的发上好几次syn+ack包,同时还保持着这个未完成的连接,这种攻击很容易占满服务器的连接队列。

2.3 AckFlood

与synflood攻击类似,ackflood攻击时发送的都是ack包,如果目标系统允许ack来建立状态连接就很容易导致连接表项资源耗尽,同时协议栈还会发现这类数据包不合法而响应reset包,导致系统资源消耗过大。

2.4 ZeroWindow

建立连接后,发出数据请求,服务器端准备好数据时,攻击者发送ack包指定window大小为0,这时服务端无法发送数据处于等待状态,通过建立这类大量的连接来消耗服务器资源。

2.5 ConnectionFlood

仅建立连接后不发送数据,由服务器等待超时,在这个过程中建立大量的这样的连接,实现拒绝服务攻击。

2.6 SslFlood

不断的发起ssl握手,ssl握手过程,服务器端消息的资源是客户端的15倍。

2.7 SslKeyRenego

在协商加密算法时,服务器端消耗的资源是客户端的15倍,而Renegotiating机制允许客户端在一个连接中发起多次协商,导致服务器更易受到CPU耗尽的攻击。
http://www.jybase.net/wangzhananquan/20120320804.html

3 应用层攻击

这一层的攻击是针对具体的服务请求来实现对资源的消耗,达到拒绝服务的目的。通常说的cc攻击是这里所说的大部分攻击的一个泛称。
应用层攻击的范围不仅仅针对HTTP服务,常见的还有DNS服务,移动互联网飞速发展的今天,APP所使用的服务也很容易受到攻击,这类服务虽然与WEB服务有一定的相似,但从辨别性质上却有所不同,同样游戏类服务也很容易受到攻击。

3.1 GetFlood

直接对url进行大量的请求,挑选最耗服务器资源的url进行请求。真正实现攻击时还是有多种模式,如多URL并发的请求,单一URL请求,随机URL请求等。

3.2 SlowLoris

也称为SlowHeaders,攻击者始终构造不完整的http header在发送,同时还间隔一定时间的发送数据,导致服务器一直处于等待状态。

3.3 SlowPost

也称为slow body,攻击的重点放在了post数据上,通过将Http header中的content-length设置为一个较大的值,同时间隔一定时间再发送数据,导致服务器一直处于等待状态。

3.4 SlowRead

与前面ZeroWindow攻击类似,在这里是把window设置一个较小的数,让服务器始终准备着回应数据。

3.5 HashDos

WEB站点后台实现时,维护输入的参数数据时采用了hash算法,但默认情况下hash桶的大小不够大,容易产生碰撞,碰撞后会采用链表查询的方式,这种情况会极大耗用CPU资源。
攻击者正是利用了这一原理来实现拒绝服务攻击,攻击者需要提交大量的参数个数,同时此类参数的名称得到的hash容易碰撞,这种情况下,后台维护参数时无法使用hash特性而纯粹使用的是链表,很容易造成CPU耗尽的情况。
一般方法是限制提交参数中的个数,同时升级后台hash处理的语言,减少碰撞。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lefooter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值