分布式拒绝服务攻击的精髓是:利用分布式的客户端,向目标发起大量看上去合法的请求,消耗或者占用大量资源,从而达到拒绝服务的目的。
其主要攻击方法有4种:
1、 攻击带宽
跟帝都的交通堵塞情况一样,大家都该清楚,当网络数据包的数量达到或者超过上限的时候,会出现网络拥堵、响应缓慢的情况。DDoS就是利用这个原理,发送大量网络数据包,占满被攻击目标的全部带宽,从而造成正常请求失效,达到拒绝服务的目的。
攻击者可以使用ICMP洪水攻击(即发送大量ICMP相关报文)、或者UDP洪水攻击(即发送用户数据报协议的大包或小包),使用伪造源IP地址方式进行隐匿,并对网络造成拥堵和服务器响应速度变慢等影响。
但是这种直接方式通常依靠受控主机本身的网络性能,所以效果不是很好,还容易被查到攻击源头。于是反射攻击就出现,攻击者使用特殊的数据包,也就是IP地址指向作为反射器的服务器,源IP地址被伪造成攻击目标的IP,反射器接收到数据包的时候就被骗了,会将响应数据发送给被攻击目标,然后就会耗尽目标网络的带宽资源。
2、 攻击系统
创建TCP连接需要客户端与服务器进行三次交互,也就是常说的“三次握手”。这个信息通常被保存在连接表结构中,但是表的大小有限,所以当超过了存储量,服务器就无法创建新的TCP连接了。
攻击者就是利用这一点,用受控主机建立大量恶意的TCP连接,占满被攻击目标的连接表,使其无法接受新的TCP连接请求。如果攻击者发送了大量的TCP SYN报文,使服务器在短时间内产生大量的半开连接,连接表也会被很快占满,导致无法建立新的TCP连接,这个方式是SYN洪水攻击,很多攻击者都比较常用。
3、 攻击应用
由于DNS和Web服务的广泛性和重要性,这两种服务就成为了消耗应用资源的分布式拒绝服务攻击的主要目标。
比如向DNS服务器发送大量查询请求,从而达到拒绝服务的效果,如果每一个DNS解析请求所查询的域名都是不同的,那么就有效避开服务器缓存的解析记录,达到更好的资源消耗效果。当DNS服务的可用性受到威胁,互联网上大量的设备都会受到影响而无法正常使用。
近些年,Web技术发展非常迅速,如果攻击者利用大量的受控主机不断地向Web服务器恶意发送大量HTTP请求,要求Web服务器处理,就会完全占用服务器资源,让正常用户的Web访问请求得不到处理,导致拒绝服务。一旦Web服务受到这种攻击,就会对其承载的业务造成致命的影响。
4、 混合攻击
在实际的生活中,并不关心自己使用的哪种攻击方法管用,只要能够达到目的,一般就会发动其所有的攻击手段,尽其所能的展开攻势。对于被攻击目标来说,需要面对不同的协议、不同资源的分布式拒绝服务攻击,分析、响应和处理的成本就会大大增加。
随着僵尸网络向着小型化的趋势发展,为降低攻击成本,有效隐藏攻击源,躲避安全设备,同时保证攻击效果,针对应用层的小流量慢速攻击已经逐步发展壮大起来。因此,从另一个角度来说,DDoS攻击方面目前主要是两个方面:UDP及反射式大流量高速攻击、和多协议小流量及慢速攻击。
也说说DDoS的攻击工具
国人比较讲究:工欲善其事必先利其器。随着开源的DDoS工具扑面而来,网络攻击变得越来越容易,威胁也越来越严重。 工具有很多,简单介绍几款知名的,让大家有个简单了解。
LOIC
LOIC
LOIC低轨道离子炮,是一个最受欢迎的DOS攻击的淹没式工具,会产生大量的流量,可以在多种平台运行,包括Linux、Windows、Mac OS、Android等等。早在2010年,黑客组织对反对维基解密的公司和机构的攻击活动中,该工具就被下载了3万次以上。
LOIC界面友好,易于使用,初学者也可以很快上手。但是由于该工具需要使用真实IP地址,现在Anonymous已经停用了。
HULK (HTTP Unbearable Load King)
3 d-呈现虚拟空间中的抽象代码块。计算机代码中的摄像头
HULK
HULK是另一个DOS攻击工具,这个工具使用UserAgent的伪造,来避免攻击检测,可以通过启动500线程对目标发起高频率HTTP GET FLOOD请求,牛逼的是每一次请求都是独立的,可以绕过服务端的缓存措施,让所有请求得到处理。HULK是用Python语言编写,对获得源码进行更改也非常方便。
R.U.D.Y.
R-U-Dead-Yet是一款采用慢速HTTP POST请求方式进行DOS攻击的工具,它提供了一个交互式控制台菜单,检测给定的URL,并允许用户选择哪些表格和字段应用于POST-based DOS攻击,操作非常简单。
R.U.D.Y.
而且它也使用的是Python语言编写,可移植性非常好。R.U.D.Y.能够对所有类型的Web服务端软件造成影响,因此攻击的威胁非常大。
这些工具在保持攻击力的同时还再加强易用性,而免费和开源降低了使用的门槛,相信随着攻防对抗的升级,工具会越来越智能化。