分布式拒绝服务攻击
分布式拒绝服务攻击可以使很多的计算机在同一时间遭受到攻击,使攻击的目标无法正常使用,分布式拒绝服务攻击已经出现了很多次,导致很多的大型网站都出现了无法进行操作的情况,这样不仅仅会影响用户的正常使用,同时造成的经济损失也是非常巨大的。
分布式拒绝服务攻击方式在进行攻击的时候,可以对源IP地址进行伪造,这样就使得这种攻击在发生的时候隐蔽性是非常好的,同时要对攻击进行检测也是非常困难的,因此这种攻击方式也成为了非常难以防范的攻击。
攻击原理
分布式拒绝服务攻击(英文意思是Distributed Denial of Service,简称DDoS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务攻击,其中的攻击者可以有多个。
分类
一、基于自动化程度分类
1、手工的DDoS攻击。
早期的DDoS攻击全是采用手动配置的,即发动DDoS攻击时,扫描远端有漏洞的计算机,侵入它们并且安装代码全是手动完成的。
2、半自动化的DDoS攻击。
在半自动化的攻击中,DDoS攻击属于主控端一代理端的攻击模型,攻击者用自动化的Scripts来扫描,主控端的机器对主控端和代理端之间进行协商攻击的类型、受害者的地址、何时发起攻击等信息由进行详细记录。
3、自动化的DDoS攻击。
在这类攻击中。攻击者和代理端机器之间的通信是绝对不允许的。这类攻击的攻击阶段绝大部分被限制用一个单一的命令来实现,攻击的所有特征,例如攻击的类型,持续的时间和受害者的地址在攻击代码中都预先用程序实现。
二、基于系统及协议的弱点分类
1、洪水攻击。
在洪水攻击中。傀儡机向受害者系统发送大量的数据流为了充塞受害者系统的带宽,影响小的则降低受害者提供的服务,影响大的则使整个网络带宽持续饱和,以至于网络服务瘫痪。典型的洪水攻击有UDP洪水攻击和ICMP洪水攻击。
2、扩大攻击。
扩大攻击分为两种,一种是利用广播lP地址的特性,一种是利用反射体来发动攻击。前一种攻击者是利用了广播IP地址的特性来扩大和映射攻击,导致路由器将数据包发送到整个网络的广播地址列表中的所有的广播IP地址。这些恶意的流量将减少受害者系统可提供的带宽。典型的扩大攻击有Smurf和Fraggle攻击。
3、利用协议的攻击。
该类攻击则是利用某些协议的特性或者利用了安装在受害者机器上的协议中存在的漏洞来耗尽它的大量资源。典型的利用协议攻击的例子是TCP SYN攻击。
4、畸形数据包攻击。
攻击者通过向受害者发送不正确的IP地址的数据包,导致受害系统崩溃。畸形数据包攻击可分为两种类型:IP地址攻击和IP数据包属性攻击。
三、基于攻击速率分类
DDoS攻击从基于速率上进行分类,可以分为持续速率和可变速率的攻击。持续速率的攻击是指只要开始发起攻击,就用全力不停顿也不消减力量。像这种攻击的影响是非常快的。可变速率的攻击,从名字就可以看出,用不同的攻击速率,基于这种速率改变的机制,可以把这种攻击分为增加速率和波动的速率。
四、基于影响力进行分类
DDoS攻击从基于影响力方面可以分为网络服务彻底崩溃和降低网络服务的攻击。服务彻底崩溃的攻击将导致受害者的服务器完全拒绝对客户端提供服务。降低网络服务的攻击,消耗受害者系统的一部分资源,这将延迟攻击被发现的时间,同时对受害者造成一定的破坏。
五、基于入侵目标分类
DDoS攻击从基于入侵目标,可以将DDoS攻击分为带宽攻击和连通性攻击,带宽攻击通过使用大量的数据包来淹没整个网络,使得有效的网络资源被浪费,合法朋户的请求得不到响应,大大降低了效率。而连通性攻击是通过发送大量的请求来使的计算机瘫痪,所有有效的操作系统资源被耗尽,导致计算机不能够再处理合法的用户请求。
六、基于攻击路线分类
1、直接攻击:攻击者和主控端通信,主控端接到攻击者的命令后,再控制代理端向受害者发动攻击数据流。代理端向受害者系统发送大量的伪IP地址的网络数据流,这样攻击者很难被追查到。
2、反复式攻击通过利用反射体,发动更强大的攻击流。反射体是任何一台主机只要发送一个数据包就能收到一个数据包,反复式攻击就是攻击者利用中间的网络节点发动攻击。
七、基于攻击特征分类
从攻击特征的角度,可以将DDoS攻击分为攻击行为特征可提取和攻击行为特征不可提取两类。攻击行为特征可提取的DDoS攻击又可以细分为可过滤型和不可过滤型。可过滤型的DDoS攻击主要指那些使用畸形的非法数据包。不可过滤型DDoS攻击通过使用精心设计的数据包,模仿合法用户的正常请求所用的数据包,一旦这类数据包被过滤将会影响合法用户的正常使用。
攻击现象
DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的攻击,即通过大量攻击包导致主机的内存被耗尽或CPU被内核及应用程序占完而造成无法提供网络服务。当被DDoS攻击时,主要表现为:
(1)被攻击主机上有大量等待的TCP连接。
(2)网络中充斥着大量的无用的数据包,源地址为假。
(3)制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。
(4)利用受害主机提供的服务或传输协议上的缺陷,反复高速地发出特定的服务请求,使受害主机无法及时处理所有正常请求。
(5)严重时会造成系统死机。
攻击流程
攻击者进行一次DDoS攻击大概需要经过了解攻击目标、攻占傀儡机、实际攻击三个主要步骤,下面依次说明每一步骤的具体过程:
1、了解攻击目标就是对所要攻击的目标有一个全面和准确的了解,以便对将来的攻击做到心中有数。主要关心的内容包括被攻击目标的主机数目、地址情况。目标主机的配置、性能、目标的带宽等等。对于DDoS攻击者来说,攻击互联网上的某个站点,有一个重点就是确定到底有多少台主机在支持这个站点,一个大的网站可能有很多台主机利用负载均衡技术提供服务。所有这些攻击目标的信息都关系到后面两个阶段的实施目标和策略,如果盲目的发动DDoS攻击就不能保证攻击目的的完成,还可能过早的暴露攻击者的身份,所以了解攻击目标是有经验的攻击者必经的步骤。
2、攻占傀儡主机就是控制尽可能多的机器,然后安装相应的攻击程序。在主控机上安装控制攻击的程序,而攻击机则安装DDoS攻击的发包程序。攻击者最感兴趣,也最有可能成为别人的傀儡主机的机器包括那些链路状态好、性能好同时安全管理水平差的主机。攻击者一般会利用已有的或者未公布的一些系统或者应用软件的漏洞.取得一定的控制权,起码可以安装攻击实施所需要的程序,更厉害的可能还会取得最高控制权、留下后门等等。在早期的DDoS攻击过程中,攻占傀儡主机这一步主要是攻击者自己手动完成的,亲自扫描网络,发现安全性比较差的主机,将其攻占并且安装攻击程序。但是后来随着DDoS攻击和蠕虫的融合,攻占傀儡机变成了一个自动化的过程,攻击者只要将蠕虫放入网络中,蠕虫就会在不断扩散中不停地攻占主机,这样所能联合的攻击机将变得非常巨大,DDoS攻击的威力更大。
3、DDoS攻击的最后一个阶段就是实际的攻击过程,攻击者通过主控机向攻击机发出攻击指令,或者按照原先设定好的攻击时间和目标,攻击机不停的向目标或者反射服务器发送大量的攻击包,来吞没被攻击者,达到拒绝服务的最终目的。和前两个过程相比,实际攻击过程倒是最简单的一个阶段,一些有经验的攻击者可能还会在攻击的同时通过各种手段检查攻击效果,甚至在攻击过程中动态调整攻击策略,尽可能清除在主控机和攻击机上留下的蛛丝马迹。