免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: Au_Hank
打印 上一主题 下一主题

[网络子系统] 我写的高性能,简化的SYNCOOKIE实现 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2007-09-14 10:48 |只看该作者
原帖由 swingcoder 于 2007-9-14 10:40 发表
window下有什么好的协议捕捉软件,我装的是WIN2000专业版。除了WIN自带的那个网络捕捉器外。


ethereal很好用

论坛徽章:
0
22 [报告]
发表于 2007-09-14 10:53 |只看该作者
原帖由 Au_Hank 于 2007-9-14 10:48 发表


那不是破坏firewall规则了吗? 还没有检查规则就给别人syn ack?
另外,我建议firewall (在前面)和 synproxy (在后面)分开 (服务器在最后面),获得更好的性能

也是啊……
不过我想,若继续交给后面处理,若 DROP 的话形成 blackhole,自己就不理会了
若后面没有防火墙,server 会返回 RST,自己转发给 client
这样可以吗

[ 本帖最后由 platinum 于 2007-9-14 10:55 编辑 ]

论坛徽章:
0
23 [报告]
发表于 2007-09-14 11:11 |只看该作者
原帖由 platinum 于 2007-9-14 10:53 发表

也是啊……
不过我想,若继续交给后面处理,若 DROP 的话形成 blackhole,自己就不理会了
若后面没有防火墙,server 会返回 RST,自己转发给 client
这样可以吗


应该也可以,不过黑客要被你弄晕了, 扫描你的port全部都是开放的

论坛徽章:
0
24 [报告]
发表于 2007-09-14 11:31 |只看该作者
原帖由 Au_Hank 于 2007-9-14 11:11 发表


应该也可以,不过黑客要被你弄晕了, 扫描你的port全部都是开放的

论坛徽章:
0
25 [报告]
发表于 2007-09-14 15:18 |只看该作者
要解决DDOS可能还是要从基于用户行为上下功夫,类似spamassist,配合netfiler,一发现有滥用行为的connection就block

[ 本帖最后由 swingcoder 于 2007-9-14 15:21 编辑 ]

论坛徽章:
0
26 [报告]
发表于 2007-09-14 16:06 |只看该作者
原帖由 swingcoder 于 2007-9-14 15:18 发表
要解决DDOS可能还是要从基于用户行为上下功夫,类似spamassist,配合netfiler,一发现有滥用行为的connection就block


有道理. 尤其是网络管理员应该设置规则,禁止伪造源地址包的传播

论坛徽章:
0
27 [报告]
发表于 2007-09-14 22:36 |只看该作者
我虽然不是看的很懂,但我在比较了secure_tcp_syn_cookie(老函数)和new_secure_tcp_syn_cookie(新函数)之后,有一个直觉,你的新函数是不安全的。
关键就在于原来的老函数当中使用的是不可逆的hash计算,而你的新函数却是可逆的。

因此客户端有可能通过发送ack包来成功攻击。

方法:
首先客户端在不伪造ip的情况下发送syn包,然后正常接收到你的回应(包含cookie),由于你计算isn的的函数是可逆的(当然也是开源的),因此他就可以反推出你的new_syncookie_secret值,而这个值好像不是频繁变化的吧?
这个都知道了,攻击当然就轻而易举了

PS:只是花了两分钟粗略的看了看,很可能思考的很不严密,见笑了

[ 本帖最后由 csfrank 于 2007-9-14 23:12 编辑 ]

论坛徽章:
0
28 [报告]
发表于 2007-09-15 01:45 |只看该作者
要知道算法,那么就可以破解攻破
若不知道算法,如黑盒一般,那就不好猜测了

论坛徽章:
0
29 [报告]
发表于 2007-09-15 06:24 |只看该作者
原帖由 csfrank 于 2007-9-14 22:36 发表
我虽然不是看的很懂,但我在比较了secure_tcp_syn_cookie(老函数)和new_secure_tcp_syn_cookie(新函数)之后,有一个直觉,你的新函数是不安全的。
关键就在于原来的老函数当中使用的是不可逆的hash计算,而你的 ...


你说的对,我最担心的就是这个问题.希望有数学高手来分析一下这个算法是否很容易破解

这个算法很简单,所以非常高效. 主要是去猜测1024字节的密码应该非常困难吧?

论坛徽章:
0
30 [报告]
发表于 2007-09-15 08:15 |只看该作者
原帖由 platinum 于 2007-9-15 01:45 发表
要知道算法,那么就可以破解攻破
若不知道算法,如黑盒一般,那就不好猜测了

你说的不尽然,要成为一个成功的加密算法,必须是白盒才行。对称加密和非对称加密与本帖无关,这里就不说了。
我只说一下合格的散列算法必须满足的条件:
假定 一个hash算法的函数是
y=f(x),并且f(x)是公开的

在这种情况下,告诉你y的值,以当前的计算机速度,不可能在短时间内(100年也算是短时间)找到对应的x
但同时,知道x的值,却可以飞快(比如:<1秒)的计算出y的值。

也近似的相当于f(x)不存在反函数。

这就是hash函数的要害所在。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP