| 域名空间 下载中心 社区论坛 信息公告 my小屋 |
![]() |
联系我们 设为首页 加入收藏 |
|
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿 论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图 专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版 社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务 |
| 新版上线![旧版] | |||||
注:打开慢时请稍等
网络安全讲座之七:攻击与渗透(6)http://www.iyit.net 日期:2006-5-29 14:18:05 来源:网络转载 点击: |
构造tcp isn生成器的一些更直接的方法是:简单地选取一些随机数作为isn。这就是给定一个32位的空间,指定 isn = r(t)。(假设r()是完全的非伪随机数生成函数) 固然,对于完全随机的isn值,攻击者猜测到的可能性是1/232是,随之带来的一个问题是isn空间里面的值的互相重复。这违反了许多rfc(rfc 793, rfc 1185, rfc 1323, rfc1948等)的假设----isn单调增加。这将对tcp协议的稳定性和可靠性带来不可预计的问题。 其它一些由niels provos(来自openbsd 组织)结合完全随机方法和rfc 1948解决方案: isn = ((prng(t)) << 16) + r(t) 32位 其中 prng(t) :一组随机指定的连续的16位数字 0x00000000 -- 0xffff0000 r(t) :16位随机数生成器(它的高位msb设成0)0x00000000 -- 0x0000ffff 上面的公式被用于设计openbsd的isn生成器,相关的源代码可以从下面的网址获得 http://www.openbsd.org/cgi-bin/cvsweb/src/sys/netinet/tcp_subr.c provos的实现方法有效地生成了一组在给定时间内的不会重复的isn的值,每两个isn值都至少相差32k,这不但避免了随机方法造成的isn的值的冲突,而且避免了因为哈希函数计算带来的性能上的下降,但是,它太依赖于系统时钟,一旦系统时钟状态给攻击者知道了,就存在着系统的全局isn状态泄密的危机。 tcp isn生成器的构造方法的安全性评估 isn与prngs(伪随机数生成器) 我们很难用一台计算机去生成一些不可预测的数字,因为,计算机被设计成一种以重复和准确的方式去执行一套指令的机器。所以,每个固定的算法都可以在其他机器上生成同样的结果。如果能够推断远程主机的内部状态,攻击者就可以预测它的输出;即使不知道远程主机的pnrg函数,但因为算法最终会使isn回绕,按一定的规律重复生成以前的isn,所以,攻击者仍然可以推断isn。幸运的是,目前条件下,isn的重复可以延长到几个月甚至几年。但是,仍然有部分prng生成器在产生500个元素后就开始回绕。解决伪随机数的方法是引入外部随机源,击键延时,i/o中断,或者其它对攻击者来说不可预知的参数。把这种方法和一个合理的hash函数结合起来,就可以产生出32位的不可预知的tcp isn的值,同时又隐蔽了主机的pnrg的内部状态。不幸的是,很少的tcp isn产生器是按这种思路去设计的,但即使是这样设计的产生器,也会有很多的实现上的漏洞使这个产生器产生的isn具有可猜测性。 rfc1948的建议提供了一种比较完善的方法,但是,对攻击者来说,isn仍然存在着可分析性和猜测性。其中,prng的实现是个很关键的地方。 spoofing 集合 需要知道一点是,如果我们有足够的能力能够同时可以发出232个包,每个包由不同的isn值,那么,猜中isn的可能性是100%。但是,无论从带宽或计算机的速度来说都是不实际的。但是,我们仍然可以发大量的包去增加命中的几率,我们把这个发出的攻击包的集合称为spoofing集合。通常,从计算机速度和网络数据上传速率两方面来考虑,含5000个包的spoofing的集合对众多的网络用户是没有问题的,5000-60000个包的spoofing集合对宽带网的用户也是不成问题的,大于60000个包的spoofing集合则超出一般攻击者的能力。网络的速度和计算机性能的不断增加会提高那种使用穷尽攻击方法猜测isn的成功率。从攻击者的立场,当然希望能够通过定制一个尽可能小的spoofing集合,而命中的几率又尽可能高。我们假定我们攻击前先收集50000个包作为isn值的采样,然后,我们把这些isn用作对将来的isn的值猜测的依据。 一种称为“delay coordinates”的分析方法
方程组(e1)
而对于p.x=seq[t]-seq[t-1], 由于seq[t-1]已知,所以,我们可以把它当作是空间的一条直线。如果,在对以前的isn的采样,通过上面提到的构成的空间模型a呈现某种很强的特征,我们就可以大胆地假设,seq[t]在直线与a的交点上,或者在交点的附近。这样,seq[t]就这样确定了,于是,seq[t+1],seq[t+2]……,我们都可以推断出来。
于是,我们大致将构造spoofing集合分成3个步骤:
相关系数的意义: 编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部] 上一篇:网络安全讲座之七:攻击与渗透(5) 下一篇:网络安全讲座之七:攻击与渗透(7) 转载请注明来源:www.iyit.net 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。 |
| 最新更新 | 热点排行 | 推荐新闻 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 友情链接 | ||||||
| 设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接 |
| |||||||