TCP/IP协议的
安全问题分析
摘要:随着计算机网络的发展和网络共享性及互连性程度的扩大,因特网日益成为信息交换的主要手段。机密数据、商业数据等敏感信息对网络
安全提出了更高的要求。TCP/IP协议作为当前最流行的
互联网协议,却在设计时并未考虑到未来的
安全需要,因此协议中有诸多
安全问题。而协议的
安全缺陷与电脑
病毒的存在,使得网络环境面临极大的危险。本文在分析了TCP/IP及其
安全问题之后,从协议与应用两个角度介绍了目前
安全技术概况,最后提出了一个
安全防范体系架构。
With the development of computer network and network sharing and
interconnectedness degree of expanding, the Internet has become a major means of information exchange. Confidential data, business data and other sensitive information on network security put forward higher request. TCP/IP protocol as the most popular Internet protocols, but in the design does not take into account future security needs, so agreement, there are many security problems. And the safety of the agreement defects and the computer virus and allows for the existence of the network environment faces great danger. This paper analyzes the TCP/IP and its safety problems, from the agreement and application after two, the author introduces the current security technology survey, finally puts forward a security and guard system architecture.
关键词:TCP/IP协议;IP
安全协议;虚拟专用网;防火墙
正文:
一、TCP/IP协议简介
TCP/IP协议起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常用的组网形式,它是一个真正的开发系统,支持不同操作系统的主机以及不同类型网络的互联。
TCP/IP协议是一组不同层次上的多个协议的组合,通常被分为4层。
(1)链路层,有时也称作数据链路层或网络接口层,负责处理与电缆的物理接口细节。如从网络层接受IP数据包加上物理头发送到线路上。
(2)网络层,从传输层接受数据包加上IP头,负责数据包的分片与重组,以及传输过程中的路由选择等。
(3)传输层。主要为2台主机上的应用程序提供端到端得通信。主要有2个协议:TCP(传输控制协议)和UDP(用户数据报协议),其中TCP提供可靠的面向连接的服务,而UDP提供不可靠无连接服务。
(4)应用层,负责处理特定的应用程序细节。
IP协议是TCP/IP网络层唯一的核心协议。这一点是TCP/IP协议得以广泛应用的重要原因。因为无论网络采用的是何种协议,所有的TCP,UDP及其他协议数据包都被IP数据报直接封装,作为其数据字段进行传输,这对异构网络的互联提供了极大的灵活性。IP协议主要负责数据包的分片与重组,路由选择等。
二、TCP/IP协议的
安全隐患
造成操作系统
漏洞的一个重要原因,就是协议本身的缺陷给系统带来的攻击点。网络协议是计算机之间为了互联共同遵守的规则。目前的
互联网络所采用的主流协议TCP/IP,由于在其设计初期人们过分强调其开发性和便利性,没有仔细考虑其
安全性,因此很多的网络协议都存在严重的
安全漏洞,给Internet留下了许多
安全隐患。另外,有些网络协议缺陷造成的
安全漏洞还会被
黑客直接用来攻击受害者系统。本文就TCP/IP协议自身所存在的
安全问题和协议守护进程进行了详细讨论,指出针对这些
安全隐患的攻击。
1 TCP协议的
安全问题
TCP使用三次握
手机制来建立一条连接,握手的第一个报文为SYN包;第二个报文为SYN/ACK包,表明它应答第一个SYN包同时继续握手的过程;第三个报文仅仅是一个应答,表示为ACK包。若A放为连接方,B为响应方,其间可能的威胁有:
1. 攻击者监听B方发出的SYN/ACK报文。
2. 攻击者向B方发送RST包,接着发送SYN包,假冒A方发起新的连接。
3. B方响应新连接,并发送连接响应报文SYN/ACK。
4. 攻击者再假冒A方对B方发送ACK包。
这样攻击者便达到了破坏连接的作用,若攻击者再趁机插入有害数据包,则后果更严重。
TCP协议把通过连接而传输的数据看成是字节流,用一个32位整数对传送的字节编号。初始序列号(ISN)在TCP握手时产生,产生机制与协议实现有关。攻击者只要向目标主机发送一个连接请求,即可获得上次连接的ISN,再通过多次测量来回传输路径,得到进攻主机到目标主机之间数据包传送的来回时间RTT。已知上次连接的ISN和RTT,很容易就能预测下一次连接的ISN。若攻击者假冒信任主机向目标主机发出TCP连接,并预测到目标主机的TCP序列号,攻击者就能伪造有害数据包,使之被目标主机接受。
IP协议的
安全问题
IP协议在互连网络之间提供无连接的数据包传输。IP协议根据IP头中的目的地址项来发送IP数据包。也就是说,IP路由IP包时,对IP头中提供的源地址不作任何检查,并且认为IP头中的源地址即为发送该包的机器的IP地址。这样,许多依靠IP源地址做确认的服务将产生问题并且会被非法入侵。其中最重要的就是利用IP欺骗引起的各种攻击。
以防火墙为例,一些网络的防火墙只允许网络信任的IP数据包通过。但是由于IP地址不检测IP数据包中的IP源地址是否为放送该包的源主机的真实地址,攻击者可以采用IP源地址欺骗的方法来绕过这种防火墙。另外有一些以IP地址作为
安全权限分配依据的网络应用,攻击者很容易使用IP源地址欺骗的方法获得特权,从而给被攻击者造成严重的损失。事实上,每一个攻击者都可以利用IP不检验IP头源地址的特点,自己填入伪造的IP地址来进行攻击,使自己不被发现。
三、TCP/IP协议
安全问题的防范
TCP协议
安全问题的防范
对于SYN Flood攻击,目前还没有完全有效的方法,但可以从以下几个方面加以防范:
1. 对系统设定相应的内核参数,使得系统强制对超时的SYN请求连接数据包的复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的SYN请求数据包。
2. 建议在该网段的路由器上做些配置的调整,这些调整包括限制SYN半开数据包的流量和个数。
3. 建议在路由器的前端多必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可以进入该网段,这样可以有效的保护本网段内的
服务器不受此类攻击。
IP协议
安全问题的防范
1. 抛弃基于地址的信任策略。这是最简单的方法。
2. 进行包过滤。如果网络是通过路由器接入Internet的,那么可以利用路由器来进行包过滤。确认只有内部LAN可以使用信任关系,而内部LAN上的主机对于LAN以外的主机要慎重处理。路由器可以过滤掉所有来自于外部而希望与内部建立连接的请求。
3. 使用加密
技术。阻止IP欺骗的一种简单的方法是在通信时要求加密传输和验证。当有多种手段并存时,加密方法可能最为适用。
四、TCP/IP各层的
安全性和提高各层
安全性的方法
1. 网络层的
安全性
在过去的十年里,已经提出了一些方案对网络层的
安全协议进行标准化。例如,
安全协议3号(SP3)就是美国国家
安全局以及标准
技术协会作为
安全数据网络系统(SDNS)的一部分而制定的。网络层
安全协议(NLSP)是由国际标准化组织为无连接网络协议(CLNP)制定的
安全协议标准。集成化NLSP(I-NLSP)是由美国国家科技研究所提出的包括IP和CLNP在内的统一
安全机制。SWIPE是另一个网络层的
安全协议,由Ioannidis和Blaze提出并实现原型。所有这些提案的共同点多于不同点。事实上,他们用的都是IP封装
技术。其本质是,纯文本的包被加密,封装在外层的IP报头里,用来对加密的包进行Internet上的路由选择。到达另一端时,外层的IP报头被拆开,报文被解密,然后送到收报地点。
网络
安全性的主要优点是它的透明性,也就是说,
安全服务的提供不需要应用程序、其他通信层次和网络部件做任何改动。它最主要的缺点是:网络层一般属于不间进程和相应条例的包不做区别。对所有去往同一地址的包,它将按照同样的加密密钥和访问控制策略来处理。这可能导致提供不了所需要的功能,也会导致性能下降。针对面向主机的密钥分配的这些问题,RFC 1825允许(甚至可以说是推荐)使用面向用户的密钥分配,其中,不同的连接会得到不同的加密密钥。但是,面向用户的密钥分配需要对相应的操作系统内核作比较大的改动。
简而言之,网络层是非常适合提供基于主机对主机的
安全服务的。相应的
安全协议可以用来在Internet上建立
安全的IP通道和虚拟私有网。例如,利用它对IP包的加密和解密功能,可以简捷地强化防火墙系统的防卫能力。RSA数据
安全公司已经发起了一个倡议,来推进多家防火墙和TCP/IP
软件厂商联合开发虚拟私有网,该倡议被称为S-WAN(
安全广域网)倡议,其目标是制定和推荐网络层的
安全协议标准。
2. 传输层的
安全性
在网络应用编程中,通常使用广义的进程间通信(IPC)机制来与不同层次的
安全协议打交道。在Internet中提供
安全服务的首先一个想法便是强化它的IPC界面,如BSD、Sockets等,具体做法包括双端实体的认证,数据加密密钥的交换等。Netscape通信公司遵循了这个思路,制定了建立在可靠的传输服务(如TCP/IP所提供)基础上的
安全接层协议(SSL)。
网络
安全机制的主要优点是它的透明性,即
安全服务的提供不要求应用层做任何改变。这对传输层来是说是做不到的。原则上,任何TCP/IP应用,只要应用传输层
安全协议,比如说SSL或IPC,就必定要进行若干修改以增加相应的功能,并使用不同的IPC界面。于是,传输层
安全机制的主要缺点就是要对传输层IPC界面和应用程序两端都进行修改。可是,比起Internet层和应用层的
安全机制来,这里修改还是相当小的。另一个缺点是,基于UDP的通信很难在传输层建立起
安全机制来。同网络层
安全机制相比,传输层
安全机制的主要优点是它提供基于进程对进程的(而不是主机对主机的)
安全服务。这一成就如果再加上应用级的
安全服务,就可以再向前跨越一大步了。
3. 应用层的
安全性
网络层的
安全协议允许为主机(进程)之间的数据通道增加
安全属性,这以为着真正的数据通道还是建立在主机(或进程)之间,但却不可能区分在同一通道上传输的一个具体文件的
安全性要求。比如说,如果一个主机与另一个主机之间建立起一条
安全的IP通道,那么所有在这条通道上传输的IP包就到要自动的被加密。同样,如果一个进程和另一个进程之间通过传输层
安全协议建立起了一条
安全的数据通道,那么两个进程间传输的所有消息就都要自动的被加密。
一般来说,在应用层提供
安全服务有几种可能的做法,一个是对每个应用(及应用协议)分别进行修改。一些重要的TCP/IP应用已经这样做了。在RFC1421至1424中,IETF规定了私用强化邮件(PEM)来为基于SMTP的电子邮件系统提供
安全服务。Internet业界采纳PEM的步子太慢的原因是PEM依赖于一个既存的、完全可操作的PKI(公钥基础结构)。建立一个符合PEM规范的PKI需要多方在一个共同点上达成信任。作为一个中间步骤,Phil Zimmermann开发了一个
软件包,叫做PGP(Pretty Good Privacy)。PGP符合PEM的绝大多数规范,但不必要求PKI的存在。相反,它采用了分布式的信任模型,即由每个用户自己决定该信任哪些其他用户。因此,PGP不是去推广一个全局的PKI,而是让用户自己建立自己的信任之网。
总结:
总起来说,TCP/IP
安全性的进展实际上与ICA思想的
安全保证是有所协同与汇聚的,比起防火墙等措施来已更上一层楼。因此,基于TCP/IP协议的
安全计算问题应以
科学求实、积极创新的原则而努力推进,决不能不求创新,甚至悲观失望。
参考文献:
[1] 吴钰峰,刘泉,李方敏。网络
安全中的密码
技术研究及其应用[J].真空电子
技术,2004
[2] 杨义先.网络
安全理论与
技术[M].北京:北京人民邮电出版社,2003
[3]李学诗.计算机系统
安全技术[M]. 武汉:华中理工大学出版社,2003
[4]Bedford T, Cooke R. Probabilistic Risk Analysis[M].Cambridge University Press, 2001
[5] Peltier T R. Information Security Risk Analysis[M].Auerbach Publishtions, 2001
[6] Gary.Wright, W.Richard Stevens, TCP/IP Illustrated [M] 机械工业出版社,2000
[7] Jeff Doyle,Jennifer Dehaven Carroll 《TCP/IP路由
技术(第2卷)》[M] 人民邮电出版社2009 [3]