/ DDOS

hashDos-哈希表多碰撞实现拒绝服务及解决方案

起因:

Wed, 28 Dec 2011 22:28:16 GMT apache tomcat公布了一个安全漏洞。

http://mail-archives.apache.org/mod_mbox/www-announce/201112.mbox/<4EFB9800.5010106@apache.org>

漏洞原理:

依靠相应语言的hashtable/hashmap实现过程(request多为此结构),当不同的key存入时如果hash值相等则以链表方式连接在前面。此漏洞利用碰撞相同的hash值得到一个长链表,重新get时,map的计算过程会将时间复杂度巨增,原来一个简单的过程将变成一个很费cpu的过程。

影响到的:

最快时间tomcat公布了解决办法。

php进行了升级。

ms也发了公告http://technet.microsoft.com/en-us/security/bulletin/ms11-100。

解决办法:

tomcat

临时办法:

默认大小2097152,当maxPostSize=0时,不限制;maxPostSize=20971520时,为20M,改为一个小于10k的值,所有版本可用,会影响用户。

持久办法:

用新的版本,maxParameterCount默认值1000。

nginx

临时办法:

默认的最大请求body大小为8m,修改设置client_max_body_size=10k;此招为各种情况下万金油,会影响用户。

持久办法:

暂无,应该很快会有max_request_count的参数。

php

持久办法:

php升级到5.3.9,5.2需要打patch。详细见:http://www.laruence.com/2011/12/30/2440.html

转自http://www.54chen.com/

hashDos-哈希表多碰撞实现拒绝服务及解决方案
Share this