最新TCP安全问题浅析Word文档格式.docx

上传人:b****1 文档编号:4063340 上传时间:2023-05-02 格式:DOCX 页数:18 大小:45.96KB
下载 相关 举报
最新TCP安全问题浅析Word文档格式.docx_第1页
第1页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第2页
第2页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第3页
第3页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第4页
第4页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第5页
第5页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第6页
第6页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第7页
第7页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第8页
第8页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第9页
第9页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第10页
第10页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第11页
第11页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第12页
第12页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第13页
第13页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第14页
第14页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第15页
第15页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第16页
第16页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第17页
第17页 / 共18页
最新TCP安全问题浅析Word文档格式.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

最新TCP安全问题浅析Word文档格式.docx

《最新TCP安全问题浅析Word文档格式.docx》由会员分享,可在线阅读,更多相关《最新TCP安全问题浅析Word文档格式.docx(18页珍藏版)》请在冰点文库上搜索。

最新TCP安全问题浅析Word文档格式.docx

2.1链路层存在的安全漏洞7

2.2网络层漏洞7

2.3IP漏洞7

2.4ARP欺骗8

2.5路由欺骗8

2.6DNS欺骗9

2.7拦截TCP连接9

攻击者可以使TCP连接的两端进入不同步状态,入侵者主机向两端发送伪造的数据包。

冒充被信任主机建立TCP连接,用SYN淹没被信任的主机,并猜测3步握手中的响应(建立多个连接到信任主机的TCP连接,获得初始序列号ISN(Initial 

Serial 

Number)和RTT,然后猜测响应的ISN,因为序列号每隔半秒加64000,每建立一个连接加64000)。

预防方法:

使所有的r*命令失效,让路由器拒绝来自外面的与本地主机有相同的IP地址的包。

RARP查询可用来发现与目标服务器处在同一物理网络的主机的攻击。

另外ISN攻击可通过让每一个连接的ISN随机分配配合每隔半秒加64000来防止。

9

2.8使用TCP/SYN报文段淹没服务器9

第三章关于TCP/IP协议族存在的脆弱性剖析11

3.1TCP/IP协议族存在脆弱性11

3.2应用服务不容乐观11

3.2.1文件传输协议11

3.2.2Web服务12

3.3提高网络可信度12

第四章TCP/IP状态转移14

4.1TCP状态转移图和定时器14

4.2网络入侵方式14

4.2.1伪造IP地址14

入侵者使用假IP地址发送包,利用基于IP地址证实的应用程序。

其结果是未授权的远端用户进入带有防火墙的主机系统。

14

假设有两台主机A、B和入侵者控制的主机X。

假设B授予A某些特权,使得A能够获得B所执行的一些操作。

X的目标就是得到与B相同的权利。

为了实现该目标,X必须执行两步操作:

首先,与B建立一个虚假连接;

然后,阻止A向B报告网络证实系统的问题。

主机X必须假造A的IP地址,从而使B相信从X发来的包的确是从A发来的。

15

我们同时假设主机A和B之间的通信遵守TCP/IP的三次握手机制。

握手方法是:

A→:

SYN(序列号=M)15

B→A:

SYN(序列号=N),ACK(应答序号=M+1)15

A→B:

ACK(应答序号=N+1)15

主机X伪造IP地址步骤如下:

首先,X冒充A,向主机B发送一个带有随机序列号的SYN包。

主机B响应,向主机A发送一个带有应答号的SYN+ACK包、该应答号等于原序列号加1。

同时,主机B产生自己发送包序列号,并将其与应答号一起发送。

为了完成三次握手,主机X需要向主机B回送一个应答包,其应答号等于主机B向主机A发送的包序列号加1。

假设主机X与A和B不同在一个子网内,则不能检测到B的包,主机X只有算出B的序列号,才能创建TCP连接。

其过程描述如下:

X→B:

SYN(序列号=M),SRC=A15

SYN(序列号=N),ACK(应答号=M+1)15

ACK(应答号=N+1),SRC=A15

同时,主机X应该阻止主机A响应主机B的包。

为此,X可以等到主机A因某种原因终止运行,或者阻塞主机A的操作系统协议部分,使它不能响应主机B。

一旦主机X完成了以上操作,它就可以向主机B发送命令。

主机B将执行这些命令,认为他们是由合法主机A发来的。

4.2.2TCP状态转移的问题16

上述的入侵过程,主机X是如何阻止主机A向主机B发送响应在的,主机调通过发送一系列的SYN包,但不让A向调发送SYN-ACK包而中止主机A的登录端口。

如前所述,TCP维持一个连接建立定时器。

如果在规定时间内(通常为75秒)不能建立连接,则TCP将重置连接。

在前面的例子中,服务器端口是无法在75秒内作出响应的。

16

下面我们来讨论一下主机X和主机A之间相互发送的包序列。

X向A发送一个包,其SYN位和FIN位置位,A向X发送ACK包作为响应:

X→A:

SYNFIN(系列号=M)A→X:

ACK(应答序号=M+1)从上面的状态转移可以看出,A开始处于监听(LISTEN)状态。

当它收到来自X的包后,就开始处理这个包。

值得注意的是,在TCP协议中,关于如何处理SYN和FIN同时置位的包并未作出明确的规定。

我们假设它首先处理SYN标志位,转移到SYN-RCVD状态。

然后再处理FIN标志位,转移到CLOSE-WAIT状态。

如果前一个状态是ESTABLISHED,那么转移到CLOSE-WAIT状态就是正常转移。

但是,TCP协议中并未对从SYN-RCVD状态到CLOSE-WAIT状态的转移作出定义。

但在几种TCP应用程序中都有这样的转移,例如开放系统SUNOS4.2,SUR4和ULTRX4.316

因此,在这些TCP应用程序中存在一条TCP协议中未作定义的从状态SYN-RCVD到状态CLOSE-WAIT的转移弧,在上述入侵例子中,由于三次握手没能彻底完成,因此并未真正建立TCP连接,相应的网络应用程序并未从核心内获得连接。

但是,主机A的TCP机处CLOSE-WAIT状态,因此它可以向X发送一个FIN包终止连接。

这个半开放连接保留在套接字侦听队列中,而且应用进程不发送任何帮助TCP执行状态转移的消息。

因此,主机A的TCP机被锁在了CL0SE-WAIT状态。

如果维持活动定时器特征被使用,通常2小时后TCP将会重置连接并转移到CLOSED状态。

当TCP机收到来自对等主机的RST时,就从TABLISHED,FINWAIT-1和FIN-WAIT-2状态转移到CLOSED状态。

这些转移是很重要的,因为它们重置TCP机且中断网络连接。

但是,由于到达的数据段只根据源IP地址和当前队列窗口号来证实。

因此入侵者可以假装成已建立了合法连接的一个主机,然后向另一台主机发送一个带有适当序列号的RST段,这样就可以终止连接了!

4.2.3定时器问题17

4.3利用网络监控设备观测网络入侵18

4.3.1伪造IP地址18

4.3.2虚假状态转移18

参考文献:

21

杨雪

(诒华学院计算机网络技术专业103120601)

摘要:

随着计算机网络技术的发展,信息安全问题越来越受到国家的关注,网络安全已经成为计算机网络通信领域的重点。

这篇论文的从目前使用的TCP/IP协议入手来研究问题,从TCP/IP协议的安全性进行较为全面的解析,从TCP/IP的总体概括、现在存在安全隐患、以及各个层次之间安全问题进行了比较深入的讨论。

然后用现在最为流行的Snifer工具从实验的角度上来分析数据包的安全情况,最后从SYN的攻击代码来分析TCP/IP协议,并且实现了几种防御SYN的方法。

本文在介绍因特网中使用的TCP/IP协议的基础上,对TCP/IP协议的安全性进行了较为全面的讨论,从理论上分析了协议中几种主要的安全隐患。

由于TCP/IP协议一开始的实现主要目的是用于科学研究的,所以很少考虑安全性方面的东西。

但随着其应用的普及,它已经成为了Internet网络通信协议的标准。

希望本论文能对未来的信息社会中网络安全环境的形成有所帮助。

关键词:

TCP/IP协议,安全协议,服务,协议层

第一章TCP/IP协议概述

1.1TCP/IP协议定义

协议是互相通信的计算机双方必须共同遵从的一组约定。

TCP/IP(传输控制协议/网际协议)就是这样的约定,它规定了计算机之间互相通信的方法。

TCP/IP是为了使接入因特网的异种网络、不同设备之间能够进行正常的数据通讯,而预先制定的一簇大家共同遵守的格式和约定。

该协议是美国国防部高级研究计划署为简历ARPANET开发的,在这个协议集中,两个最知名的协议就是传输控制协议(TCP,TransferContorlProtocol)和网际协议(IP,InternetProtocol),故而整个协议集被称为TCP/IP。

之所以说TCP/IP是一个协议簇,是因为TCP/IP包括了TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP等许多协议,对因特网中主机的寻址方式、主机的命名机制、信息的传输规则,以及各种各样的服务功能均做了详细约定,这些约定一起称为TCP/IP。

TCP/IP协议和开放系统互连参考模型一样,是一个分层结构。

协议的分层使得各层的任务和目的十分明确,这样有利于软件编写和通信控制。

TCP/IP协议分为4层,由下至上分别是网路接口层、网际层、传输层和应用层,如图1-1所示

图1-1TCP/IP协议层次图

1.2TCP/IP协议的主要特点

(1)开放的协议标准,可以免费使用,并且独立于特定的计算机硬件与操作系统;

(2)独立于特定的网络硬件,可以运行在局域网、广域网,更适用于互联网中;

(3)统一的网络地址分配方案,使得整个TCP/IP设备在网中都具有惟一的地址;

(4)标准化的高层协议,可以提供多种可靠的用户服务。

1.3TCP/IP协议的总体概况

目前在Internet上使用的是TCP/IP协议。

TCP/IP协议叫做传输控制/网际协议,它是Internet国际互联网络的基础。

TCP/IP是网络中使用的基本的通信协议。

其中IP(InternetProtocol)全名为"

网际互连协议"

,它是为计算机网络相互连接进行通信而设计的协议。

TCP(TransferControlProtocol)是传输控制协议。

TCP/IP协议是能够使连接到网上的所有计算机网络实现相互通信的一套规则,正是因为有了TCP/IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。

从表面名字上看TCP/IP包括两个协议,传输控制协议(TCP)和互联网际协议(IP),其实TCP/IP实际上是一组协议的集合,它包括了上百个各种功能的协议。

如:

远程登录、文件传输和电子邮件等等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。

IP协议之所以能使各种网络互联起来是由于它把各种不同的“帧”统一转换成“IP数据报”格式,这种转换是因特网的一个最重要的特点。

所以IP协议使各种计算机网络都能在因特网上实现互通,即具有“开放性”的特点。

TCP/IP协议的基本传输单位是数据包(datagram)。

TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头,包头上有相应的编号,以保证在数据接收端能将数据还原为原来的格式,IP协议在每个包头上还要加上接收端主机地址,这样数据通过路由器中的MAC地址来确定数据的流向,如果传输过程中出现数据丢失,数据失真等情况,TCP协议会自动要求数据重新传输,并重新组。

.总之,IP协议保证数据的传输,而TCP协议保证数据传输的质量。

TCP/IP协议数据的传输基于TCP/IP协议的4层结构:

应用层、传输层、网络层、接口层。

第二章各协议层存在的安全漏洞

2.1链路层存在的安全漏洞

我们知道,在以太网中,信道是共享的,任何主机发送的每一个以太网帧都会到达别的与该主机处于同一网段的所有主机的以太网接口,一般地,CSMA/CD协议使以太网接口在检测到数据帧不属于自己时,就把它忽略,不会把它发送到上层协议(如ARP、RARP层或IP层)。

如果我们对其稍做设置或修改,就可以使一个以太网接口接收不属于它的数据帧。

例如有的实现可以使用杂错接点,即能接收所有数据帧的机器节点。

解决该漏洞的对策是:

网络分段、利用交换器,动态集线器和桥等设备对数据流进行限制、加密(采用一次性口令技术)和禁用杂错接点。

2.2网络层漏洞

几乎所有的基于TCP/IP的机器都会对ICMP 

echo请求进行响应。

所以如果一个敌意主机同时运行很多个ping命令向一个服务器发送超过其处理能力的ICMP 

echo请求时,就可以淹没该服务器使其拒绝其他的服务。

另外,ping命令可以在得到允许的网络中建立秘密通道从而可以在被攻击系统中开后门进行方便的攻击,如收集目标上的信息并进行秘密通信等。

解决该漏洞的措施是拒绝网络上的所有ICMP 

echo响应。

2.3IP漏洞

IP包一旦从网络中发送出去,源IP地址就几乎不用,仅在中间路由器因某种原因丢弃它或到达目标端后,才被使用。

这使得一个主机可以使用别的主机的IP地址发送IP包,只要它能把这类IP包放到网络上就可以。

因而如果攻击者把自己的主机伪装成被目标主机信任的友好主机,即把发送的IP包中的源IP地址改成被信任的友好主机的IP地址,利用主机间的信任关系(Unix网络软件的开发者发明的术语)和这种信任关系的实际认证中存在的脆弱性(只通过IP确认),就可以对信任主机进行攻击。

注意,其中所说的信任关系是指一个被授权的主机可以对信任主机进行方便的访问。

所有的r*命令都采用信任主机方案,所以一个攻击主机把自己的IP改为被信任主机的IP,就可以连接到信任主机并能利用r*命令开后门达到攻击的目的。

解决这个问题的一个办法是,让路由器拒绝接收来自网络外部的IP地址与本地某一主机的IP地址相同的IP包的进入。

2.4ARP欺骗

ARP协议在对IP地址进行解析时,利用ARP缓存(也叫ARP表)来做。

ARP缓存的每一条目保存有IP地址到物理地址的映射。

如果在ARP表中没有这样的对应条目,ARP协议会广播ARP请求,获得对应于那个IP地址的物理地址,并把该对应关系加入到ARP表中。

ARP表中的每一个条目都有一个计时器,如果计时器过期,该条目就无效,因而被从缓存中删除。

显然,如果攻击者暂时使用不工作的主机的IP地址,就可以伪造IP-物理地址对应关系对,把自己伪装成象那个暂时不使用的主机一样。

克服此问题的方法是,让硬件地址常驻内存,并可以用ARP命令手工加入(特权用户才可以那样做);

也可以通过向RARP服务器询问来检查客户的ARP欺骗。

因为RARP服务器保留着网络中硬件地址和 

IP的相关信息。

2.5路由欺骗

在路由协议中,主机利用重定向报文来改变或优化路由。

如果一个路由器发送非法的重定向报文,就可以伪造路由表,错误引导非本地的数据报。

另外,各个路由器都会定期向其相邻的路由器广播路由信息,如果使用RIP特权的主机的520端口广播非法路由信息,也可以达到路由欺骗的目的。

解决这些问题的办法有,通过设置主机忽略重定向信息可以防止路由欺骗;

禁止路由器被动使用RIP和限制被动使用RIP的范围。

2.6DNS欺骗

网络上的所有主机都信任DNS服务器,如果DNS服务器中的数据被攻击者破坏,就可以进行DNS欺骗。

2.7拦截TCP连接

2.8使用TCP/SYN报文段淹没服务器

利用TCP建立连接的3步骤的缺点和服务器端口允许的连接数量的限制,窃取不可达IP地址作为源IP地址,使得服务器端得不到ACK而使连接处于半开状态,从而阻止服务器响应响应别的连接请求。

尽管半开的连接会被过期而关闭的,但只要攻击系统发送的spoofed 

SYN请求的速度比过期的快就可以达到攻击的目的。

这种攻击的方法一直是一种重要的攻击ISP(Internet 

Service 

Provider)的方法,这种攻击并不会损害服务,而是使服务能力削弱。

解决这种攻击的办法是,给Unix内核加一个补丁程序或使用一些工具对内核进行配置。

一般的做法是,使允许的半开连接的数量增加,允许连接处于半开状态的时间缩短。

但这些并不能从根本上解决这些问题。

实际上在系统的内存中有一个专门的队列包含所有的半开连接,这个队列的大小是有限的,因而只要有意使服务器建立过多的半开连接就可以使服务器的这个队列溢出,从而无法响应其他客户的连接请求。

第三章关于TCP/IP协议族存在的脆弱性剖析

3.1TCP/IP协议族存在脆弱性

IP层的主要曲线是缺乏有效的安全认证和保密机制,其中最主要的因素就是IP地址问题。

TCP/IP协议用IP地址来作为网络节点的惟一标识,许多TCP/IP服务,包括Berkeley中的R命令、NFS、XWindow等都是基于IP地址对用户进行认证和授权。

当前TCP/IP网络的安全机制主要是基于IP地址的包过滤(PacketFiltering)和认证(Authentication)技术,它的有效性体现在可以根据IP包中的源IP地址判断数据的真实性和安全性。

然而IP地址存在许多问题,协议的最大缺点就是缺乏对IP地址的保护,缺乏对IP包中源IP地址真实性的认证机制与保密措施。

这也就是引起整个TCP/IP协议不安全的根本所在。

由于UDP是基于IP协议之上的,TCP分段和UDP协议数据包是封装在IP包中在网络上传输的,因此同样面临IP层所遇到的安全威胁。

现在人们一直在想办法解决,却仍然无法避免的就是根据TCP连接建立时“三次握手”机制的攻击。

3.2应用服务不容乐观

3.2.1文件传输协议

FTP经久不衰的原因在于它可以在互联网上进行与平台无关的数据传输,它基于一个客户机/服务器架构。

FTP将通过两个信道(端口)传输,一个传输数据(TCP端口20),另一个传输控制信息(TCP端口21)。

在控制信道之上,双方(客户机和服务器)交换用于发起数据传输的命令。

一个FTP连接包含4个步骤:

用户鉴权→建立控制信道→建立数据信道→关闭连接。

FTP的连接控制使用TCP(TransmissionControlProtocol,传输控制协议),它保障了数据的可靠传输。

因此,FTP在数据传输中不需要关心分组丢失和数据错误检测。

 匿名FTP作为互联网上广泛应用的服务,安全等级的低下受到了黑客的频繁光顾。

匿名FTP是真的匿名,并没有记录谁请求了什么信息,谁下载了什么文件,上传了什么东西(有可能是木马)。

FTP存在着致命的安全缺陷,FTP使用标准的用户名和口令作为身份验证,缺乏有效的访问权限的控制机制,而其口令和密码的传输也都是明文的方式。

3.2.2Web服务

Web服务器位于宿主基础结构的前端,它与Internet直接相连,负责接收来自客户端的请求,创建动态Web页并响应请求数据。

最初WWW服务只提供静态的HTML页面,为改变人们对网络互动请求的愿望,开始引入了CGI程序,CGI程序让主页活动起来。

CGI程序可以接收用户的输入信息,一般用户是通过表格把输入信息传给CGI程序的,然后CGI程序可以根据用户的要求进行一些处理,一般情况下会生成一个HTML文件,并传回给用户。

很多CGI程序都存在安全漏洞,很容易被黑客利用做一些非法的事情。

现在很多人在编写CGI程序时,可能对CGI软件包中的安全漏洞并不了解,而且大多数情况下不会重新编写程序的所有部分,只是对其加以适当的修改,这样很多CGI程序就不可避免的具有相同的安全漏洞。

很多SQLServer开发人员并没有在代码编写开始的时候就从安全防护基础开始,这样就无法确保您开发的代码的安全性,其结果就造成了无法将应用程序的运行控制在所需的最低权限之内。

3.3提高网络可信度

前面的IPv4存在的弊端,很多安全防范技术被忽略了,它不可避免地被新一代技术IPv6取代。

IPsec安全协议就是事后发展的一种协议(如图3-1),而NAT(网络地址转换,NetworkAddressTranslation)解决了IP地址短缺的问题,却增加了安全风险,使真正的端到端的安全应用难以实现。

端到端安全性的两个基本组件——鉴权和加密都是IPv6协议的集成组件;

而在IPv4中,它们只是附加组件,因此,采用IPv6安全性会更加简便、一致。

在现在的网络环境中,尤其是园区网当中,由于不存在NAT地址转换的问题,所以IPSec具备允许部署可信计算基础架构的基本特征。

IPSec数据包验证能够确保整个IP报头、下一层协议(例如TCP、UPD或ICMP)报头以及数据包有效负载的数据完整性。

华夏网管ofAdmin.Com

另外,针对数据包的单向Hash算法用以提供校验和。

通信发起方计算校验和并在发送之前将其附加到数据包中;

响应方则在收到数据包后为其计算校验和。

如果响应方所计算出的校验和与数据包中附带的校验和完全匹配,则证明数据包在传输过程中未被修改。

校验和的单向计算特性意味着其取值无法在传输过程中进行修改,这也就保证了端到端的数据传输过程的可信程度。

第四章TCP/IP状态转移

4.1TCP状态转移图和定时器

应于连接建立或终止、流量控制和数据传输。

几类主要的定时器及其功能如下TCP状态转移图控制了一次连接的初始化、建立和终止,该图由定义的状态以及这些状态之间的转移弧构成。

TCP状态转移图与定时器密切相关,不同的定时器:

①连接定时器:

在连接建立阶段,当发送了SYN包后,就启动连接定时器。

如果在75秒内没有收到应答,则放弃连接建立。

②FIN-WAIT-2定时器:

当连接从FIN-WAIT-1状态转移到FIN-WAIT-2状态时,将一个FIN-WAIT-2定时器设置为10分钟。

如果在规定时间内该连接没有收到一个带有置位FIN的TCP包,则定时器超时,再定时为75秒。

如果在该时间段内仍无FIN包到达,则放弃该连接。

③TIME-WAIT定时器:

当连接进入TIME-WAIT状态时,该定时器被激活。

当定时器超时时,与该连接相关的内核数据块被删除,连接终止。

④维持连接定时器:

其作用是预测性地检测连接的另一端是否仍为活动状态。

如果设置了SO-KEEPALIVE套接字选择项,则TCP机状态是ESTABLISHED或CLOSE-WAIT。

4.2网络入侵方式

4.2.1伪造IP地址

SYN(序列号=M)

SYN(序列号=N),ACK(应答序号=M+1)

ACK(应答序号=N+1)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2