DDOS攻击分类

来源:互联网 发布:mac网游加速器 编辑:程序博客网 时间:2024/06/05 20:56

1.拒绝服务攻击和分布式拒绝服务攻击的区别和联系?

拒绝服务攻击是不合法的攻击手段,分布式拒绝服务攻击向服务提供者发起大量看似合法的请求,消耗或长期占用大量资源

 

2.将分布式拒绝服务分为攻击网络带宽资源,攻击系统资源,攻击应用资源

 

网络数据包数量超过上限,就会出现网络拥堵。响应缓慢(消耗网络带宽资源)

 

攻击网络带宽资源

直接攻击

1.    icmp/igmp 洪水攻击(hping)

2.    udp洪水攻击

攻击者会使用小包(64字节)和大包(1500字节以上)的两种方式进行攻击

 

由于交换机。路由器等网络设备需要对每一个数据包进行校验和检查,因此使用udp小包攻击能够最有效地增大网络设备处理数据包的压力,造成处理速度的缓慢和传输延迟等拒绝服务攻击的效果

 

大包超过了以太网的最大传输单元(mtu)能迫使被攻击目标在接收到udp数据时进行分片重组,造成网络拥堵。。。。

 

3.    反射和放大攻击(DEDoS)(ack反射攻击,dns放大攻击)

在进行反射攻击时,攻击者使用受控主机发送大量的数据包,这些数据包的特别之处在于,其目的ip地址指向作为反射器的服务器,路由器等设备,而源ip地址被伪造成被攻击目标的ip地址,反射器在收到数据包时,会认为该数据包是由被攻击穆鸟所发出来的请求,因此会将相应数据发送给被攻击目标

 

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

 

真正的威胁在于利用反射原理进行的放大攻击,在反射器提供的网络服务协议中,需要存在请求和响应数据量不对称的情况,响应数据量需要大于请求数据量,响应数据量于请求数据量的比值越大,放大器的放大倍数也就越大,进行放大攻击所产生的消耗带宽资源的效果也就越明显,但是在互联网上部署的数量很少那么利用该网络服务进行放大也不能达到很大的流量,只能作为辅助手段

 

(1)  ack反射攻击

利用三次握手的服务端的ack应答,即可进行ack反射攻击

攻击者将syn的源ip地址伪造成被攻击目标的ip地址,服务器应答也就会直接发送给被攻击目标

(2)  dns放大攻击

攻击者能够利用dig查询和EDNS0进行高效的DNS放大攻击,攻击者想广泛存在的开放dns解析器发送dig查询命令,将opt rr字段中的udp报文大小设为很大的值,并将请求的源ip地址未造成被攻击目标的ip地址

(3)  ntp放大攻击

在ntp协议的服务器上,通常会实现一系列mode7调试接口,而接口中的monlist请求能够获取到与目标ntp服务器进行同步的最后600个客户端的ip地址等信息,只需要发送一个很小的包,就能够出发大量连续的包含ip地址信息等数据的udp相应数据包

(4)  snmp放大攻击

使用udp161端口

利用snmp协议中的默认通信字符串和getbulk请求,使用默认通信字符串作为认证凭据

 


攻击系统资源

攻击TCP连接

1.    tcp连接洪水攻击

在三次握手连接过程,服务器会创建并保存tcp连接的信息,这个信息通常被保存在连接表结构中,但是连接表的大小是有限的,一旦服务器接受到链接数量超过了连接表能存储的数量,服务器就无法创建新的tcp连接了

2.    syn洪水攻击

在建立tcp连接的过程中,如果服务器返回syn和ack报文后,客户端由于某种原因没有对其进行确认,这是服务器端机需要重传syn+ack报文,并等待客户端的确认报文直到tcp连接超时,这种等待客户确认连接状态通常被称为半开连接,在断开连接之前,半开连接会一直保存在服务器的连接表中

原始套接字的魔力

 

3.    psh和ack洪水攻击

如果待发送的数据会清空发送缓冲区,那么操作系统的tcp/ip协议栈就会自动为改tcp数据包设置psh标志,同样当服务端接收到了一个设置了psh+sck标志的报文时,意味着当前数据传输已经结束,因此需要立即将这些数据递交给服务进程并清空接收缓冲区,而无需等待判断是否还会有额外的数据到达

攻击者利用受控主机向攻击目标发送大量的psh和ack数据包是,被攻击目标就会消耗大量的系统资源不断的进行接收缓冲区的清空处理,导致无法正常处理数据

4.    rst洪水攻击

在tcp连接的终止阶段,通常是通过带有fin标志报文的四次交互,来切断客户端与服务端的连接,但是客户端或服务器其中之一出现异常状况,无法正常地完成tcp四次挥手以终止连接时,就会使用RST报文将连接强制中断

 

在tcp连接中,rst表示复位,用来在异常时关闭连接,发送端再发送rst报文关闭连接时,不需要等待缓冲区中的数据报全部发送完毕,而会直接丢弃缓冲器的数据并发送rst报文,同样,接收端在收到rst报文后,也会清空缓冲区并关闭连接,并且不必发送ack报文进行确认

在伪造rst报文的过程中,服务器端的ip地址和端口号是已知的,攻击者还需要设法获得客户端的ip地址和端口号,并且使rst报文的序列处于服务器的接收窗口之内,如果攻击者和被攻击者处于同一内网,这些信息可以通过欺骗和嗅探等方式获得

nmap空闲扫描

5.    Sockstress攻击(慢速攻击)

在tcp传输数据时,并不是将数据直接递交给应用程序处理,而是先临时存储在接受缓冲区中,该缓冲区的大小是由tcp窗口表示的。如果tcp窗口的大小为0,则表示接受缓冲区已被填满,发送端应该停止发送数据,直到接收端的窗口发生了更新。

Sockstree攻击首先会完成tcp三次握手已建立tcp连接,但是在三次握手的最后一次ack应答中,攻击者将其tcp窗口设置为0,随后进行一次数据请求。攻击目标在传输数据时发现接受端tcp窗口大小为0,就会停止传输数据,并发出tcp窗口探测包,询问攻击者其tcp窗口是否有更新。由于攻击者没有更改tcp窗口的大小,被攻击目标就会一直维持tcp连接等待数据发送,并不断进行窗口更新的探测,如果攻击者利用大量的受控主机进行sockstree攻击,被攻击目标会一直维持大量的tcp连接并进行大量窗口更新探测,其tcp连接表会逐渐耗尽

 

 

 

攻击应用资源

攻击SSL连接

SSL 能够在传输层对网络进行加密,以防止传输的数据明文被监听和截获,但是,ssl协议加密。解密和秘钥协商过程会消耗大量的系统资源,严重降低机器性能

如果使用rsa系列的公钥密码算法,那么服务器索要消耗的资源会比客户端多。

1.    THC SSL DoS攻击

在进行SSL数据传输之前,通信双方首先要进行SSL握手,已协商加密算法交换加密秘钥,进行身份认证,通常情况下,这样的SSl握手过程只需要进行一次即可,但是在SSL协议中有一个Regegotiation选项,通过它可以进行秘钥的重新协商以建立新的密钥,攻击者反复不断的进行密钥重新协商过程,而密钥重协商过程需要服务器投入比客户端多15倍的cpu计算资源,另外,即使服务器不支持Renegotiation,攻击者依然可以通过另行打开新的SSL连接的方式来制造类似的攻击效果

2.    SSL洪水攻击

在数据传输之前,进行SSL握手过程中发动攻击。攻击者并不需要完成SSL握手和密钥交换,而只需要在这个过程让服务器区解密和验证,就能够大量的消耗服务器的计算资源(SSLSqueeze工具)

 

 

攻击DNS服务

 

1.        DNS QUERY洪水攻击

在DNS解析过程中,客户端发起一次查询请求,DNS服务器可能需要进行额外的多次查询才能完成解析的过程并给出应答,在这个过程中会消耗一定计算和网络资源。如果攻击者利用大量受控主机不断发送不同域名的解析请求,那么DNS服务器的缓存会被不断刷新,而大量解析请求不能命中缓存又导致DNS服务器必须消耗额外的资源进行迭代查询,这会极大的增加DNS服务器的资源消耗

 

3.    DNS NXDOMAIN 洪水攻击

在进行DNS NXDOMIAN洪水攻击时,dns服务器会进行多次域名查询,同时,其缓存会被大量NXDOMAIN记录所填满,导致响应正常用户的DNS解析请求速度变慢

 

前者是向DNS服务器查询一个不存在的服务器,而后者是查询一个真实存在的域名

 

攻击web服务

1.    HTTP洪水攻击

由于http协议是基于tcp协议的,需要完成三次握手建立 tcp连接才能开始http通信,因此进行http洪水攻击时无法使用伪造源ip地址的方式发动攻击,这时攻击者通常会使用http代理服务器,不仅可以隐藏来源以避免被追查,还能够提高攻击效率—攻击者连接代理服务器并发送完请求后,可以直接切断与该代理服务器的连接并开始连接下一个代理服务器,这时代理服务器与目标web服务器的http连接依然保持,web服务器需要继续接受数据并处理,高效的http洪水攻击应不断发出针对不同资源和页面的http请求,并尽可能请求无法被缓存的资源(如关键词搜索。用户相关资料等)

2.    Slowloris攻击

在http协议规定中,http头部已连续的”\r\n\r\n”作为结束标志,许多web服务器在处理http请求的拖布信息时,会等待头部传输结束后再进行处理。因此,如果web服务器没有接收到连续“\r\n\r\n”,就会一直接收数据并保持与客户端的连接

攻击者在发送http get请求时,缓慢的发送无用的header字段,并且一直不发送“\r\n\r\n”结束标志,这样就能够长时间占用与web服务器的连接并保证该链接不被超时中断,然而服务器能够处理的并发连接数是有限的,如果攻击者利用大量的受控主机发送这种不完整的请求并持续占用,就会耗尽连接资源(slowhttptest工具)iis nginx 等一份web服务器软件针对该攻击方法进行了修改,但是apache,dhttpd等web服务器依然会受到slowloris攻击

3.    慢速post请求攻击

攻击者在发送http post请求时,在请求头部中将Content-Length 设置为一个很大的值,并将htttp body 以非常缓慢的速度一个字节一个字节的向web服务器发送,web服务器就一直需要维持与客户端的连接并等待数据传输结束。由于content-length 被设置成了很大的值,而http body 的传输速度非常缓慢,攻击者就可以长时间占用这个连接

4.    数据处理过程攻击

略 。。看不懂

 

 

混合攻击

再适当的时机使用适当的工具进行合理的攻击

=-=

摘自 破坏之王

原创粉丝点击