纵观网络安全攻击的各种方式方法,其中DDoS类的攻击会给你的网络系统造成更大的危害。因此,了解DDoS,了解它的工作原理及防范措施,是一个计算机网络安全技术人员应必修的内容之一。
一、DDoS的概念
要想理解DDoS的概念,我们就必须先介绍一下DoS(拒绝服务),DoS的英文全称是Denial of Service,也就是“拒绝服务”的意思。从网络攻击的各种方法和所产生的破坏情况来看,DoS算是一种很简单但又很有效的进攻方式。它的目的就是拒绝你的服务访问,破坏组织的正常运行,最终它会使你的部分Internet连接和网络系统失效。DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务。DoS攻击的原理如图1所示。
图 1 [attachment=5440060]
从图1我们可以看出DoS攻击的基本过程:首先攻击者向服务器发送众多的带有虚假地址的请求,服务器发送回复信息后等待回传信息,由于地址是伪造的,所以服务器一直等不到回传的消息,分配给这次请求的资源就始终没有被释放。当服务器等待一定的时间后,连接会因超时而被切断,攻击者会再度传送新的一批请求,在这种反复发送伪地址请求的情况下,服务器资源最终会被耗尽。
DDoS(分布式拒绝服务),它的英文全称为Distributed Denial of Service,它是一种基于DoS的特殊形式的拒绝服务攻击,是一种分布、协作的大规模攻击方式,主要瞄准比较大的站点,象商业公司,搜索引擎和政府部门的站点。从图1我们可以看出DoS攻击只要一台单机和一个modem就可实现,与之不同的是DDoS攻击是利用一批受控制的机器向一台机器发起攻击,这样来势迅猛的攻击令人难以防备,因此具有较大的破坏性。DDoS的攻击原理如图2所示。
图 2 [attachment=5440061]
DDoS攻击原理
从图2可以看出,DDoS攻击分为3层:攻击者、主控端、*****端,三者在攻击中扮演着不同的角色。
1、攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。
2、主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的*****主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到*****主机上。
3、*****端:*****端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。*****端主机是攻击的执行者,真正向受害者主机发送攻击。
攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的*****端。最后各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。由于攻击者在幕后操纵,所以在攻击时不会受到监控系统的跟踪,身份不容易被发现。
二、DoS攻击常用的手法
DoS(拒绝服务攻击):通过使你的服务计算机崩溃或把它压跨来阻止你提供服务。简单的来说,就是让你的计算机提供可能多的服务从而使你的计算机陷入崩溃的边缘或崩溃。一般服务拒绝攻击有如下的一些常用的手法:
1.死亡之ping
利用许多TCP/IP实现相信ICMP包是正确组织的而且它们对这些包进行的错误校验太少的事实。通过产生畸形的、声称自己的尺寸超出可能的上限的ICMP应答请求包来传播。包的最大尺寸是65535字节,声称其尺寸大雨65500字节的包由于内存分配错误,TCP/IP实现将崩溃。
解决办法:正确的配置操作系统与防火墙,阻断ICMP以及任何未知协议,都可以防止此类攻击。
2.泪滴(teardrop)
泪滴攻击利用那些在TCP/IP堆栈实现中信任IP碎片中的包的标题头所包含的信息来实现自己的攻击,也就是某些TCP/IP实现中分段重新组装进程中存在的潜在弱点被人利用。
解决办法:服务器应用最新的服务包,或者在设置防火墙时对分段进行重组,而不是转发它们。
3.UDP洪水(UDP flood)
利用简单的TCP/IP服务,如CHARGEN和ECHO来传送毫无用处的占满带宽的无用数据。
解决办法:关掉不必要的TCP/IP服务,还有就是对防火墙进行配置,阻断来自Internet的请求这些服务的UDP请求。
4.SYN洪水(SYN flood)
利用TCP连接机制的攻击。该攻击以多个随机的源主机地址向目的主机发送SYN包,而在收到目的主机的SYN ACK后并不回应,这样,目的主机就为这些源主机建立了大量的连接队列,而且由于没有收到ACK一直维护着这些队列,造成了资源的大量消耗而不能向正常请求提供服务。
解决办法:在防火墙上过滤来自同一主机的后续连接,当然还要根据实际的情况来判断。
5.Land攻击
利用Land攻击时,一个特别的SYN包它的原地址和目标地址都被设置成某一个服务器地址,此举将导致接受服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接,每一个这样的连接都将保留直到超时掉,
解决办法:打最新的补丁。
6.Smurf攻击
smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求数据包来淹没受害主机的方式进行,最终导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞。
解决办法:去掉ICMP服务。
7.Fraggle攻击
Fraggle攻击对Smurf攻击作了简单的修改,使用的是UDP应答消息而非ICMP
解决办法:滤掉UDP应答消息
8.电子邮件炸弹
常用的手法也是比较简单的手法,黑客通过向你的电子邮件服务器反复发送同一个大型电子邮件文件就可以淹没它。
解决办法:对邮件地址进行适当的配置
9.畸形消息攻击
如果收到畸形的信息各类操作系统上的许多服务都会崩溃,由于这些服务在处理信息之前不能对他们进行适当的错误检验。