tcpip路由协议TCP/IP协议安全问题
目前,TCP/IP已经成为了目前计算机网络的基础,IP网络已经基本成为了现代计算机网络的代名词。但是即使它的实用性很广泛,还是存在着一定的局限性,它的安全问题也越来越突出。下面我就针对它的基本概念、功能以及存在的安全问题来展开阐述,说说自己的理解。
一、基本概念
TCP/IP叫做传输控制/网际协议,又叫做网络通讯协议。它是由许多个子协议组合形成的协议簇。一般来说我们是将它分为协议层和网络层两层。上面两层协议层(应用层和传输层)具体定义了有关网络通信协议的类型,下面两层(网际层和网络接口层)具体定义了网络的类型和设备之间的路径选择。TCP/IP协议采用的4层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的要求,保证数据的完整传输。
    图1.TCP/IP协议体系的划分
      图2.TCP/IP体系中的主要协议及与各层的对应关系
主要功能
TCP/IP协议不单单只是TCP和IP两个协议。它包括了网络接口层、网际层、传输层和应用层4个子层。下面是关于每个子层的主要功能:
1.网络接口层
网络接口层是位于最底层的一层协议,它的主要功能就是负责通过网络发送和接收分组。这一层没有明确地协议等规定,网际层相对上层来讲是完全透明的,所以上层不需要知道网际接口层使用的是什么协议、设备和网络。它的主要功能就是负责接收IP数据报并且通过网络发送,或者是从网络上层接收物理帧,抽出IP数据报,交给IP层。
2网际层
网际层也称之为“互联网络层”。它的主要功能是:允许位于同一网络或是不同网络中的两台主机之间以分组的形式进行通信。具体的实现功能如下:
一是处理从传输层接收下来的报文段发送请求,然后将报文段封装到IP数据报中,并根据源主机和目的主机的IP地址来填充报头,然后根据目的主机的IP地址选择一条链路将封装后的IP数据报发送出去。
二是处理从网络接口层接收到由其他主机发送过来的数据报,根据数据报中的目的地址来决定这个数据报是发送给本主机的还是要发送给其他主机的。如果是发送给自己本机的,
则去掉报头信息后提交给传输层;如果是发送给其他主机的,则根据数据报的目的IP地址选择一条链路来进行转发。
三是当本机连接两个不同的网络时,对接收到得数据进行路由选择和转发,并进行流量控制和拥塞管理。
3.传输层
它的设计目的主要指为了允许在源和目的主机的对等体之间进行会话,负责会话对等体的应用进程之间的通信。我们接触到了两个很重要端到端的传输协议:TCP和UDP协议。
TCP协议是可靠的、面向连接的协议,它实现了从一台主机发送出去的字节流无差错地传输到目的主机。在这样一个过程当中,发送主机的传输层先是把从应用层接收到到得数据流划分成许多个小的字节段,并对每一个字节段进行编号。然后每个字节段可以通过不同的路径到达目的主机,如果某个字节段在传输的过程中出现了丢失或是出错,则要求重传。当目的主机接收到了字节段后,根据其编号重组为原来的,并提交给应用程进行处理。TCP协议还负责处理流量控制,当发送端的发送速率与接收端的接收速率不匹配的时候,就会协调发送方和接收方的速率,保证字节段的可靠传输。
UDP是一个不可靠的、面向非连接的传输层协议,主要用于不要求分组顺序到达的传输中,分组的先后顺序检查与排列由应用层的应用程序来完成。同时UDP主要应用于“快熟交付比精准交付更加重要”的应用。
4.应用层
这一层是位于TCP/IP协议中的最高层。它主要是包括根据需要开发的一些高层协议:TELNET、FTP、SMTP、DNS、SNMP和HTTP等。TELNET是远程登录协议,提供了在网络其他主机上注册的端口。文件传输访问FTP提供网络内机器间的文件拷贝功能。SMP是我们常用到的协议。DNS就是域名解析服务,就是如何将域名映射成IP地址的协议。HTTP:是超文本传输协议,像我们经常看到的图片、视频、动画、音乐等都是由于这个协议在起作用的。
三.存在的安全问题
造成操作系统漏洞的一个重要原因,就是协议本身的缺陷给系统带来的攻击点。网络协议是计算机之间为了互联共同遵守的规则。目前的互联网络所采用的主流协议TCP/IP,由于
在其设计初期人们过分强调其开发性和便利性,没有仔细考虑其安全性,因此很多的网络协议都存在严重的安全漏洞,给Internet留下了许多安全隐患。另外,有些网络协议缺陷造成的安全漏洞还会被黑客直接用来攻击受害者系统。下面针对几个不同的子层来讲解安全性问题。
1. 网络层的安全性
    该层用的都是IP封装技术。其本质是,纯文本的包被加密,封装在外层的IP报头里,用来对加密的包进行Internet上的路由选择。到达另一端时,外层的IP报头被拆开,报文被解密,然后送到收报地点。网络安全性的主要优点是它的透明性,也就是说,安全服务的提供不需要应用程序、其他通信层次和网络部件做任何改动。它最主要的缺点是:网络层一般属于不间进程和相应条例的包不做区别。对所有去往同一地址的包,它将按照同样的加密密钥和访问控制策略来处理。这可能导致提供不了所需要的功能,也会导致性能下降。
2. 传输层的安全性
    在网络应用编程中,通常使用广义的进程间通信机制来与不同层次的安全协议打交道
网络安全机制的主要优点是它的透明性,即安全服务的提供不要求应用层做任何改变。这对传输层来是说是做不到的。原则上,任何TCP/IP应用,只要应用传输层安全协议,就必定要进行若干修改以增加相应的功能,并使用不同的IPC界面。于是,传输层安全机制的主要缺点就是要对传输层IPC界面和应用程序两端都进行修改。可是,比起Internet层和应用层的安全机制来,这里修改还是相当小的。另一个缺点是,基于UDP的通信很难在传输层建立起安全机制来。同网络层安全机制相比,传输层安全机制的主要优点是它提供基于进程对进程的(而不是主机对主机的)安全服务。这一成就如果再加上应用级的安全服务,就可以再向前跨越一大步了。
3. 应用层的安全性
    网络层的安全协议允许为主机(进程)之间的数据通道增加安全属性,这以为着真正的数据通道还是建立在主机(或进程)之间,但却不可能区分在同一通道上传输的一个具体文件的安全性要求。比如说,如果一个主机与另一个主机之间建立起一条安全的IP通道,那么所有在这条通道上传输的IP包就到要自动的被加密。同样,如果一个进程和另一个进程之间通过传输层安全协议建立起了一条安全的数据通道,那么两个进程间传输的所有消息就都要自动的被加密。
IP协议的安全问题
    IP协议在互连网络之间提供无连接的数据包传输。IP协议根据IP头中的目的地址项来发送IP数据包。也就是说,IP路由IP包时,对IP头中提供的源地址不作任何检查,并且认为IP头中的源地址即为发送该包的机器的IP地址。这样,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。其中最重要的就是利用IP欺骗引起的各种攻击。有一些以IP地址作为安全权限分配依据的网络应用,攻击者很容易使用IP源地址欺骗的方法获得特权,从而给被攻击者造成严重的损失。事实上,每一个攻击者都可以利用IP不检验IP头源地址的特点,自己填入伪造的IP地址来进行攻击,使自己不被发现。
TCP安全问题
TCP SYN 泛洪攻击:如果在每一次握手过程中,源主机A发给目的主机B的SYN报文段中的IP地址是伪造的,同时源主机A同时向目的主机B发送大量的SYN报文段,这时,对于目的主机B来说会正常接收这些SYN报文段,并发送SYN+ ACK确认报文段。由于目的主机B接收到的SYN报文段中IP地址是伪造的,所以发送出去的SYN+ ACK确认报文段全部得不到回复。在目的主机B的队列中存在大量“半开放状态”的连接,最终将
队列的存储空间填满,并因资源耗尽而瘫痪。这种TCP SYN 泛洪攻击属于一种典型的拒绝服务攻击,即攻击者使用大量的服务请求耗尽了服务器的资源,使服务器无法处理正常的服务请求,最终造成系统的瘫痪。