精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>网络专区>>● Internet>>
常见问题
>>Re:骨干网络被攻击现象及原因之一

主题:Re:骨干网络被攻击现象及原因之一
发信人: ntol()
整理人: snowypeng(2003-01-27 13:08:59), 站内信件
根据绿盟的资料:
北京时间2003年01月25日14时许,绿盟科技安全小组监测到忽然发生的世界范围的大规模网络访问速度减慢情况,经过我们对捕获的数据分析,以及和国外安全组织交流的信息,基本可以确定这是一次有预谋的大规模DoS行为。

就得到的数据分析来看,主要的流量为针对UDP/1434端口的数据。UDP/1434端口是SQL Server Resolution服务。Microsoft SQL Server 2000支持在单个物理主机上伺服多个SQL服务器的实例,每个实例操作需要通过单独的服务,不过多个实例不能全部使用标准SQL服务会话会话端口(TCP 1433),所以SQL Server Resolution服务操作监听在UDP 1434端口,提供一种使客户端查询适当的网络末端用于特殊的SQL服务实例的途径。

目前可以肯定的是这这种大规模的攻击是针对Microsoft SQL Server 2000的。可能与历史上发现的几个Microsoft SQL Server 2000漏洞有关,也可能是某个未公开的漏洞。

Microsoft SQL Server 2000的Resolution服务的在操作keep-alive机制时对请求端缺少正确的检查,远程攻击者可以利用这个漏洞进行拒绝服务攻击。

Microsoft SQL Server 2000支持在单个物理主机上伺服多个SQL服务器的实例,每个实例操作需要通过单独的服务,不过多个实例不能全部使用标准SQL服务会话会话端口(TCP 1433),所以SQL Server Resolution服务操作监听在UDP 1434端口,提供一种使客户端查询适当的网络末端用于特殊的SQL服务实例的途径。

SQL使用一种keep-alive机制来区别主动和被动的实例,当SQL服务程序在UDP 1434端口接收到单字节为0x0A的UDP包时,会以0x0A应答发送端,但是这种应答只以源IP地址和源端口作为参照信息,攻击者可以伪造发送来自其他SQL服务器的0x0A单字节UDP包给目标SQL服务器,可导致两个SQL服务器进入无限循环的keep-alive包交换中,使的大量系统资源消耗,产生拒绝服务攻击。

解决办法:
* 安装Microsoft SQL Server 2000 SP3。
* 在边界防火墙、网关设备或者SQL Server主机上限制对UDP/1434端口的访问。由于UDP报文的源地址很容易伪造,所以不能简单地限制只允许可信IP访问。

Microsoft已经为此发布了一个安全公告(MS02-039)以及相应补丁:
MS02-039:Buffer Overruns in SQL Server 2000 Resolution Service Could Enable Code Execution (Q323875)
链接:http://www.microsoft.com/technet/security/bulletin/MS02-039.asp

补丁下载:
    * Microsoft SQL Server 2000:
      http://www.microsoft.com/Downloads/Release.asp?ReleaseID=40602

[关闭][返回]