SQL Server 2000中引入了主持台物理机上的SQL Server的多个实例的能力。每个实例运行的所有意图和目的,就好像它是一个独立的服务器。但是,多个实例不能都使用标准的SQL Server会话端口(TCP 1433)。尽管TCP端口1433上的默认实例侦听,命名实例监听分配给它们的任何端口上。在SQL Server解析服务,经营UDP端口1434上,提供了一种为客户查询相应的网络端点使用特定的SQL Server实例。这里有三个安全漏洞。前两个是缓冲区溢出。通过发送一个精心制作的数据包发送到解析服务,攻击者可能会导致系统内存部分(在一种情况下堆,栈中的除外)被覆盖。用随机数据可能会导致SQL Server服务失败覆盖它;精心挑选的数据覆盖它可能允许攻击者在SQL Server服务的安全上下文中运行代码。第三个漏洞是拒绝服务漏洞。 SQL使用保活机制,主动和被动的实例区分开来。有可能创造一个保活分组,当发送到解析服务,将导致的SQL Server 2000,以用相同的信息作出响应。谁创造了这样一个数据包的攻击者伪造的源地址,以便它似乎来自一个SQL Server 2000系统,并把它交给邻近的SQL Server 2000系统可能会导致两个系统进入保持一个永无休止的循环-alive数据包交换。这将消耗两个系统上的资源,大大降低性能。减轻影响的因素:缓冲区溢出SQL Server解析服务:
- 在SQL Server 2000中运行在由管理员在安装时选择了一个安全环境。默认情况下,它会作为一个域用户。因此,尽管攻击者的代码可以采取在数据库上执行任意操作,那就不一定在操作系统级别显著的权限,如果最佳做法已被遵守。
- 将漏洞带来的风险可能被减轻,如果可行的话,阻止端口1434的防火墙。
通过SQL Server解析服务拒绝服务:
- 的攻击可能会通过两种受影响的系统重新启动SQL Server 2000服务被折断。在这两个系统正常处理将恢复一旦发作停止。
- 在该漏洞没有提供方法来获得系统上的任何特权。这是一个拒绝服务漏洞只。
要求
 
- 在Windows 2000中
 
评论没有发现