《最新TCPIP协议安全漏洞.docx》由会员分享,可在线阅读,更多相关《最新TCPIP协议安全漏洞.docx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateTCPIP协议安全漏洞TCPIP协议安全漏洞湖北广播电视大学TCP/IP协议安全漏洞摘要 随着计算机网络技术的发展,信息安全问题越来越受到国家的关注,网络安全已经成为计算机网络通信领域的重点。这篇论文的从目前使用的TCP/IP协议入手来研究问题,从TCP/IP协议的安全性进行较为全面的解析,从TCP/IP的总体概括、现在存在安全隐患、以及各个层次之间安全问题进行了比较
2、深入的讨论。然后用现在最为流行的Snifer工具从实验的角度上来分析数据包的安全情况,最后从SYN的攻击代码来分析TCP/IP协议,并且实现了几种防御SYN的方法。本文在介绍因特网中使用的TCP/IP协议的基础上,对TCP/IP协议的安全性进行了较为全面的讨论,从理论上分析了协议中几种主要的安全隐患。由于TCP/IP协议一开始的实现主要目的是用于科学研究的,所以很少考虑安全性方面的东西。但随着其应用的普及,它已经成为了Internet网络通信协议的标准。希望本论文能对未来的信息社会中网络安全环境的形成有所帮助。关键词: TCP / IP协议,安全协议,服务,协议层,协议家人拒绝ABSTRACT
3、Abstract: With the development of computer network technology, the government concerns more and more the message safety, Now, network security has become a key area of computer network communications. The paper start with the currently used TCP/IP protocol to study the problem. From the security On
4、TCP/IP protocol we give more comprehensive analysis, Now from the exist security risks, and security issues between the various levels we give more in-depth discussion. Then using the most popular tool of Snifer to come up safe circumstance that analytical data wrap from the experience angle, and at
5、 last we analyze from the SYN attacking code to TCP/IP protocol, and achieve several defenses the SYN attacking.This paper describes the use of the Internets TCP / IP protocol on the basis of TCP / IP protocol security for a more comprehensive discussion of the agreement from the theoretical analysi
6、s of several major security risk. As TCP / IP protocol began with the main purpose is for scientific research to achieve, so little regard for the safety of things. But with the popularity of its application, it has become the standard Internet network communication protocol. Hope that this paper wi
7、ll in the future information society, network security environment, help the formation ofKeywords: TCP/IP; Security Protocol; Denial of Service,Protocol layer, protocol family前言随着网络互联网的飞速发展,计算机网络安全性越来越重要。从定义上讲,计算机网络安全是指计算机及其网络系统资源和信息资源不受自然和人为有害因素的威胁和危害。随着信息社会的到来,计算机网络发展不断地深入到生活的各个领域。出现了许多网络服务的新型业务。比
8、如:电子商务、数字货币、网络银行电子证券、网络书店、网上拍卖、网络防伪等。随着这些业务的发展,网络安全问题显得越来越重要,成为关键所在。因此网络安全研究成为计算机通讯领域和发展的重要方向。现在由于自身的缺陷,网络的开放性以及黑客的攻击是造成互联网络不安全的主要原因。当前,TCP/IP作为一个事实上的工业标准,在其制订之初,没有考虑安全因素,因此他本身无安全可言。TCP/IP作为Internet使用的标准协议集,是黑客实施网络攻击的重点目标和对象。TCP/IP协议组是目前使用最广泛的网络互连协议。但TCP/IP协议组本身存在着一些安全性问题。TCP/IP协议是建立在可信的环境之下,首先考虑网络互
9、连缺乏对安全方面的考虑。其次,TCP/IP是建立在3次握手协议基础之上,本身就存在一定不安全的因素,握手协议的过程当中有一定局限性。这种基于地址的协议本身就会泄露口令,而且经常会运行一些无关的程序,这些都是网络本身的缺陷。互连网技术屏蔽了底层网络硬件细节,使得异种网络之间可以互相通信。这就给黑客们攻击网络以可乘之机。由于大量重要的应用程序都以TCP作为它们的传输层协议,因此TCP的安全性问题会给网络带来严重的后果。网络的开放性,TCP/IP协议完全公开,远程访问使许多攻击者无须到现场就能够得手,连接的主机基于互相信任的原则等等性质使网络更加不安全。协议中存在许多的安全问题,随着应用的深入,逐渐
10、受到人们的关注。因此,人们开始研究各种各样的安全技术来弥补它的缺陷,堵住安全漏洞,增加网络安全。目前正在制定安全协议,在互连的基础上考虑了安全的因素,希望能对未来的信息社会中对安全网络环境的形成有所帮助。网络安全关系到国家安全。网络安全的理论及其应用技术的研究,不仅受到学术界以及工业界的关注,同时也受到各国政府的高度重视。为了自己国家的利益,美国等西方发达国家将网络安全技术及产品视为如同核武器一样的秘密技术,立法限制其向中国出口。为保障中国网络基础设施的安全,国家安全部、公安部等明确要求使用国产的网络安全产品来确保我国网络的安全。然而,由于种种原因,目前中国有关网络安全技术及其产品的研发与美国
11、等西方发达国家相比尚有一定的距离。正因为如此,应加倍努力,迎头赶上。在这种背景下,应该更加的重视网络安全方面。国家信息安全的总体框架已经搭就。已制定报批和发布了有关信息技术安全的一系列的国家标准、国家军用标准。国家信息安全基础设施正在逐步建成包括国际出入口监控中心、安全产品评测认证中心、病毒检测和防治中心、关键网络系统灾难恢复中心、系统攻击和反攻击中心、电子保密标签监管中心、网络安全紧急处置中心、电子交易证书授权中心、密钥恢复监管中心、公钥基础设施与监管中心、信息战防御研究中心等。第一章 TCP/IP协议概述1.1 TCP/IP协议定义 协议是互相通信的计算机双方必须共同遵从的一组约定。TCP
12、/IP(传输控制协议/网际协议)就是这样的约定,它规定了计算机之间互相通信的方法。TCP/IP是为了使接入因特网的异种网络、不同设备之间能够进行正常的数据通讯,而预先制定的一簇大家共同遵守的格式和约定。该协议是美国国防部高级研究计划署为简历ARPANET开发的,在这个协议集中,两个最知名的协议就是传输控制协议(TCP, Transfer Contorl Protocol)和网际协议(IP,Internet Protocol),故而整个协议集被称为TCP/IP。之所以说TCP/IP是一个协议簇,是因为TCP/IP包括了TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP
13、等许多协议,对因特网中主机的寻址方式、主机的命名机制、信息的传输规则,以及各种各样的服务功能均做了详细约定,这些约定一起称为TCP/IP。TCP/IP协议和开放系统互连参考模型一样,是一个分层结构。协议的分层使得各层的任务和目的十分明确,这样有利于软件编写和通信控制。TCP/IP协议分为4层,由下至上分别是网路接口层、网际层、传输层和应用层,如图所示1.2 TCP/IP协议的总体概况目前在Internet上使用的是TCP/IP协议。TCP/IP协议叫做传输控制/网际协议,它是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。其中IP(Internet Protoco
14、l)全名为网际互连协议,它是为计算机网络相互连接进行通信而设计的协议。TCP(Transfer Control Protocol)是传输控制协议。TCP/IP协议是能够使连接到网上的所有计算机网络实现相互通信的一套规则,正是因为有了TCP/IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。从表面名字上看TCP/IP包括两个协议,传输控制协议(TCP)和互联网际协议(IP),其实TCP/IP实际上是1组协议的集合,它包括了上百个各种功能的协议。如:远程登录、文件传输和电子邮件等等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。IP协议之所以能使各种网络互联起来
15、是由于它把各种不同的“帧”统一转换成“IP数据报”格式,这种转换是因特网的一个最重要的特点。所以IP协议使各种计算机网络都能在因特网上实现互通,即具有“开放性”的特点。TCP/IP协议的基本传输单位是数据包(datagram)。TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头,包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上还要加上接收端主机地址,这样数据通过路由器中的MAC地址来确定数据的流向,如果传输过程中出现数据丢失,数据失真等情况,TCP协议会自动要求数据重新传输,并重新组。.总之,IP协议保证数据的传输,而TCP协议保证数据传输的质量。
16、TCP/IP协议数据的传输基于TCP/IP协议的4层结构:应用层、传输层、网络层、接口层。第二章 各协议层存在的安全漏洞2.1 链路层存在的安全漏洞我们知道,在以太网中,信道是共享的,任何主机发送的每一个以太网帧都会到达别的与该主机处于同一网段的所有主机的以太网接口,一般地,CSMA/CD协议使以太网接口在检测到数据帧不属于自己时,就把它忽略,不会把它发送到上层协议(如ARP、RARP层或IP层)。如果我们对其稍做设置或修改,就可以使一个以太网接口接收不属于它的数据帧。例如有的实现可以使用杂错接点,即能接收所有数据帧的机器节点。解决该漏洞的对策是:网络分段、利用交换器,动态集线器和桥等设备对数
17、据流进行限制、加密(采用一次性口令技术)和禁用杂错接点。2.2 网络层漏洞几乎所有的基于TCP/IP的机器都会对ICMPecho请求进行响应。所以如果一个敌意主机同时运行很多个ping命令向一个服务器发送超过其处理能力的ICMPecho请求时,就可以淹没该服务器使其拒绝其他的服务。另外,ping命令可以在得到允许的网络中建立秘密通道从而可以在被攻击系统中开后门进行方便的攻击,如收集目标上的信息并进行秘密通信等。解决该漏洞的措施是拒绝网络上的所有ICMPecho响应。2.3 IP漏洞IP包一旦从网络中发送出去,源IP地址就几乎不用,仅在中间路由器因某种原因丢弃它或到达目标端后,才被使用。这使得一
18、个主机可以使用别的主机的IP地址发送IP包,只要它能把这类IP包放到网络上就可以。因而如果攻击者把自己的主机伪装成被目标主机信任的友好主机,即把发送的IP包中的源IP地址改成被信任的友好主机的IP地址,利用主机间的信任关系(Unix网络软件的开发者发明的术语)和这种信任关系的实际认证中存在的脆弱性(只通过IP确认),就可以对信任主机进行攻击。注意,其中所说的信任关系是指一个被授权的主机可以对信任主机进行方便的访问。所有的r*命令都采用信任主机方案,所以一个攻击主机把自己的IP改为被信任主机的IP,就可以连接到信任主机并能利用r*命令开后门达到攻击的目的。解决这个问题的一个办法是,让路由器拒绝接
19、收来自网络外部的IP地址与本地某一主机的IP地址相同的IP包的进入。2.4 ARP欺骗ARP协议在对IP地址进行解析时,利用ARP缓存(也叫ARP表)来做。ARP缓存的每一条目保存有IP地址到物理地址的映射。如果在ARP表中没有这样的对应条目,ARP协议会广播ARP请求,获得对应于那个IP地址的物理地址,并把该对应关系加入到ARP表中。ARP表中的每一个条目都有一个计时器,如果计时器过期,该条目就无效,因而被从缓存中删除。显然,如果攻击者暂时使用不工作的主机的IP地址,就可以伪造IP-物理地址对应关系对,把自己伪装成象那个暂时不使用的主机一样。克服此问题的方法是,让硬件地址常驻内存,并可以用A
20、RP命令手工加入(特权用户才可以那样做);也可以通过向RARP服务器询问来检查客户的ARP欺骗。因为RARP服务器保留着网络中硬件地址和IP的相关信息。2.5 路由欺骗:在路由协议中,主机利用重定向报文来改变或优化路由。如果一个路由器发送非法的重定向报文,就可以伪造路由表,错误引导非本地的数据报。另外,各个路由器都会定期向其相邻的路由器广播路由信息,如果使用RIP特权的主机的520端口广播非法路由信息,也可以达到路由欺骗的目的。解决这些问题的办法有,通过设置主机忽略重定向信息可以防止路由欺骗;禁止路由器被动使用RIP和限制被动使用RIP的范围。2.6 DNS欺骗网络上的所有主机都信任DNS服务
21、器,如果DNS服务器中的数据被攻击者破坏,就可以进行DNS欺骗。2.7 拦截TCP连接:攻击者可以使TCP连接的两端进入不同步状态,入侵者主机向两端发送伪造的数据包。冒充被信任主机建立TCP连接,用SYN淹没被信任的主机,并猜测3步握手中的响应(建立多个连接到信任主机的TCP连接,获得初始序列号ISN(InitialSerialNumber)和RTT,然后猜测响应的ISN,因为序列号每隔半秒加64000,每建立一个连接加64000)。预防方法:使所有的r*命令失效,让路由器拒绝来自外面的与本地主机有相同的IP地址的包。RARP查询可用来发现与目标服务器处在同一物理网络的主机的攻击。另外ISN攻
22、击可通过让每一个连接的ISN随机分配配合每隔半秒加64000来防止。2.8 使用TCPSYN报文段淹没服务器。利用TCP建立连接的3步骤的缺点和服务器端口允许的连接数量的限制,窃取不可达IP地址作为源IP地址,使得服务器端得不到ACK而使连接处于半开状态,从而阻止服务器响应响应别的连接请求。尽管半开的连接会被过期而关闭的,但只要攻击系统发送的spoofedSYN请求的速度比过期的快就可以达到攻击的目的。这种攻击的方法一直是一种重要的攻击ISP(InternetServiceProvider)的方法,这种攻击并不会损害服务,而是使服务能力削弱。解决这种攻击的办法是,给Unix内核加一个补丁程序或
23、使用一些工具对内核进行配置。一般的做法是,使允许的半开连接的数量增加,允许连接处于半开状态的时间缩短。但这些并不能从根本上解决这些问题。实际上在系统的内存中有一个专门的队列包含所有的半开连接,这个队列的大小是有限的,因而只要有意使服务器建立过多的半开连接就可以使服务器的这个队列溢出,从而无法响应其他客户的连接请求。第三章 关于TCP/IP协议族存在的脆弱性剖析3.1 TCP/IP协议族存在脆弱性IP层的主要曲线是缺乏有效的安全认证和保密机制,其中最主要的因素就是IP地址问题。TCP/IP协议用IP地址来作为网络节点的惟一标识,许多 TCP/IP服务,包括Berkeley中的R命令、NFS、X
24、Window等都是基于IP地址对用户进行认证和授权。当前TCP/IP网络的安全机制主要是基于IP地址的包过滤(Packet Filtering)和认证(Authentication)技术,它的有效性体现在可以根据IP包中的源IP地址判断数据的真实性和安全性。然而IP地址存在许多问题,协议的最大缺点就是缺乏对IP地址的保护,缺乏对IP包中源IP地址真实性的认证机制与保密措施。这也就是引起整个TCP/IP协议不安全的根本所在。由于UDP是基于IP协议之上的,TCP分段和UDP协议数据包是封装在IP包中在网络上传输的,因此同样面临IP层所遇到的安全威胁。现在人们一直在想办法解决,却仍然无法避免的就是
25、根据TCP连接建立时“三次握手”机制的攻击。3.2 应用服务不容乐观3.2.1 文件传输协议 FTP经久不衰的原因在于它可以在互联网上进行与平台无关的数据传输,它基于一个客户机/服务器架构。FTP 将通过两个信道(端口)传输,一个传输数据(TCP 端口 20),另一个传输控制信息(TCP 端口 21)。在控制信道之上,双方(客户机和服务器)交换用于发起数据传输的命令。一个 FTP 连接包含4个步骤:用户鉴权建立控制信道建立数据信道关闭连接。FTP 的连接控制使用 TCP (Transmission Control Protocol, 传输控制协议),它保障了数据的可靠传输。因此,FTP 在数据
26、传输中不需要关心分组丢失和数据错误检测。 匿名FTP作为互联网上广泛应用的服务,安全等级的低下受到了黑客的频繁光顾。匿名FTP 是真的匿名,并没有记录谁请求了什么信息,谁下载了什么文件,上传了什么东西(有可能是木马)。FTP存在着致命的安全缺陷,FTP使用标准的用户名和口令作为身份验证,缺乏有效的访问权限的控制机制,而其口令和密码的传输也都是明文的方式。 3.2.1 Web服务 Web服务器位于宿主基础结构的前端,它与Internet直接相连,负责接收来自客户端的请求,创建动态Web页并响应请求数据。最初WWW服务只提供静态的HTML页面,为改变人们对网络互动请求的愿望,开始引入了CGI程序,
27、CGI程序让主页活动起来。CGI程序可以接收用户的输入信息,一般用户是通过表格把输入信息传给CGI程序的,然后CGI程序可以根据用户的要求进行一些处理,一般情况下会生成一个HTML文件,并传回给用户。很多CGI 程序都存在安全漏洞,很容易被黑客利用做一些非法的事情。现在很多人在编写CGI程序时,可能对CGI软件包中的安全漏洞并不了解,而且大多数情况下不会重新编写程序的所有部分,只是对其加以适当的修改,这样很多CGI程序就不可避免的具有相同的安全漏洞。很多 SQL Server 开发人员并没有在代码编写开始的时候就从安全防护基础开始,这样就无法确保您开发的代码的安全性,其结果就造成了无法将应用程
28、序的运行控制在所需的最低权限之内。3.3 提高网络可信度前面的IPv4存在的弊端,很多安全防范技术被忽略了,它不可避免地被新一代技术IPv6取代。IPsec安全协议就是事后 发展的一种协议(如图3-1),而NAT(网络地址转换,Network Address Translation)解决了IP地址短缺的问题,却增加了安全风险,使真正的端到端的安全应用难以实现。端到端安全性的两个基本组件鉴权和加密都是IPv6协议的集成组件;而在IPv4中,它们只是附加组件,因此,采用IPv6安全性会更加简便、一致。在现在的网络环境中,尤其是园区网当中,由于不存在NAT地址转换的问题,所以IPSec具备允许部署可
29、信计算基础架构的基本特征。IPSec数据包验证能够确保整个IP报头、下一层协议(例如TCP、UPD或ICMP)报头以及数据包有效负载的数据完整性。 华夏网管ofAdmin.Com 另外,针对数据包的单向Hash算法用以提供校验和。通信发起方计算校验和并在发送之前将其附加到数据包中;响应方则在收到数据包后为其计算校验和。如果响应方所计算出的校验和与数据包中附带的校验和完全匹配,则证明数据包在传输过程中未被修改。校验和的单向计算特性意味着其取值无法在传输过程中进行修改,这也就保证了端到端的数据传输过程的可信程度。 第四章 TCP/IP协议安全性分析4.1 TCP状态转移图和定时器应于连接建立或终止
30、、流量控制和数据传输。几类主要的定时器及其功能如下TCP状态转移图控制了一次连接的初始化、建立和终止,该图由定义的状态以及这些状态之间的转移弧构成。TCP状态转移图与定时器密切相关,不同的定时器对:连接定时器:在连接建立阶段,当发送了SYN包后,就启动连接定时器。如果在75秒内没有收到应答,则放弃连接建立。 FIN-WAIT-2定时器:当连接从FIN-WAIT-1状态转移到FIN-WAIT-2状态时,将一个 FIN-WAIT-2定时器设置为10分钟。如果在规定时间内该连接没有收到一个带有置位FIN的TCP包,则定时器超时,再定时为75秒。如果在该时间段内仍无FIN包到达,则放弃该连接。 TIM
31、E-WAIT定时器:当连接进入TIME-WAIT状态时,该定时器被激活。当定时器超时时,与该连接相关的内核数据块被删除,连接终止。 维持连接定时器:其作用是预测性地检测连接的另一端是否仍为活动状态。如果设置了SO-KEEPALIVE套接字选择项,则TCP机状态是ESTABLISHED或CLOSE-WAIT。4.2 网络入侵方式 4.2.1 伪造IP地址 入侵者使用假IP地址发送包,利用基于IP地址证实的应用程序。其结果是未授权的远端用户进入带有防火墙的主机系统。 假设有两台主机A、B和入侵者控制的主机X。假设B授予A某些特权,使得A能够获得B所执行的一些操作。X的目标就是得到与B相同的权利。为
32、了实现该目标,X必须执行两步操作:首先,与B建立一个虚假连接;然后,阻止A向B报告网络证实系统的问题。主机X必须假造A的IP地址,从而使B相信从X发来的包的确是从A发来的。 我们同时假设主机A和B之间的通信遵守TCPIP的三次握手机制。握手方法是: A:SYN(序列号=M) BA:SYN(序列号N),ACK(应答序号=M+1) AB:ACK(应答序号N+1) 主机X伪造IP地址步骤如下:首先,X冒充A,向主机B发送一个带有随机序列号的SYN包。主机B响应,向主机A发送一个带有应答号的SYN+ACK包、该应答号等于原序列号加1。同时,主机B产生自己发送包序列号,并将其与应答号一起发送。为了完成三
33、次握手,主机X需要向主机B回送一个应答包,其应答号等于主机B向主机A发送的包序列号加1。假设主机X与A和B不同在一个子网内,则不能检测到B的包,主机X只有算出B的序列号,才能创建TCP连接。其过程描述如下: XB:SYN(序列号=M),SRC=A BA:SYN(序列号=N),ACK(应答号=M+1) XB:ACK(应答号N+1),SRCA 同时,主机X应该阻止主机A响应主机B的包。为此,X可以等到主机A因某种原因终止运行,或者阻塞主机A的操作系统协议部分,使它不能响应主机B。 一旦主机X完成了以上操作,它就可以向主机B发送命令。主机B将执行这些命令,认为他们是由合法主机A发来的。 4.2.2
34、TCP状态转移的问题 上述的入侵过程,主机X是如何阻止主机A向主机B发送响应在的,主机调通过发送一系列的SYN包,但不让A向调发送SYN-ACK包而中止主机A的登录端口。如前所述,TCP维持一个连接建立定时器。如果在规定时间内(通常为75秒)不能建立连接,则TCP将重置连接。在前面的例子中,服务器端口是无法在75秒内作出响应的。 下面我们来讨论一下主机X和主机A之间相互发送的包序列。X向A发送一个包,其SYN位和FIN位置位,A向X发送ACK包作为响应: XA:SYN FIN(系列号=M)AX:ACK(应答序号M+1)从上面的状态转移可以看出,A开始处于监听(LISTEN)状态。当它收到来自X
35、的包后,就开始处理这个包。值得注意的是,在TCP协议中,关于如何处理SYN和FIN同时置位的包并未作出明确的规定。我们假设它首先处理SYN标志位,转移到SYN-RCVD状态。然后再处理FIN标志位,转移到CLOSE-WAIT状态。如果前一个状态是ESTABLISHED,那么转移到CLOSE-WAIT状态就是正常转移。但是,TCP协议中并未对从SYN-RCVD状态到CLOSE-WAIT状态的转移作出定义。但在几种TCP应用程序中都有这样的转移,例如开放系统SUN OS4.1.3,SUR4和ULTRX4.3。因此,在这些TCP应用程序中存在一条TCP协议中未作定义的从状态SYN-RCVD到状态CL
36、OSE-WAIT的转移弧,在上述入侵例子中,由于三次握手没能彻底完成,因此并未真正建立TCP连接,相应的网络应用程序并未从核心内获得连接。但是,主机A的TCP机处于CLOSE-WAIT状态,因此它可以向X发送一个FIN包终止连接。这个半开放连接保留在套接字侦听队列中,而且应用进程不发送任何帮助TCP执行状态转移的消息。因此,主机A的TCP机被锁在了CL0SE-WAIT状态。如果维持活动定时器特征被使用,通常2小时后TCP将会重置连接并转移到CLOSED状态。当TCP机收到来自对等主机的RST时,就从ESTABLISHED,FINWAIT-1和FIN-WAIT-2状态转移到CLOSED状态。这些
37、转移是很重要的,因为它们重置TCP机且中断网络连接。但是,由于到达的数据段只根据源IP地址和当前队列窗口号来证实。因此入侵者可以假装成已建立了合法连接的一个主机,然后向另一台主机发送一个带有适当序列号的RST段,这样就可以终止连接了!从上面的分析我们可以看到几种TCP应用程序中都存在外部状态转移。这会给系统带来严重的安全性问题。4.2.3 定时器问题正如前文所述,一旦进入连接建立过程,则启动连接定时器。如果在规定时间内不能建立连接,则TCP机回到CLOSED状态。我们来分析一下主机A和主机X的例子。主机A向主机X发送一个SYN包,期待着回应一个SYN-ACK包。假设几乎同时,主机X想与主机A建
38、立连接,向A发送一个SYN包。A和X在收到对方的SYN包后都向对方发送一个SYN-ACK包。当都收到对方的SYN-ACK包后,就可认为连接已建立。在本文中,假设当主机收到对方的SYN包后,就关闭连接建立定时器。XA:SYN(序列号=M) AX:SYN(序列号=N) XA:SYN(序列号=M),ACK(应答号=N+1)AX:SYN(序列号=N),ACK(应答号M+1)主机X向主机A发送一个FTP请求。在X和A之间建立起一个TCP连接来传送控制信号。主机A向 X发送一个SYN包以启动一个TCP连接用来传输数据,其状态转移到SYN-SENT状态。 当X收到来自A的SYN包时,它回送一个SYN包作为响
39、应。主机X收到来自A的SYN-ACK包,但不回送任何包。主机A期待着接收来自X的SYN-ACK。由于X不回送任何包,因此A被锁在SYN-RCVD状态。这样,X就成功地封锁了A的一个端口。4.3 利用网络监控设备观测网络入侵我们在局域网上安装一个网络监控设备观测通过网络的包,从而判断是否发生了网络入侵。下面我们将讨论在几种入侵过程中网络监控设备可观测到的序列包。4.3.1 伪造IP地址最初,网络监控设备会监测到大量的TCP SYN包从某个主机发往A的登录端口。主机A会回送相应的SYN-ACK包。SYN包的目的是创建大量的与主机A的半开放的TCP连接,从而填满了主机A的登录端口连接队列。大量的TC
40、P SYN包将从主机X经过网络发往主机B,相应地有SYN-ACK包从主机B发往主机X。然后主机X将用RST包作应答。这个SYNSYN-ACKRST包序列使得入侵者可以知道主机B的TCP序列号发生器的动作。主机A向主机B发送一个SYN包。实际上,这是主机X发送的一个“伪造”包。收到这个包之后,主机B将向主机A发送相应的SYN-ACK包。主机A向主机B发送ACK包。按照上述步骤,入侵主机能够与主机B建立单向TCP连接。4.3.2 虚假状态转移当入侵者试图利用从SYN-RCVD到CLOSE-WAIT的状态转移长时间阻塞某服务器的一个网络端口时,可以观察到如下序列包: 从主机X到主机B发送一个带有SY
41、N和FIN标志位置位的TCP包。主机B首先处理SYN标志,生成一个带有相应ACK标志位置位的包,并使状态转移到SYN-RCVD,然后处理FIN标志,使状态转移到CLOSE-WAIT,并向X回送ACK包。主机X不向主机B发送其它任何包。主机的TCP机将固定在CLOSE-WAIT状态。直到维持连接定时器将其重置为CLOSED状态。因此,如果网络监控设备发现一串SYN-FINACK包,可推断入侵者正在阻塞主机B的某个端口。 3.3 定时器问题 如果一入侵者企图在不建立连接的情况下使连接建立定时器无效,我们可以观察到以下序列包: 主机X从主机B收到一个TCP SYN包。 主机X向主机B回送一个SYN包。主机X不向主机B发送任何ACK包。因此,B被阻塞在SYN-RCVD状态,无法响应来自其它客户机的连接请求。致谢 通过本次的毕业论文设计,我从早到老师的身上学到了很多东西。他们深厚的理论水平和实践都让我受益匪浅。都给与我很大的帮助,我想这对于我以后的工作和学习来说是种巨大的帮助。同时也感谢老师对我的教育和栽培。参考文献1 韦卫,王德杰,Interne网络层安全协议理论研究与实现,计算机学报 1999年22期2 谢正均,IP欺骗原理及其对策,电信快报 1999年2期3 林敏,网络互连安全技术及解决方案,中国金融电脑 1999年3期-