欢迎来到天天文库
浏览记录
ID:25362723
大小:50.50 KB
页数:4页
时间:2018-11-19
《浅析tcp协议论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、浅析TCP协议论文.freelE_SL后即可回到CLOSED可用状态了。如果FIN_E_orris对这一安全漏洞进行阐述的。他使用TCP序列号预测,即使是没有从服务器得到任何响应,来产生一个TCP包序列。这使他能欺骗在本地网络上的主机。(1)攻击方法。TCP协议有一个非常令人着迷的漏洞,简单的说,就是通过预测初始序列号来伪造TCP包.并且不需要得到回应。这样就可以使攻击者伪装成一台和服务器在同一个局域网上的一台可信任的机器。通常建立TCP连接需要三次握手。客户机送一个初始序列号ISNc,服务器应答它并送出它自己的序列号ISNs,客
2、户机再发出一个应答包。这三个数据包发送以后,就可以传输数据了。这个过程可以用下图来表示:C一S:SYN(ISNc)S一C:SYN(ISNs),ACK(ISNc)C一S:ACK(ISNs)C一S:dataAnd/orS一C:data这就是说,要使一个连接建立起来,C必须知道ISNs,这个数多少有一些随机性,假没入侵者X有一种方法可以预测ISNs。在这种情况下,他可以通过以下的步骤来模仿可信任的主机T:X-S:SYN(ISNx),SRC=TS-T:SYN(ISNs),ACK(ISNx)X一S:ACKfISNs),SRC=TX一S:AC
3、K(ISNs),SRC=T,nasty-data即使S一T的数据包不经过X,X也能知道它的内容,因此能发送数据。如果x在一个能够执行命令的连接上实行这种攻击(例如Berkeleyrsh服务),他就可以运行——恶意的命令。那么怎样预测随机的ISN呢?在Berkeley系统中,初始序列号变量是以每秒固定的数目递增的,而每次连接的序列号就是这个变量的一半。因此,如果有人通过合法的连接观察ISNs,他就有很大的机会通过计算得到下一次连接的ISNS。应该指出的是服务器的应答消息S一T:SYN(ISNs),ACK(ISNx)。并没有消除这种攻
4、击;虽然真正的T主机将接收到它,并且会重设连接。这并不是一个严重的障碍,因为我们可以通过一些拒绝服务的攻击使T主机暂时失效,也可以在T主机关机或重起的时候攻击。还有一种通过stat服务对TCP序列号进行的攻击。在这种攻击中,入侵者模仿一台关闭的主机。如果在目标机上有stat服务.它就会提供另一个端口必要的序列号信息:这样就根本不需要猜测了。(2)防御。很明显,这种攻击的关键是Berkeley系统中初始序列号变量变化方式太简单了。TCP标准要求这个变量必须以每秒钟将近250,000的速度增长:Berkerey系统则使用了一个比它慢得
5、多的速度然而关键的因素是间隔的大小而不是平均速度。从4.2BSD系统的每秒增加128到4.3BSD的每秒增加125,000的改变是没有意义的。下面让我们来看看以250,000的频率运行是否有用。为了简单起见,现忽略了其它连接产生的问题,仅仅考虑本计数器固定速度的改变:为了知道当前的序列号,必须发送一个SYN包,并接收它的回应。如下:X一S:SYNfISNx1S一X:SYN(ISNs),ACK(ISNx)(1)第一个使服务器产生下一序列号的伪造的数据包,可以紧跟在服务器对探测包的回应后送出:X一S:SYN(ISNx),SRC=T
6、(2)序列号ISNs在应答中使用S一T:SYN(ISNs),ACK(ISNx)它是由数据包(1)产生到服务器接收到数据包(1)之间的时间唯一确定的。但是这个时间是由X到S的来回时间确定的。因此如果攻击者能够测量或预测到这个时间。即使使用一个能精确的4微秒的时钟也不能阻止这种攻击。对来回时间的测量能精确到什么程度呢?如果假设网络很稳定,我们可以精确到10毫秒左右。很明显,互联网不可能长期这么稳定.但是却有可能在一个较短的时间内稳定。因此我们有2500个ISNs的可能值。考虑到重新测量来回时间所需的时间,我们假设每次尝试需要花5秒,那
7、么一个攻击者很可能在7500秒内获得成功。条件更好的网络或更精确的测量,能够提高成功的可能性。因此,仅仅是按TCP协议标准是不行的。在这里,我们默认的假设是目标机上不运行任何进程。实际上,当新的请求到达时,是会运行一些进程的。在一个6MIPS的机器上,一个时钟周期-4秒大约可执行25条指令。高优先级的中断TCB分配顺序的不同,都对下一个序列号有相当大影响。这种随机的效果是被认为是主机的优点。
此文档下载收益归作者所有