登陆注册
178000000043

网络安全知识(4)

看一下X是如何猜出ISNs :

a、首先, X发送一个SYN包来获取服务器现在的ISNs

X ---〉S: (ISNx)

S ---〉X: ACK(ISNx)+ ISNs# (1)

b、紧接着,X冒充T向服务器发送SYN包

X ---〉S: SYN(ISNx ) , SRC = T (2)

c、于是,服务器发出一个响应包给T(这个包X是收不到的)

S ---〉T: SYN(ISNs) , ACK(ISNT ) (3)

d、X计算ISNs:

ISNs = ISNs# + RTT×Increment of ISN (4)

其中,RTT(Round Trip Time),是一个包往返X和S所用的时间,可以通过Ping 来得到。

上图显示了round trip times (RTT) 大概是0。

Increment of ISN是协议栈的初始序列号每秒钟增加的值,以Unix为例,当没有外部连接发生时,服务器的ISN每秒增加128,000,有连接的时候,服务器的ISN每秒增加64,000。

e、于是,

X ---> S : ACK(ISNs)   (冒充可信主机成功了)

X ---> S : 恶意的命令或窃取机密消息的命令

在评价以下的解决方案时有几点要注意:

1.该解决方案是否很好地满足TCP的稳定性和可操作性的要求?

2.该解决方案是否容易实现?

3.该解决方案对性能的影响如何?

4.该解决方案是否经得起时间的考验?

以下的几种方案各有各的优点和缺点,它们都是基于增强ISN生成器的目标提出的。

配置和使用密码安全协议

TCP的初始序列号并没有提供防范连接攻击的相应措施。TCP的头部缺少加密选项用于强加密认证,于是,一种叫做IPSec的密码安全协议的技术提出了。IPSec提供了一种加密技术(End to end cryptographic),使系统能验证一个包是否属于一个特定的流。这种加密技术是在网络层实现的。其它的在传输层实现的解决方案(如SSL/TLS和SSH1/SSH2), 只能防止一个无关的包插入一个会话中,但对连接重置(拒绝服务)却无能为力,原因是因为连接处理是发生在更低的层。IPSec能够同时应付着两种攻击(包攻击和连接攻击)。它直接集成在网络层的安全模型里面。

上面的解决方案并不需要对TCP协议做任何得修改,RFC2385(“基于TCP MD5签名选项的BGP会话保护)和其他的技术提供了增加TCP头部的密码保护,但是,却带来了收到拒绝服务攻击和互操作性和性能方面的潜在威胁。使用加密安全协议有几个优于其它方案的地方。TCP头部加密防止了Hijacking和包扰乱等攻击行为,而TCP层仍然能够提供返回一个简单增加ISN的机制,使方案提供了最大程度的可靠性。但实现IPSec非常复杂,而且它需要客户机支持,考虑到可用性,许多系统都选择使用RFC 1948。

使用RFC1948

在RFC1948中,Bellovin提出了通过使用4-tuples的HASH单向加密函数,能够使远程攻击者无从下手(但不能阻止同一网段的攻击者通过监听网络上的数据来判断ISN)。

Newsham 在他的论文 [ref_newsham]中提到:

RFC 1948 [ref1]提出了一种不容易攻击(通过猜测)的TCP ISN的生成方法。此方法通过连接标识符来区分序列号空间。每一个连接标识符由本地地址,本地端口,远程地址,远程端口来组成,并由一个函数计算标识符分的序列号地址空间偏移值(唯一)。此函数不能被攻击者获得,否则,攻击者可以通过计算获得ISN。于是,ISN就在这个偏移值上增加。ISN的值以这种方式产生能够抵受上面提到的对ISN的猜测攻击。

一旦全局ISN空间由上述方法来生成,所有的对TCP ISN的远程攻击都变得不合实际。但是,需要指出的,即使我们依照RFC 1948来实现ISN的生成器,攻击者仍然可以通过特定的条件来获得ISN(这一点在后面叙述).

另外,用加密的强哈希算法(MD5)来实现ISN的生成器会导致TCP的建立时间延长。所以,有些生成器(如Linux kernel )选择用减少了轮数的MD4函数来提供足够好的安全性同时又把性能下降变得最低。削弱哈希函数的一个地方是每几分钟就需要对生成器做一次re-key 的处理,经过了一次re-key的处理后,安全性提高了,但是,RFC793提到的可靠性却变成另一个问题。

我们已经知道,严格符合RFC1948的ISN生成方法有一个潜在的危机:

一个攻击者如果以前合法拥有过一个IP地址,他通过对ISN进行大量的采样,可以估计到随后的ISN的变化规律。在以后,尽管这个IP地址已经不属于此攻击者,但他仍然可以通过猜测ISN来进行IP欺骗。

以下,我们可以看到RFC 1948的弱点:

ISN = M + F(sip, sport, dip, dport,

其中

ISN 32位的初始序列号

M 单调增加的计数器

F 单向散列哈希函数 (例如 MD4 or MD5)

sip 源IP地址

sport 源端口

dip 目的IP地址

dport 目的端口

哈希函数可选部分,使远程攻击者更难猜到ISN.

ISN自身的值是按照一个常数值稳定增加的,所以F()需要保持相对的稳定性。而根据Bellovin 所提出的,是一个系统特定的值(例如机器的启动时间,密码,初始随机数等),这些值并不 会经常变。

但是,如果Hash函数在实现上存在漏洞(我们无法保证一个绝对安全的Hash函数,况且,它的实现又与操作系统密切相关),攻击者就可以通过大量的采样,来分析,其中,源IP地址,源端口,目的IP地址,目的端口都是不变的,这减少了攻击者分析的难度。

Linux TCP的ISN生成器避免了这一点。它每5分钟计算一次值,把泄漏的风险降到了最低。

有一个办法可以做的更好:

取M = M + R(t)

ISN = M + F(sip, sport, dip, dport, )

其中

R(t) 是一个关于时间的随机函数

很有必要这样做,因为它使攻击者猜测ISN的难度更大了(弱点在理论上还是存在的)。

其它一些方法

构造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/...inet/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的实现是个很关键的地方。

网络安全知识(5)

同类推荐
  • 看穿人心术,拿来就用

    看穿人心术,拿来就用

    如果能掌握“看穿人心术”,人与人之间的沟通会更有效。本书要为您揭晓的“秘术”有:从弦外之音看人际关系、从外表和动作看本性、听到哪些话值得注意、从口头禅看相处之道、从不同的借口洞悉性格等。只要勤加“修炼”,谁都可以更有心机和技巧地处理好人际关系,让家庭更和睦、让工作环境更舒适。尊敬的书友,本书选载最精华部分供您阅读。留足悬念,同样精彩!
  • 演讲的艺术
  • 计算机探密

    计算机探密

    黑客的精神态度是很重要的,但技术则更是重要.黑客的态度虽然是无可取代,随著新科技的发明和旧技术的取代,这些工具随时间在慢慢的改变.要成为一位真正的黑客,你必须要能在几天之内将manual内容和你目前己经知道的关连起学会一种新的语言.也就是说,你必会学还了C之外的东西,你至少还要会LIS/P或Perl(Java也正在努力的挤上这个名单;译者注: 我很怀疑这份名单).除了几个重要的hacking常用语言之外,这些语言提供你一些不同的程序设计途径,并且让你在好的方法中学习.
  • 中国家庭教育缺什么

    中国家庭教育缺什么

    尊敬的书友,本书选载最精华部分供您阅读。留足悬念,同样精彩!这是中国第一本全方位解读中国家庭教育缺陷的经典范本!家庭教育改革是一个艰难的过程,在这个过程里,我们的行为模式莫不发生着改变。而有关这一过程的探寻,在世人的眼中自然有指点迷津的价值。我们找到的欠缺之处,足以让我们的家长站在某种高度上看到时代的变迁。在本书中,作者以亲切睿智的语言,通过一些真实性案例,深入浅出,娓娓道来许多家庭教育中存在的基本问题,它给孩子们的伟大前程提供了一份行动指南,也给望子成龙、望女成凤的父母们带来了最直观、最有效的经验指导。本书是为众多茫然无助的家长而倾心打造的鼎立之作。祝你开卷有益,与孩子在本书的指引下,共同走出教育的误区,建构美好、幸福、快乐的人生!
热门推荐
  • 强势归来:我要复仇于你们

    强势归来:我要复仇于你们

    重生归来的程雪儿,就好像是从地狱里面爬出来的修罗,浑身沾满了血,她完美的面貌与身材,可那只是欺骗别人的工具而已,狠辣的手段,杀人不眨眼的心肠,造就了现在的她,世界跨国第一公司的董事长,世界首席黑道的BOSS,人人讨好的对象,在程雪儿精心的复仇设计下,她终于将自己心底里的仇恨全部发泄,最后,程雪儿决定去追求自己喜欢的事情去,追求自己从小就喜欢但却没有实现的事情,在自己喜欢的事业上,她仍旧是第一,仍旧是最好的那个,然而在一次任务之中她失踪了,醒来却发现自己在一个自己不认识的古老华丽的城堡中,又经过了一年的时间,她最终返回了自己原来的故乡,经过重重最后的她终于和程熙泽走到了一起,而程熙泽也是对程雪儿宠到发腻
  • 星空揭秘:太空卷

    星空揭秘:太空卷

    无论是万里无垠的蓝天,还是群星璀璨的夜空,都令人产生无限遐想与渴望。千百年来,人类一直不断地探索与尝试,梦想着能够像飞鸟一样在蓝天白云间自由翱翔。
  • 九重维度之四维的逆袭

    九重维度之四维的逆袭

    本是一片宁静乐土的地球人界,冥界被镇压后,又有一个暗杀组织异军突起,虽然被九大家族联手打压,仍未完全绝迹。九大家族的后人们在如影随形的暗杀中成长起来,傲视四维时空,纵然面对五维的超级强者,有何不敢与之一战!
  • 茅山后裔之算命人

    茅山后裔之算命人

    经历了爷爷的死亡,爷爷去世给我留下茅山秘术,同时也带给我一个大麻烦,恶鬼的封印与我如影随形,是诅咒,还是际遇。我体内封印了恶鬼,一只死人眼带给我的是厄运,但也逐渐被我掌握。捉鬼风水不分家,我逐渐领悟茅山道术的真正奥秘,同时我体内的封印因为一次和恶鬼的碰撞中破碎,邪恶笼罩了我,与此同时爷爷死亡的真相,另一个世界的本质逐渐揭开面纱。我行走世间,慢慢在迷雾中走出属于我自己的路……
  • 福尔摩斯探案全集7

    福尔摩斯探案全集7

    本书收录了《血字之谜》、《四签名》、《冒险史》、《回忆录》、《归来记》、《恐怖谷》等福尔摩斯探案全集中的经典作品。
  • 凰翼

    凰翼

    她,国际上大名鼎鼎的佣兵K,隐姓埋名,本想就此退休,怎奈一朝被雷劈,背生双翼,无奈被卷入争斗的漩涡。保护富家少爷?不去!保护会做饭的富家少爷?谁也别拦着我!其实,我只想做一个安静的吃货!
  • 腹黑男神你别跑:霸宠99次

    腹黑男神你别跑:霸宠99次

    倾城怎么也想不到,在网游里约的男人是她高中时的高冷学长!顾念面无表情的看着她的表情,戏谑的闪了一下眼神…倾城本以为见过顾念之后就不会再碰到他,可是为什么还会天天都看到那张脸!“乔作者,你对我选角的能力怎么看?”“乔作者,你来我办公室听一下电视剧歌曲!”“乔作者,你不觉得这场肉文应该我们先配合演一场吧(???︿???)”倾城暴怒掀桌,我不干了!!乔倾城端着笑容温柔的说:我TMD让你看不到明天的太阳!顾念十分腹黑的说:你的意思是君王从此不早朝?
  • 婚途漫漫,总裁求婚一百次

    婚途漫漫,总裁求婚一百次

    宁得罪君子,莫得罪小人,何况她得罪的还是个有权有势只手遮天的小人!宁绮:姓聂的,你够了!你到底一天要来几次?你当我是出来卖的!聂惟靳:1.3亿,不多上几次我岂不是亏死?宁绮:你去死!聂惟靳:谁叫你退我婚,退我婚!天啊,能不能不要再拿陈年旧事来说,你到底要念叨几年?真是醉了!这就是一个腹黑奸诈瑕疵必报作死过头的大灰狼将小白兔吃得渣渣都没得剩的故事。
  • 福妻驾到

    福妻驾到

    现代饭店彪悍老板娘魂穿古代。不分是非的极品婆婆?三年未归生死不明的丈夫?心狠手辣的阴毒亲戚?贪婪而好色的地主老财?吃上顿没下顿的贫困宭境?不怕不怕,神仙相助,一技在手,天下我有!且看现代张悦娘,如何身带福气玩转古代,开面馆、收小弟、左纳财富,右傍美男,共绘幸福生活大好蓝图!!!!快本新书《天媒地聘》已经上架开始销售,只要3.99元即可将整本书抱回家,你还等什么哪,赶紧点击下面的直通车,享受乐乐精心为您准备的美食盛宴吧!)
  • 生命回收师:乱世之战

    生命回收师:乱世之战

    难得的好友,最后却要针锋相对。“为什么?唐果,为什么是你?”