关于 TCP/IP协议安全性能问题的分析

豆豆网   技术应用频道   2007年03月11日  【字号: 收藏本文

本文详细介绍关于 TCP/IP协议安全性能问题的分析

  大量的TCP SYN包将从主机X经过网络发往主机B,相应地有SYN-ACK包从主机B发往主机X。然后主机X将用RST包作应答。这个SYN/SYN-ACK/RST包序列使得入侵者可以知道主机B的TCP序列号发生器的动作。

  主机A向主机B发送一个SYN包。实际上,这是主机X发送的一个“伪造”包。收到这个包之后,主机B将向主机A发送相应的SYN-ACK包。主机A向主机B发送ACK包。按照上述步骤,入侵主机能够与主机B建立单向TCP连接。

  §3.2 虚假状态转移

  当入侵者试图利用从SYN-RCVD到CLOSE-WAIT的状态转移长时间阻塞某服务器的一个网络端口时,可以观察到如下序列包:

  ●从主机X到主机B发送一个带有SYN和FIN标志位置位的TCP包。

  ●主机B首先处理SYN标志,生成一个带有相应ACK标志位置位的包,并使状态转移到SYN-RCVD,然后处理FIN标志,使状态转移到CLOSE-WAIT,并向X回送ACK包。

  ●主机X不向主机B发送其它任何包。主机的TCP机将固定在CLOSE-WAIT状态。直到维持连接定时器将其重置为CLOSED状态。

  因此,如果网络监控设备发现一串SYN-FIN/ACK包,可推断入侵者正在阻塞主机B的某个端口。

  §3.3 定时器问题

  如果一入侵者企图在不建立连接的情况下使连接建立定时器无效,我们可以观察到以下序列包:

  ●主机X从主机B收到一个TCP SYN包。

  ●主机X向主机B回送一个SYN包。

  主机X不向主机B发送任何ACK包。因此,B被阻塞在SYN-RCVD状态,无法响应来自其它客户机的连接请求。

  §4 总结

  目前还没有十分简便的方法防止伪造IP地址的和侵行为,但我们可以采取以下措施来尽可能地保护系统免受这类攻击。首先,我们可以配置路由器和网关,使它们能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在酝酿 网内时,路由器和网关不应该把本网主机的包发送出去。其次,在包发送到网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性和真实性。

  为了防止从SYN-RCVD到CLOSE-WAIT状态的伪转移,需要改变操作系统中TCP操作的部分相关代码,使得当TCP机处于SYN-RCVD状态时,忽略任何对等主机发来的FIN包。

  只有当建立连接后,才可以使连接建立定时器无效。也就是说,在同步开放连接建立过程中,当主机收到一个ACK时,定时器应置为无效,使状态转移到ESTABLISHED。只有CLOSED等少数几种状态与定时器无关。入侵主机可能会迫使TCP机转移到这些状态,因为该状态不受任何定时器制约,如果入侵者不发送适当的包,主机可能会被阻塞在这个状态。

责编:豆豆技术应用

正在加载评论...