浅析分布式拒绝服务攻击原理及防范

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅析分布式拒绝服务攻击原理及防范

摘要:在网络安全中,分布式拒绝服务攻击已经成为最大的威胁之一,由于破坏性大,而且难于防御成为黑客经常采用的攻击手段。本文简要分析了分布式拒绝服务攻击的原理和基本实施方法,并介绍了发生此类攻击时的防范和应对措施。

关键词:拒绝服务;分布式拒绝服务;网络安全;防火墙;数据包

1DDoS概念

DoS是Denial of Service的简称,中文译为拒绝服务,也就是有计划的破坏一台计算机或者网络,使主机或计算机网络无法提供正常的服务。DoS攻击发生在访问一台计算机时,或者网络资源被有意的封锁或者降级时。这类攻击不需要直接或者永久的破坏数据,但是它们故意破坏资源的可用性。最普通的DoS攻击的目标是计算机网络带宽或者是网络的连通性。带宽攻击是用很大的流量来淹没可用的网络资源,从而合法用户的请求得不到响应,导致可用性下降。网络连通性攻击是用大量的连接请求来耗尽计算机可用的操作系统资源,导致计算机不能够再处理正常的用户请求。

分布式拒绝服务(DDoS:Distributed Denial of Service)攻击,是在传统的拒绝服务攻击的基础上发展起来的网络攻击手段,具有危害巨大,难以预防等特点,是目前比较典型的一种黑客攻击手段。这种攻击主要借助于客户/服务器(C/S)技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS 攻击,从而成倍地提高拒绝服务攻击的威力。

高速广泛连接的网络给大家带来了方便,也为DDoS攻击创造了极为有利的条件。通常,攻击者通过入侵主机将DDoS主控程序安装在一个计算机上,在一个设定的时间主控程序将与大量代理主机通讯,代理程序已经被安装在Internet 上的许多计算机上。代理程序收到指令时就发动攻击。利用客户/服务器技术,主控程序能在几秒钟内激活成百上千个代理程序。

2受到攻击时的现象

当一台主机被DDoS攻击时,通常会显示如下现象:

2.1查看CPU使用率和内存利用率的变化

在主机上可以通过查看CPU使用率和内存利用率,来简单有效的了解服务器当前负载情况,如果发现服务器突然超负载运作,性能突然降低,这就有可能是受攻击的征兆。当然这也可能是正常访问网站人数增加的原因。

2.2被攻击的主机上有大量等待的TCP连接

当对一个Web站点执行DDoS 攻击时,大量到达的数据包(包括TCP包和UDP包)并不是网站服务连接的一部分,而是指向你机器任意的端口。这个站点的一个或多个Web服务会接到非常多的请求,最终使它无法再正常使用。在一个DDoS攻击期间,如果有一个不知情的用户发出了正常的页面请求,这个请求会完全失败,或者是页面下载速度变得极其缓慢,从而造成站点实际上无法使用。

2.3网络中充斥着大量的无用的数据包,源地址为假

黑客的目的就在于用大量的无效数据包来“淹没”正常的数据包,并且为了逃避追踪而采用伪造的源地址。这时网站的数据流量突然超出平常的十几倍甚至上百倍,而且同时到达网站的数据包分别来自大量不同的IP。

2.4制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯由于大量的无效数据耗尽了有限的资源,所以使得被攻击的主机无法和外界正常通讯。

2.5利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求。

3DDoS攻击原理

图1 分布式拒绝服务攻击体系结构

如图1所示,一个完整的DDoS攻击体系可分为四大部分:攻击者、主控端、代理端,和受害者。其中最重要的是前三个部分,分别扮演着不同的角色。

攻击者:攻击者所用的计算机是攻击主控台,由黑客直接操纵,它可以是网络上的任何一台主机,也可以是一台便携机。它向各个主控端发送攻击命令,从而操纵整个攻击过程。

主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制有大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。这些主控瑞只发布命令而不参与实际的攻击,目的在于迷惑攻击对象,从而掩护真正的攻击者。

代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,直接向目标主机发起攻击。典型情况是各个代理端同时向攻击对象发送大量的无效数据包,使目标无法处理而陷于瘫痪。从而达到攻击目的。

对于控制端和代理端的计算机,黑客通过入侵而取得控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自黑客的指令,通常它还会利用各种手段隐藏自己不被别人发现,比如更改日志等等。在平时,这些“傀儡”机器并没有什么异常,只是一旦黑客连接到它们进行控制,并发出指令的时候,就变成工具发起攻击了。

攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。最后各部分主机各司其职,在攻击者的调遣下对攻

击对象发起攻击。由于攻击者并不直接向目标发送数据,所以在攻击时不会受到监控系统的跟踪,身份不容易被发现。

SYN-Flood是目前最普遍也是最有效的DDoS攻击手段。SYN是指TCP(传输控制协议)数据包中用于表示建立连接的一个数据位。SYN-Flood是利用了面向连接的TCP协议三次握手机制本身的一个缺陷。假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN 时延,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源,有时是数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP 堆栈不够强大,最后的结果往往是堆栈溢出崩溃。即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称做:服务器端受到了SYN Flood攻击(SYN洪水攻击)。

TCP全连接攻击也是常见的DDoS攻击手段。这种攻击是为了绕过常规防火墙的检查而设计的,通常情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,由于很多网络服务程序(如:IIS、Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP 连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问。TCP全连接攻击就是通过许多傀儡主机不断地与受害机建立大量的TCP连接,直到受害机的内存等资源被耗尽而被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多傀儡主机,并且由于傀儡主机的IP是暴露的,因此容易被追踪。

4如何防范DDoS攻击

DoS攻击使用相对简单的攻击方法,就可以使目标系统完全瘫痪,甚至破坏整个网络。因此信息安全专家们认为,对付DDoS是一个系统工程,仅仅依靠某种系统或产品来防住DDoS是不现实的,可以肯定的是,完全杜绝DDoS目前是不可能的,只有从网络的全局着眼,在网间基础设施的各个层面上采取应对措施,包括在局域网层面上采用特殊措施,及在网络传输层面上进行必要的安全设置,并安装专门的DoS识别和预防工具,才能最大限度地减少DoS攻击所造成的损失。以下是一些具体的防范措施。

相关文档
最新文档