- 帖子
- 575
- 积分
- 1897
- 威望
- 2479
- 金钱
- 15914
- 在线时间
- 175 小时
|
拒绝服务攻击法
拒绝服务攻击(DOS,Deny of Service)是以停止目标主机的网络服务为目的。采用这种攻击方法时,攻击者不需获取目标主机的任何操作权限,就可以对目标主机进行攻击。其攻击原理是:利用各种手段不断向目标主机发送虚假请求或垃圾信息等,使目标主机一直处于忙于应付或一直处于等待回应的状态而无法为其他主机提供服务。
常见的拒绝服务攻击方法包括广播风暴、SYN淹没、IP分段攻击、OoB攻击、分布式攻击和IIS上传攻击等。
1.广播风暴
当某台主机使用广播地址发送一个ICMP echo请求包时,其他一些主机会向该主机回应ICMP echo应答包。如果不断地发送这样的数据包,则会有大量的数据包被回应到相应的主机上,导致该主机一直处于接收响应数据包的状态而无法做其他的事。广播风暴就是基于这样一个原理。攻击者在广播发送ICMP echo请求包前,先将源地址指定为被攻击的主机的IP地址,然后,开始连续发送ICMP echo请求包,进而导致大量的回应数据包被发送到所攻击的主机上,以消耗它的网络带宽和CPU周期,使其服务中断。
2.SYN淹没
正常情况下,建立一个TCP连接需要一个三方握手的过程,即需要进行三次包交换。当服务器收到一个由客户机发来的SYN包时,必须回应一个SYN/ACK包,然后再等待该客户机回应一个ACK包来确认后,才建立连接。但是,如果客户机只发送SYN包,而不向服务器发送确认包,则导致服务器一直处于等待状态直到超时为止。SYN淹没攻击就是利用这样一个原理,定时向服务器发送SYN包而不去回应它,致使服务器无法响应其他客户的请求,服务被中断。
3.IP分段攻击
某些操作系统(如早期的Linux)在处理分段的IP数据包时,存在一个致命的漏洞。当IP包被分段发送时,操作系统需要将分段的IP包组合成一个完整的IP包。在这个组合过程中,需要不断地调整和计算每一个IP分段在IP包中的数据偏移地址和有效长度,直到组合完成。如果计算出某个IP分段的有效长度为负数,那么,将会导致向内核缓冲区复制大量的数据,从而死机。IP分段攻击就是利用这个漏洞,故意使操作系统计算出负数,造成系统崩溃。
通常,攻击者向目标主机发送两个特殊的IP分段包(正常情况下,不会有这样的分段),第1个IP分段包的数据偏移地址为0,有效长度为N,分段标志位置1,表示后面还有IP分段包。第2个IP分段包的数据偏移地址为K,并使K<N,有效数据长度为S,并使K+S<N,分段标志位置0,表示后面没有IP分段包了。
目标主机收到第2个IP分段包后,发现该分段的偏移地址指向了第1个分段中的有效数据部分(如果K≥N,则不会出现这个问题),这时,操作系统需要调整第2个分段的数据偏移地址和有效长度的值。调整后,第2个分段的数据偏移地址为N,有效长度为((K+S)-N),因此得到第2个IP分段的有效长度为负数,导致系统瘫痪。
4.OoB攻击
在某些网络协议中,没有全面考虑如何处理带外数据OoB(Out of Band)的问题,一旦遇到带外数据将会导致异常发生。
例如,Windows 95/NT下的NetBIOS协议对带外数据的处理就存在明显的漏洞。当一个数据包以OoB方式发送到某些端口上(如113, 137, 138, 139)时,就可能造成死机。
5.分布式攻击
由于攻击者自身的带宽有限,所以很难通过大量的网络传输来威胁目标主机。为了克服自身带宽的限制,出现了分布式拒绝服务攻击(DDoS,Distributed Deny of Service)。攻击者把攻击用的工具软件驻留到多台主机上,利用这些主机的带宽一起向目标主机发送大量的具有欺骗性的请求信息,致使目标主机中断服务。这种攻击方法,即使目标主机没有漏洞,也能对目标主机构成严重威胁,导致目标主机的服务中断。
这些分布在不同主机上的攻击者可以采用相同的请求格式,也可以采用不同的请求格式,使目标主机顾此失彼,无力回天,如图3-3所示。
| 图3-3 分布式拒绝服务攻击示意图 | TFN(Tribe Flood Network)攻击就采用了分布式攻击的方法。TFN由客户机和端口监控程序构成,可选择广播风暴、SYN淹没、UDP等多种攻击手段,同时提供了一个绑定在TCP端口上的即时响应的命令处理器。攻击者可控制一个或多个客户机,每个客户机能够控制多个端口监控程序,并通过指令来控制端口监控制程序向目标主机发起攻击。
6.IIS上传攻击
在Internet服务中,某些协议对上传到服务器上的数据长度一般没有限制,这使得拒绝服务攻击十分容易。例如,在HTTP协议中,利用POST方法上传数据时,所上传的数据长度是由字段Content Lenth指定的,但没有大小限制。如果用户指定一个非常大的数值,则导致IIS一直等待接收这些数据,直到传送完成,才会释放所占用的内存资源。攻击者就是利用这种缺陷,轻而易举地向IIS发送大量的垃圾数据,导致服务器的内存资源耗尽。当内存资源不足时,服务器将会频繁使用磁盘缓冲区进行数据交换,CPU的处理速度明显下降。
这种攻击由于采用了协议所支持的正确格式,并且IIS一直处于接收状态,因此,在IIS的日志上也不会记录该操作(只有在操作结束时才记录),所以很难被发现。除非对上传的数据长度值进行限制,否则,防火墙也不会发现这样的攻击行为。 |
|