|
|
近年来,黑客利用Internet作案的事件频频发生,导致绝密信息被窃取、重要数据被删除、网络系统遭破坏等严重后果,给用户造成了极大的损失。尽管已采取了一些安全措施,并且也已起到了很大的作用,但网络中仍存在着许多安全缺口,成为黑客的进攻突破点。TCP/IP作为Internet使用的标准协议集,是黑客实施网络攻击的重点目标。本文将围绕TCP/IP的安全性问题进行讨论。
- ~1 h. g, l7 H2 d; XTCP/IP的协议结构
" _& `' i; x) h- K; J0 T1 s TCP/IP是一组协议的集合,除了最常用的TCP和IP协议外,还包含许多其他的工具性协议、管理协议及应用协议。TCP/IP的协议结构如图所示。
2 V e" p2 q& ]1 l 其中,应用层向用户提供访问Internet的一些高层协议,使用最广泛的有TELNET、FTP、SMTP、DNS等,同时新的应用协议还在不断涌现。传送层的作用是提供应用程序(端 到端)的通信服务,该层有两个协议:传输控制协议TCP和用户数据报协议UDP。前者提供高可靠的面向连接的数据传送服务,后者提供无连接的高效率的数据传送服务。网间层负责相邻主机之间的通信,该层协议主要有IP和ICMP等。网络接口层是TCP/IP协议软件 9 R$ q% d6 w% a6 R7 k
的最低一层,其主要工作有:负责接收IP数据报,通过网络向外发送或者从网络上接收物理帧,抽出IP数据报向上层传送。对不同的物理网络配以相应的网络接口协议,如物 理网是以太网时,网络接口协议须使用IP-E(RFC894)。 . B4 N+ e3 ]* e6 M$ y7 h& r) ?6 @9 D
协议安全性分析 0 G7 `+ R+ h1 T8 B
1.TCP协议
* `! z8 k: g5 {7 V% ~# K TCP使用三次握手机制来建立一条连接,握手的第一个报文为SYN包;第二个报文为 SYN/ACK包,表明它应答第一个SYN包同时继续握手过程;第三个报文仅仅是一个应答,表示为ACK包。若A为连接方,B为响应方,其间可能的威胁有:
2 f( H, ?- c6 F, ?2 r: v. D1 \, e/ } ·攻击者监听B方发出的SYN/ACK报文。 1 k8 `, j3 V u* |2 D% G1 f7 x
·攻击者向B方发送RST包,接着发送SYN包,假冒A方发起新的连接。 2 m3 z7 c" X7 S5 a2 i6 ] v
·B方响应新连接,并发送连接响应报文SYN/ACK。
" @# {4 h/ [4 f+ F8 D& [ ·攻击者再假冒A方对B方发送ACK包。
' h6 J0 {/ P: r, B% W. \/ u 这样攻击者便达到了破坏连接的作用,若攻击者再趁机插入有害数据包,则后果更严重。 & Q" M$ X4 L t3 Z$ i! m' h [
TCP协议把通过连接而传输的数据看成是字节流,用一个32位整数对传送的字节编号。初始序列号(ISN)在TCP握手时产生,产生机制与协议实现有关。攻击者只要向目标主机发送一个连接请求,即可获得上次连接的ISN,再通过多次测量来回传输路径,得到进攻主机到目标主机之间数据包传送的来回时间RTT。已知上次连接的ISN和RTT,很容易就能预测下一次连接的ISN。若攻击者假冒信任主机向目标主机发出TCP连接,并预测到目
$ t9 H$ k1 [$ m% k1 ~$ {标主机的TCP序列号,攻击者就能伪造有害数据包,使之被目标主机接受。
, |/ H0 \1 k7 z 2.IP协议和ICMP协议 ( r0 {; \" ~) b* @9 q
IP协议是TCP/IP中最重要的协议之一,提供无连接的数据包传输机制,其主要功能有:寻址、路由选择、分段和组装。传送层把报文分成若干个数据报,每个数据包在网关中进行路由选择,穿越一个个物理网络从源主机到达目标主机。在传输过程中数据包可能被分成若干小段,以满足物理网络中最大传输单元长度的要求,每一小段都当作一 个独立的数据包被传输,其中只有第一个数据报含有TCP层的端口信息。在包过滤防火墙
' g2 n% d/ D9 p, k- J% R" l4 c中根据数据包的端口号检查是否合法,这样后续数据包可以不经检查而直接通过。攻击 者若发送一系列有意设置的数据包,以非法端口号为数据的后续数据包覆盖前面的具有 合法端口号的数据包,那么该路由器防火墙上的过滤规则被旁路,从而攻击者便达到了 进攻目的。 0 s3 J+ M2 _+ C& [5 L9 U g6 E
ICMP是在网间层中与IP一起使用的协议。如果一个网关不为IP分组选择路由、不能 递交IP分组或者测试到某种不正常状态,如网络拥挤影响IP分组的传递,那么就需要IC MP来通知源端主机采取措施,避免或纠正这类问题。ICMP被认为是IP协议不可缺少的组 成部分,是IP协议正常工作的辅助协议。 + w8 ?7 o, @9 H( a9 _
ICMP协议存在的安全缺口有: % f4 ?) u7 u% _8 D; f: C4 n& S. m
攻击者可利用ICMP重定向报文破坏路由,并以此增强其窃听能力。
8 y+ Y8 w2 O9 W* W1 c5 j3 Z 攻击者可利用不可达报文对某用户节点发起拒绝服务攻击。 ) A% k5 f; O& J: p
3.路由协议 3 b) k* U8 o5 G! W/ `1 R
Internet使用动态路由,通过路由器相互通信和传递路由信息,实现路由表的自动 更新。自治域内部采用的路由协议称为内部网关协议,常用的有路由信息协议RIP(Routing Information Protocol)、开放式最短路径优先协议OSPF(Open Shortest Path First)。外部网关协议主要用于多个自治域之间的路由选择,常用的是边界网关协议BGP(Border Gateway Protocol)。
: Z' A$ j8 D; u! ]6 g 路由协议存在的安全缺口有: : }0 J# ]0 I- a$ r
许多路由协议使用未加密的非一次性口令来证实数据中的路由信息,容易遭到非法窃听。 ' p; X' ~. A% X
攻击者通过伪造一非法路由器或者其它手段发送伪造路由信息,扰乱合法路由器的路由,从而使本应到达目标主机的数据包转发至入侵主机。
. Q) h/ t$ f' i3 c 由于BGP通过TCP传送数据,目前对TCP不断加剧的攻击也是影响BGP安全的一个重要因素。
$ I6 h/ m. D6 l1 q+ Y, ^, ` 4.域名系统
7 W E) j9 X# o2 ]- S1 P* s 为了解决IP地址难于记忆的问题,TCP/IP设计了一种层次性命名协议,即域名系统 DNS,其作用是自动将主机域名转换成对应的IP地址。DNS也存 |
|