安全公告
Microsoft 安全公告 MS00-047 - 重要提示
可用于“NetBIOS 名称服务器协议欺骗”漏洞的修补程序
发布时间: 2000 年 7 月 27 日
版本: 1.0
最初发布: 2000 年 7 月 27 日
总结
Microsoft 发布了一个修补程序,该修补程序消除了在 Microsoft® Windows® 系统中实现的协议中的安全漏洞。 它可用于导致计算机拒绝响应服务请求。
受影响的软件:
- Microsoft Windows NT 4.0 工作站
- Microsoft Windows NT 4.0 Server
- Microsoft Windows NT 4.0 Server,企业版
- Microsoft Windows NT 4.0 Server, Terminal Server Edition
- Microsoft Windows 2000
漏洞标识符:CVE-2000-0673
常规信息
技术详细信息
技术说明:
NetBIOS 名称服务器 (NBNS) 协议(通过 TCP/IP (NBT) 系列协议的 NetBIOS(NBT)协议作为 Windows Internet 名称服务(WINS)在 Windows 系统中实现。 根据设计,NBNS 允许网络对等方帮助管理名称冲突。 此外,根据设计,它是未经身份验证的协议,因此受到欺骗。 恶意用户可能会滥用名称冲突和名称发布机制,导致另一台计算机得出结论其名称存在冲突。 根据方案,计算机将因此无法在网络上注册名称,或者放弃已注册的名称。 这两种情况下的结果都是相同的 - 计算机不再响应发送到冲突名称的请求。
如果遵循了正常的安全做法,并且防火墙中阻止了端口 137 UDP,则不可能发生外部攻击。 修补程序可用于更改 Windows 系统的行为,使管理员能够更灵活地管理其网络。 修补程序允许管理员将计算机配置为仅接受名称冲突数据报,以直接响应名称注册尝试,并配置计算机以拒绝所有名称发布数据报。 这将减少但不消除欺骗的威胁。 需要额外保护的客户可能需要考虑在 Windows 2000 中使用 IPSec 对端口 137-139 上的所有会话进行身份验证。
常见问题解答
此公告的内容是什么?
Microsoft 安全公告 MS00-047 宣布了修补程序的可用性,该修补程序提高了管理员防范针对 Microsoft® Windows NT® 4.0 和 Windows® 2000 系统的拒绝服务攻击的能力。 Microsoft 致力于保护客户的信息,并提供公告,告知客户漏洞及其可执行的操作。
漏洞的范围是什么?
这是 拒绝服务 漏洞。 它由于受影响系统中使用的行业标准协议存在缺陷。 如果恶意用户向 Windows NT 或 Windows 2000 系统发送了特定消息,则会导致计算机放弃网络上已知的名称。 这会阻止网络上的其他计算机从中请求服务。
此漏洞不会导致任何受影响的系统出现产品缺陷。 这只是此处使用的行业标准协议的性质的结果。 该修补程序添加了新功能,使恶意用户更容易装载此类攻击。
导致漏洞的原因是什么?
此漏洞的原因是 RFC 1001 和 1002 中指定的 TCP/IP (NBT) 协议的 NetBIOS 未经身份验证,并允许网络上的计算机帮助管理其对等方。 协议在 Windows NT 4.0 和 Windows 2000 中正确实现,但根据设计,它们容易受到滥用和欺骗。 这可以允许网络上的任何计算机欺骗 WINS 服务器,并将名称冲突或名称发布数据报发送到另一台计算机,从而导致计算机放弃其名称,并且对服务请求无响应。
什么是 NetBIOS,什么是 NBT?
NetBIOS 是一组用于电脑网络的网络服务。 可以在多个不同的网络协议上实现 NetBIOS,并且需要有一个标准来描述每个情况的服务将如何实现。 NBT 是描述如何在 TCP/IP 网络上提供 NetBIOS 服务的协议。
此漏洞涉及一个 NBT 服务,即 NetBIOS 名称服务(NBNS)。 NBNS 类似于 TCP/IP 世界中的 DNS;它提供了一种方法来查找给定其 NetBIOS 名称的计算机的 IP 地址,反之亦然。 在 Windows 系统中,NBNS 作为 Windows Internet 名称服务 (WINS)实现。
在 Windows 中如何实现 NBT 和 WINS 有什么问题?
无变化。 它们都是按照协议正确实现的。 此处的漏洞是由于协议本身存在缺陷而产生的。 这些缺陷是将来版本的 Windows 中逐步淘汰对 NetBIOS 的支持的原因之一。
协议有什么问题?
在任何名称服务中,必须针对存在名称冲突的情况(即具有相同名称的两台计算机)进行预配。 漏洞存在,因为识别名称冲突的机制可能会被滥用。 具体而言,可能会滥用名称冲突和名称发布机制。
什么是名称冲突机制?
在 NBNS 中,名称服务器和 NetBIOS 客户端检查名称冲突。 每当计算机注册或刷新名称或服务器从另一个名称服务器接收副本 (replica)数据时,名称服务器检查名称冲突。 每当 NetBIOS 客户端向计算机发送请求并接收多个响应时,就会检查名称冲突。 在任一情况下,找到冲突的计算机会将名称冲突数据报发送到冒犯的计算机,然后拒绝再回答该名称。
如何滥用名称冲突机制? 恶意用户可能会将名称冲突数据报发送到名称不冲突的计算机,这仅仅是为了使其放弃其名称并变得不可用于服务请求。 例如,如果恶意用户向名为 \\FILESRV1 的计算机发送了此类数据报,则它将不再回答该名称,其他计算机将无法再从中请求服务。
但是,请注意,计算机可以在多个名称下注册,并且这些别名不会受到虚假名称冲突数据报的影响。 例如,如果 \\FILESRV1还注册为 \\PRTSRV1,则即使收到有关 \\FILESRV1 的虚假名称冲突报告,它也会继续响应名称 \\PRTSRV1。
什么是名称发布机制?
在 NBNS 中,当计算机不再使用它们时,计算机可以释放其名称,无论是通过显式释放它,还是简单地放弃它。 但是,NBNS 服务器还可以要求计算机释放其名称,以删除名称冲突的方式。
如何滥用名称发布机制?
恶意用户可以向计算机发送名称发布数据报,以便放弃其名称。 与上述未经请求的名称冲突数据报一样,这将导致计算机对服务请求不可用。
谁可以利用此漏洞?
如果防火墙已就地阻止端口 137 UDP(发生 NBNS 名称注册流量的端口),外部用户无法利用此漏洞。 标准安全过程建议阻止外部路由器和防火墙上的所有 NetBIOS 端口 - 137、138 和 139 TCP/UDP。
是否可以意外利用此漏洞?
否。 恶意用户需要向特定主机发送非常具体的数据报。 这不能意外发生。
如果这只是协议的工作原理,为什么要提供修补程序?
Microsoft 无法单方面更改协议,但我们可以为管理员提供灵活性来限制哪些计算机可以将其他计算机置于名称冲突状态。 这就是补丁背后的目的。
修补程序的作用是什么?
此修补程序执行两项操作:
- 它会导致 Windows NT 4.0 或 Windows 2000 计算机忽略明显欺骗的名称冲突数据报。 如果名称冲突数据报不是计算机注册的 WINS 服务器,或者显然不是对名称注册请求的响应,则计算机将忽略数据报。
- 它为 Windows 2000 中已存在的 Windows NT 4.0 计算机提供功能。 此功能使管理员能够将计算机配置为忽略名称发布数据报。
然而,值得注意的是,此修补程序只会使欺骗名称冲突过程变得更加困难(并非不可能)。 任何不包含身份验证的协议都可以欺骗其消息,NetBIOS 也不例外。 需要 100% 保护以防止欺骗攻击的客户可能需要考虑在 Windows 2000 中使用 IPSec 建立经过身份验证的会话。 例如,通过端口 137-139 对所有会话进行身份验证的 IPSec 策略将阻止通过 NetBIOS 进行欺骗攻击。
应用修补程序后,如何配置计算机以忽略欺骗名称冲突数据报?
有关名称冲突数据报的新功能不可切换。 安装修补程序后,对名称冲突数据报的限制将生效。
应用修补程序后,如何配置计算机以忽略名称发布数据报?
只需设置以下注册表值:
Hive | HKEY_LOCAL_MACHINE\SYSTEM |
键 | CurrentControlSet\Services\NetBT\Parameters |
Name | NoNameReleaseOnDemand |
值类型 | Reg_DWORD - 布尔值 |
默认值 | 0 (名称发布未忽略) |
此函数已存在于 Windows 2000 中,修补程序会将其添加到 Windows NT 4.0 系统中。 有关该函数的详细信息,请参阅 有关网络攻击 的安全注意事项和 Microsoft Windows 2000 实现详细信息。
谁应该应用修补程序?
Microsoft 建议,此修补程序仅适用于在网络中扮演核心角色的计算机,而管理员判断的计算机可能是此类攻击的目标。
是否有任何情况下我不应应用修补程序?
是的。 Microsoft 始终建议客户考虑漏洞构成的特定风险,并权衡应用修补程序的好处。 但是,在这种情况下,这一点尤为重要。 修补程序会删除设计外的行为,并可能阻止名称冲突得到解决。 发生无辜的名称冲突可能会导致网络中断比恶意网络用户拒绝服务攻击更大的中断。
例如,执行副本 (replica)时,WINS 服务器通常会检查名称冲突。 在协议下,如果检测到名称冲突,WINS 服务器会将名称发布要求发送到声明该名称的计算机之一。 但是,如果在收到名称发布需求的计算机上启用了 NoNameReleaseOnDemand 设置,它将拒绝放弃该名称,并且无法解决名称冲突。
如何实现使用修补程序?
知识库文章 Q269239 包含有关应用修补程序的详细说明。
在哪里可以获取修补程序?
安全公告的“修补程序可用性”部分提供了修补程序的下载位置。
如何判断是否正确安装了修补程序?
知识库文章 Q269239 提供了修补程序包中文件的清单。 验证是否已正确安装修补程序的最简单方法是验证计算机上是否存在这些文件,并具有相同的大小和创建日期,如知识库(KB)文章中所示。
NetBIOS 作为所有 Windows 系统的一部分提供。 为什么没有为 Windows 95 和 98 提供修补程序?
这些系统确实实现了 NetBIOS,但我们尚未为其开发修补程序。 原因是修补程序的效果与 Windows 95 和 98 计算机最适当使用的角色之间存在不兼容。
如上所述,漏洞是由于 NetBIOS 中提供的正常按设计管理功能被滥用造成的。 修补程序会删除其中一些函数。 全局应用修补程序并不合适(例如,在大型网络中的所有工作站上),因为它会妨碍网络应对正常发生的名称冲突的能力。 事实上,如果修补程序全局部署在大型网络中,则正常管理功能的丢失可能会造成比恶意攻击更多的中断( 如果不是更多)。 因此,我们建议将修补程序仅应用于安全关键计算机,并且只为适合此类角色的产品开发修补程序。
Microsoft 对此有何操作?
- Microsoft 开发了一个消除漏洞的过程。
- Microsoft 提供了一份 安全公告和本常见问题解答,可让客户详细了解漏洞和消除漏洞的过程。
- Microsoft 已将安全公告的副本发送给所有订阅者到 Microsoft 产品安全通知服务,这是一项免费的电子邮件服务,客户可以使用该服务随时了解 Microsoft 安全公告。
- Microsoft 发布了一篇 知识库文章,Q269239 更详细地解释漏洞和过程。
在哪里可以找到有关安全性的最佳做法的详细信息?
Microsoft TechNet 安全 网站是获取有关 Microsoft 安全性的信息的最佳位置。
如何实现获得此问题的技术支持?
Microsoft 技术支持可以协助解决此问题或任何其他产品支持问题。
修补程序可用性
下载此修补程序的位置
Windows 2000:
Windows NT 4.0 工作站、服务器和服务器企业版:
Windows NT 4.0 服务器,终端服务器版本:
有关此修补程序的其他信息
安装平台:有关此问题的详细信息, 请参阅以下参考。
- Microsoft 知识库文章 Q269239 讨论此问题。
- TCP/UDP 传输上的 NetBIOS 服务的协议标准:概念和方法, RFC 1001。
- TCP/UDP 传输上的 NetBIOS 服务的协议标准:详细规范 RFC 1002。
其他信息:
确认
Microsoft 感谢 以下客户与我们合作来保护客户:
支持: 这是完全支持的修补程序。 有关联系 Microsoft 技术支持的信息,请参阅 https:。
安全资源:Microsoft TechNet 安全网站提供有关 Microsoft 产品安全性的其他信息。
免责声明:
Microsoft 知识库中提供的信息“按原样”提供,不提供任何形式的担保。 Microsoft 不明确或暗示所有保证,包括适销性和针对特定用途的适用性和适用性的保证。 在任何情况下,Microsoft Corporation 或其供应商都应对任何损害负责,包括直接、间接、附带、后果性、业务利润损失或特殊损害,即使 Microsoft Corporation 或其供应商被告知存在此类损害的可能性。 某些州不允许排除或限制后果性或附带性损害的责任,因此上述限制可能不适用。
修改:
- 2000 年 7 月 27 日:已创建公告。
构建于 2014-04-18T13:49:36Z-07:00</https:>