DoS攻击方法-NAPTHA

最近出现了一种新的DoS攻击方法,通常用NAPTHA来表示这一类攻击。NAPTHA主要利用了操作系统TCP/IP栈和网络应用程序需要使用一定的资源来控制TCP连接的特点。如果在短时间里不断的建立大量的TCP连接,并且不断开,使其保持在某个特定的状态,那么被攻击机对应端口的程序或整个操作系统会被很快消耗大量的系统资源而陷入瘫痪。在以前攻击TCP的方式通常是利用TCP三次握手的缺陷进行SYN Flood,如果要进行建立大量连接来耗尽对方资源,恐怕自己先耗尽了自己的资源。因为,利用虚假的IP很难进行真正的连接,而建立真正的连接,自己机器系统可能同样要耗费和被攻击机差不多的资源。这样的攻击也就失去了真正的意义。而现在NAPTHA利用一些技巧实现了利用自己机器上少量的资源就可以快速建立大量连接的方法,那么就使这种攻击成为了可能。

MAPTHA是一个非常有效的利用TCP连接保持状态来耗尽系统资源的例子.它不利用传统的那些网络API来实现建立TCP连接。与真正的TCP/IP堆栈不同,它不记录任何端口的状态,它只传输和回应那些标记包, 它可以很快的在被攻击机上建立成千上万的连接,而在攻击机上占用非常少的资源。那么它就能很容易的暴露并利用对方机器上特定服务程序或系统在TCP连接处理上的漏洞。
下面是几个例子:

- Novell's Netware 5.0 sp1 在524端口打开3000个连接后,所有的64M内存被耗尽,CPU 负荷达到100%. 在停止攻击12个小时后,服务器仍然没有复位连接和恢复内存。

- FreeBSD 4.0-REL 在SSH端口打开495个连接后,系统陷入瘫痪。由于每一个连接都打开一个实例,使得系统的文件句柄很快耗光,系统报错:"too many open files in system". 差不多 30 分钟后连接开始复位,系统开始恢复。

- Windows 2000 看起来并不受影响。

建议:
不幸的, 还有许多系统都不同程度的受到NAPTHA攻击的影响, 在这有一些小小的系统设置方面的建议

1. 限制开启的服务,尤其是那些易受到NAPTHA影响的服务。
2. 在unix系统里限定inetd产生的进程占用系统资源的大小。
3. 调整内核TCP默认连接参数。
# cat /proc/sys/net/ipv4/tcp_keepalive_time
7200
# cat /proc/sys/net/ipv4/tcp_keepalive_probes
9
# cat /proc/sys/net/ipv4/tcp_max_ka_probes
5
# echo 30 > /proc/sys/net/ipv4/tcp_keepalive_time
# echo 2 > /proc/sys/net/ipv4/tcp_keepalive_probes
# echo 100 > /proc/sys/net/ipv4/tcp_max_ka_probes

6. 可以用下列指纹利用ids系统侦测这种攻击。

IP:
TOS = Low Delay
ID = 413
TCP:
FLAGS = SYN
SEQ ID = 6060842
WINDOW = 512
在Snort (http://www.snort.org) 中填加 Naptha过滤规则:
alert tcp any any <> any any (flags:S; seq: 6060842; id: 413; msg: "NAPTHA DoS Attack"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值