solidot | openssl renegotiation dos攻击仍然难以解决

我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  
shawn the r0ck 写道 "2011年报出的openssl重新密钥协商会导致dos攻击,漏洞报出后没多久一个黑客组织放出了dos攻击工具,这个代号cve-2011-1473的漏洞至今openssl upstream并没有具体的修复方案,这个烂摊子留给了具体的应用程序开发者,比如apache2给了相应的配置文件可以直接关闭密钥重新协商:

shawn@fortress / $ openssl s_client -connect build.opensuse.org:443

..............................

..............................

timeout&& : 300 (sec) &&&

verify return code: 20 (unable to get local issuer certificate) ---

r&& // 这里按r然后回车

renegotiating 140722018514592:error:1409e0e5:ssl routines:ssl3_write_bytes:ssl handshake failure:s3_pkt.c:592:

服务器端的重新密钥协商的开销是客户端的15倍,在带宽足够的情况下一台i7的cpu可以fuc*掉足够多的服务器,以下是测评数据:

测试环境:sles 11 sp2 , 虚拟机中分配了2 cores + 1gb内存

case i:

server: openssl s_server -key server-key.pem

client: thc-ssl-dos 192.168.0.1 4433 --accept -l 10000

最坏的情况:

cpu0 : 1.3%us, 1.7%sy, 0.0%ni, 97.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

cpu1 : 53.1%us, 5.1%sy, 0.0%ni, 37.1%id, 0.0%wa, 0.0%hi, 0.7%si, 0.0%st

case ii:& 使用了开源加固方案,在netfilter上限制连接的速率和用固定的特征码去匹配

#sh iptables.sh

#iptables -a input -d 192.168.0.1 -p tcp --dport 4433 -j limit_renegociation

server: openssl s_server -key server-key.pem

client: thc-ssl-dos 192.168.0.1 4433 --accept -l 10000

最坏的情况:

cpu0 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

cpu1 : 0.0%us, 0.7%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

这个方案的确有效,但不确定是否有副作用,固定的特征如果跟其他hash or 其他xx碰撞是否会有false positive?"

随意打赏

提交建议
微信扫一扫,分享给好友吧。