一、TCP/IP协议安全问题的由来
TCP/IP协议由四中协议构成,分别是FTP协议(网络文件传输协议)、HTTP协议(超文本传输协议)、Telent协议(远程登录协议)、DNS协议(名字服务)。
根据以IP协议为基础的Internet的发展历程可知,IP协议最可取的内涵与作用在于其充分的开放透明性与灵活有效的多业务增值能力。然而,在开放透明的同时,也往往更容易“充分暴露",自然也容易受到攻击。在Internet商用化后暴露出来的一系列问题中,最棘手、解决难度最大的问题就是安全性问题.而TCP/IP协议由于自身缺陷造成的缺点主要体现在:
UDP攻击:使两个或两个以上的系统之间产生巨大的UDP数据包。
TCP/SYN攻击:作为一种拒绝服务攻击存在的时间已经有20多年了,它使利用TCP/IP的链接建立时的漏洞进行攻击的。
ICMP/PING攻击:利用一些系统不能接受超大的IP包或需要资源处理这一特性而进行的。
ICMP/SMUR攻击:利用的是网络广播的原理来发送些大量的地址,而包的源地址就是要攻击的计算机和本身的地址。
TARGA3攻击(IP堆栈突破):基本原理是发送TCP/UDP/ICMP的碎片包,是大小标记,包数据等都是随机的。
对IP协议的安全性问题,最尖锐的观点来自TINA /TIMNA, TINA /TIMNA认为,Internet及其IP网的三大缺陷是安全失控、Qos无保障及网络。全IP化即使用IPv6也不能有本质性的变化,必须从中间件层入手,才能真正取得隔离功能及解决安全问题。
tcpip路由协议IPInternet研究的权威机构——IETF,对现有Internet及IP协议的缺陷与不足亦有足够的认识,列举出Internet下一步发展面临的十大技术问题:身份识别技术、保护IPR技术、保护个人隐私技术、新一代Internet通信协议IPv6技术、下一代Internet结构的网格(Grid)技术、无线Internet技术、传统电话网与Internet融合的技术、更有效地在网上传输的视频技术、防止垃圾邮件的过滤技术及网络安全技术。我们可以看到在这十大技术问题中有一半以上与安全性有关,可见IP安全性的实际严重性可以说,IP问题的最大难点是其安全性.
目前,黑客、病毒愈杀愈烈,泛滥成灾,已成为安全计算及IP网络安全运作的头等隐患。TCP/IP协议自身又存在着许多难以根除的安全隐患,虽然防火墙可以保护网络系统免遭侵入,但对于TCP/IP固有的安全缺陷却无法从根本上消除,我们只能采取一些措施,尽量减
少网络受到攻击的威胁。因此,深入探讨TCP/IP的安全隐患及应对策略,对提高网络的安全性将起着至关重要的作用.
二、TCP/IP协议的安全隐患
(一)服务攻击
X可以发送一个同时带有SYN和FIN的数据包到A(序列号=M),而A会回送一个 ACK包给X(序列号= M+1)。最初A是处于LISTEN状态,当其收到来自X的数据包后,开始响应并进行处理(但TCP的规范中并未说明如何处理同时带有SYN和FIN的数据包)。首先,A处理SYN标记,A的状态由LISTEN状态转换到SYN-RCVD状 态 ,然后处理FIN标记,尽管在SYN-RCVD状态下收到FIN是合法的,但状态变迁图并未列出这一变迁 。此时A的状态应该是从SYN-RCVD状态转换到CLOSE WAIT状态,但这种状态转换在TCP 规范中并未指出该如何处理。由于X不会再发送其它的数据包,所以这次三次握手并未完成 ,应用程序并不能从内核建立连接。此时处于CLOSE WAIT状态的A正期待着能得到X 的终止信息以便能结束连接,但X却不发送任何消息帮助A进行状态转换,所以A只能停 止在CLOSE WAIT状态,这个半连接状态就留在了A的连接队列里。
由于TCP 服务器是并发的,TCP 服务器启动一个新的进程来处理每个客户,而监听服务器总是在不断地监听客户端的连接请求。因此,有可能有多个连接请求同时到达。为了处 理这些连接请求,TCP使用一个固定长度的连接队列来保存已被TCP接受还没被应用层所接受的连接请求.如果请求队列没有空间时,TCP就忽略收到SYN包。如果X不断重发带 有SYN和FIN的数据包A,A就会为每个半连接在连接请求队列中分配空间直至达到最大连接数,最终结果就是使A不能响应来自其它主机的信息。
(二)TCP连接过程中的三次握手
假定有三台机器 A 和 B ,以及入侵者控制的机器 X。主机 A 和 B 之间建立有信任关系 ,即A可以在B上执行一些命令 。X如果想在 B上执行命令的话 ,它必须执行以下两步操作:
和B建立一个伪造的连接 。
使A瘫痪 ,让B不能得到来自A的任何信息 。
这样,X就可以假冒A的IP地址 ,使得B认为来自X的数据包是发自A的。X可以通过以下方法来实现IP欺骗:
X先发送一个带有随机序列号M的SYN包到B ,当然源地址是主机A的地址。
主机B回送一个带有自己产生的序列号N的SYN+ACK包到A ,并且确认号为M+1。
为完成三次握手,主机X必须发送一个确认号为N+1的ACK包到B ,并且源地址为A主机。
在使用上述方法来实现IP欺骗时,主机A必须不在线,或者X将A阻塞,使其不能响应来自主机B的信息。
完成上述过程后,X就可以发送命令到主机B上,而B会认为该命令是来自于主机A的,所以会给以执行。
(三)序列号的非随机性
当两台计算机按照TCP/IP协议连接在一起时,该协议会产生一些初始序列号——ISN,它可以提供计算机网络设备间的路化信息。但是,因为这些序列号的产生并不是随机的,因此许多平台都可以计算出这些序列号,并且准确度非常高,不法分子就会利用这一漏洞控制互联网或企业内部网上基于TCP/IP协议的路化,并对计算机网络实施多种类型的攻击。
通常,不法分子会通过网上报文嗅探,顺序测试号码,由WEB浏览器连接到节点上并在状态栏中寻节点的IP地址,他会尽力模拟一个能让其通过路由器和作为网络用户访问系统的IP 号码。当试过网上IP 地址之后,便开始监听网下传送包的序列号,然后是推测服务器能产生的下一个序列号,在将自己有效地插入服务器和用户之间.因为已经获取推测的IP地址,所以就可以产生正确的IP地址和顺序码的包裹以截获用户的传递。通过顺序号预测取得系统的访问之后,变可以访问通讯系统传给服务器的任何信息,包括密钥文件、日志名、机密数据以及在网上传送的一切信息。
(四)IP源地址的欺骗
IP欺骗就是攻击者假冒他人IP 地址发送数据包。因为IP协议不对数据包中的IP 地址进行认证,因此任何人不经授权都可以伪造IP 包的源地址。IP协议依据IP 头中的目的地址来发送IP数据包。如果目的地址是本地网络内的地址,该IP报就被直接发送到目的地,如果目的地址不在本地网络内,该IP包就会被送到网关,再由网管决定将其发送到何处,这是IP路由IP包的方法。实际上,IP路由包是对IP头中提供的IP源地址即为发送该包的机器的IP地址,当接收到该包的目的主要要与源主机进行通讯时,它以接受到的IP包的IP 头中IP源地址作为
其发送的IP 包的目的地址,来与源主机进行数据通讯。IP 的这种数据通讯方式虽然非常简单和高效,但由于TCP/IP协议缺乏认证机制,它不能保证数据包的真实来源,从而构成了IP 欺骗的基础,给网络留下了安全隐患,不法分子就会利用IP 的这一安全隐患对TCP/IP进行攻击.
(五)重组IP分段包超长的安全隐患
  互联网是由许许多多不同的局域网、自治系统网连接在一起的,这些相互连接在一起的网络往往拥有不同的最大传输单元MTU,为了使IP数据包能够在拥有不同最大传输单元的网络之间无差错的传递,IP提供了对IP数据包发往较小MTU的网络,IP以目的网络的MTU为IP包的最大包长,将本地生成的较大的IP数据包分成若干个分段,发往目的主机,当这些IP分段数据包到达目的主机的IP时,目的主机的IP发现到来的IP数据包不是一个完整的数据包,就会将这些IP数据包先缓冲起来,一旦这些IP数据包全部到期,IP就将这些数据包组合成一个超大的IP数据包,交给上层协议处理,重新组合的过程是将所有标志域的MF位为1的同属于一个完整IP包的IP分段合并成一个IP包,直到最后一个MF位为0的IP分段,重新组合而成的IP数据包长度由各个IP分段的数据长度累加而成。IP头中的数据包长度域只有16
位,这就限制了IP包的长度最大为65536,如果到来的IP分段的累加长度大于65535,而IP又没有进行检查,IP会因溢出而处于崩溃或不能继续提供服务的状态。不法分子就会利用这样的隐患对网络发动攻击。当他想向主机发送请求响应包,而这些请求响应包是一系列IP分段数据包组成的,且累加和大于65535时,主机就会对这些IP数据包进行重新组合,大量占用系统资源,以至于系统瘫痪。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。