源,使服务器无法提供正常的查询请求。从以上 4种DoS攻击手段可以看出,DoS攻击的基本过程包括以下几个阶段:①攻击者向被攻击者发送众多的带有虚假地址的请求;②被攻击者发送响应信息后等待回传信息;③由于得不到回传信息,使系统待处理队列不断加长,直到资源耗尽,最终达到被攻击者出现拒绝服务的现象。 2 DDOS攻击
DoS攻击主要是采用一对一的攻击方式。当目标计算机的配置较低或网络带宽较小时,其攻击的效果较为明显。随着计算机及网络技术的发展,计算机的处理能力迅速增长,网络带宽也从百兆发展到了千兆、万兆,DoS攻击很难奏效。DDoS攻击是DoS攻击的一种演变,它改变了传统的一对一的攻击方式,利用网络调动大量傀儡机,同时向目标主机发起攻击,攻击效果极为明显。 被DDOS攻击时一般回出现以下几中情况: 1、被攻击主机上有大量等待的TCP连接。
2、网络中充斥着大量的无用的数据包,源地址为假。
3、制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯。
4、利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求。 5、严重时会造成系统死机。 (1) DDOS攻击原理
DDoS主要采用了比较特殊的3层客户机/服务器结构,即攻击端、
主控端和代理端,这3者在攻击中各自扮演着不同的角色。攻击者:攻击者所用的计算机是攻击主控台,可以是网络上的任何一台主机,甚至可以是一个活动的便携机。攻击者操纵整个攻击过程,它向主控端发送攻击命令。主控端:主控端是攻击者非法侵入并控制的一些主机,这些主机还分别控制大量的代理主机。主控端主机的上面安装了特定的程序,因此它们可以接受攻击者发来的特殊指令,并且可以把这些命令发送到代理主机上。代理端:代理端同样也是攻击者侵入并控制的一批主机,它们上面运行攻击器程序,接受和运行主控端发来的命令。代理端主机是攻击的执行者,真正向受害者主机发送攻击。攻击者发起DDoS攻击的第一步,就是寻找在Internet上有漏洞的主机,进入系统后在其上面安装后门程序,攻击者入侵的主机越多,他的攻击队伍就越壮大。第二步在入侵主机上安装攻击程序,其中一部分主机充当攻击的主控端,一部分主机充当攻击的代理端。最后各部分主机各司其职,在攻击者的调遣下对攻击对象发起攻击。这种3层客户机/服务器结构,使DDos具有更强的攻击能力,并且能较好地隐藏攻击者的真实地址。
图五
DDoS攻击一旦实施,攻击数据包就会像洪水般地从四面八方涌向被攻击主机,从而把合法用户的连接请求淹没掉,导致合法用户长时间无法使用网络资源。 (2) DDOS攻击的主要形式
①通过大量伪造的IP 向某一固定目标发出高流量垃圾数据,造成网络拥塞,使被攻击主机无法与外界通信。
②利用被攻击主机提供的服务或传输协议上的缺陷,反复高速地发送对某特定服务的连接请求,使被攻击主机无法及时处理正常业务。
③利用被攻击主机所提供服务中数据处理上的缺陷,反复高速地发送畸形数据引发服务程序错误,大量占用系统资源,使被攻击主机处于假死状态,甚至导致系统崩溃。 3 Trinoo攻击软件进行DDOS攻击实例
DDoS攻击不断在Internet出现,并在应用的过程中不断的得到完善,已有一系列比较成熟的软件产品,如Trinoo、独裁者DDoS
攻击器、DdoSer、TFN、TFN2K等,他们基本核心及攻击思路是很相象的,下面就通过Trinoo对这类软件做一介绍。
Trinoo是基于UDP flood的攻击软件,它向被攻击目标主机随机端口发送全零的4字节UDP包,被攻击主机的网络性能在处理这些超出其处理能力垃圾数据包的过程中不断下降,直至不能提供正常服务甚至崩溃。它对IP地址不做假,采用的通讯端口是: 攻击者主机到主控端主机:27665/TCP 主控端主机到代理端主机:27444/UDP 代理端主机到主服务器主机:31335/UDP
Trinoo攻击功能的实现,是通过三个模块付诸实施的:1、攻击守护进程(NS);2、攻击控制进程(MASTER);3、客户端(NETCAT,标准TELNET程序等)。攻击守护进程NS是真正实施攻击的程序,它一般和攻击控制进程(MASTER)所在主机分离,在原始C文件NS.C编译的时候,需要加入可控制其执行的攻击控制进程MASTER所在主机IP,(只有在NS.C中的IP方可发起NS的攻击行为)编译成功后,黑客通过目前比较成熟的主机系统漏洞破解(如RPC.CMSD,RPC.TTDBSERVER,RPC.STATD)可以方便的将大量NS植入因特网中有上述漏洞主机内。NS运行时,会首先向攻击控制进程(MASTER)所在主机的31335端口发送内容为HELLO的UDP包,标示它自身的存在,随后攻击守护进程即处于对端口27444的侦听状态,等待MASTER攻击指令的到来。
攻击控制进程(MASTER)在收到攻击守护进程的HELLO包后,
会在自己所在目录生成一个加密的名为...的可利用主机表文件, MASTER的启动是需要密码的,在正确输入默认密码gOrave后, MASTER即成功启动,它一方面侦听端口31335,等待攻击守护进程的HELLO包,另一方面侦听端口27665,等待客户端对其的连接。当客户端连接成功并发出指令时, MASTER所在主机将向攻击守护进程ns所在主机的27444端口传递指令。
客户端不是Trinoo自带的一部分,可用标准的能提供TCP连接的程序,如TELNET,NETCAT等,连接MASTER所在主机的27665端口, 输入默认密码betaalmostdone后,即完成了连接工作,进入攻击控制可操作的提示状态。
目前版本的Trinoo有六个可用命令,mtimer:设定攻击时长,如mtimer 60,攻击60秒,如果不设置的话,默认是无限。dos:对某一目标主机实施攻击,如dos 12.34.45.56 mdie:停止正在实施的攻击,使用这一功能需要输入口令killme,mping:请求攻击守护进程NS回应,监测ns是否工作。mdos,对多个目标主机实施攻击,msize:设置攻击UDP包的大小。Trinoo运行的总体轮廓可用图5说