TCP存在拒绝服务攻击漏洞

(2004-04-28 17:40 )( )(瑞星 )
导读-- TCP是计算机网络系统中使用的核心网络协议。TCP协议实现中存在一个漏洞……
专题热点词(点击打开里面有更多内容)
黑客 蠕虫 入侵检测 恶意代码 防火墙 木马 黑客常用软件 黑客技术 配置安全系统 IM软件安全 DOS攻击

  受影响系统:

Cisco IOS 12.2 ZA
Cisco IOS 12.2 SY
Cisco IOS 12.2 SXB
Cisco IOS 12.2 SXA
Cisco IOS 12.2 (17d)SXB
Cisco IOS 12.2 (17b)SXA
Cisco IOS 12.2 (17a)SXA
Cisco IOS 12.2 (14)ZA8
Cisco IOS 12.2 (14)ZA2
Cisco IOS 12.2 (14)ZA
Cisco IOS 12.2 (14)SY03
Cisco IOS 12.2 (14)SY
FreeBSD FreeBSD
Linux kernel
Microsoft Windows XP
Microsoft Windows NT 4.0
Microsoft Windows ME
Microsoft Windows 98
Microsoft Windows 95
Microsoft Windows 2003
Microsoft Windows 2000

  详细描述:

  TCP是计算机网络系统中使用的核心网络协议。TCP协议实现中存在一个漏洞,远程攻击者可以终止网络中的会话,对网络设备和应用服务程序进行拒绝服务攻击。

  TCP是传输层协议设计用于提供可靠的IP包传送,TCP使用了多个标记选项及序列号来重组网络包。在2001年,根据Tim Newsham描述:

  如果接收到Window中的序列号已知,攻击者就可以注入数据到会话流或终止连接,如果ISN值已知及已经发送的字节数已知,攻击者可以发送简单的包注入数据或终止会话,如果这些值未知,但攻击者可以猜测这些值范围内的数据,他可以发送多个可能包含在此范围内的多个不同序列号,直到有一个可以被接收来实现。攻击者不需要针对每个序列号发送一个包,只要发送序列号在Window大小范围内的包即可,如果序列号处于适当的范围值里,其中之一的包就会被接收。

  Paul Watson对ISN未知的情况进行了分析,指出当特别考虑计算TCP Window大小时此攻击是可行的。并且他还做了个测试工具进行演示。

  根据RFC793规定,通过发送包含RST或者SYN标记的包可终止已经建立的连接,要发起这个操作,必须知道源和目的IP地址及端口及序列号。但是序列号却不需要精确匹配,它只要在通告Window大小范围内即可,因此攻击者只要把要猜测计算的序列号置于Window通告大小的适当范围内,就可以发起这个攻击。

  如下面是正常TCP会话的终止:

        Host(1)             Host(2)
          |               |
          |               |
          |  ACK ack=1001, window=5000  |
          |<----------------------------|
          |               |

 

        Host(1) is

     closing the session

 

          |    RST seq=1001     |
          |---------------------------->|
          |               |

 

                      Host(2) is

                    closing the session

  但下面的操作也是允许的:

         Host(1)             Host(2)
          |               |
          |               |
          |  ACK ack=1001, window=5000  |
          |<----------------------------|
          |               |

 

        Host(1) is

     closing the session

 

          |    RST seq=4321     |
          |---------------------------->|
          |               |

 

                      Host(2) is

                    closing the session

  注意第二个例子RST包虽然序列号不是1001,但也能终止会话,因此序列号位于通告Window之内,在这个例子中,Host(2)的接收序列号在1001到6001之内。

  因此TCP Window大小越大,序列号可接收范围越大。明显的BGP协议依靠大窗口通告维护长活持久的TCP会话(long-lived persistent TCP sessions ),比较容易受此漏洞攻击。

  目前各种操作系统和设备等依靠TCP堆栈实现的都存在此漏洞。

  补丁下载:

  Cisco已经为此发布了一个安全公告(cisco-sa-20040420-tcp-ios,)以及相应补丁:
  cisco-sa-20040420-tcp-ios,:TCP Vulnerabilities in Multiple IOS Based Cisco Products
  链接:http://www.cisco.com/warp/public/707/cisco-sa-20040420-tcp-ios.shtml

责编:
订阅新闻邮件) (推荐) (打印) (关闭页面) (至顶) (我对此感兴趣
相关文章
笔名:
请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。