深入解析MS10-006与MS10-012:SMB协议安全漏洞与修复方案

本文详细分析了微软安全公告MS10-006和MS10-012中涉及的SMB协议漏洞,包括客户端和服务端的多个安全风险,如远程代码执行、拒绝服务和权限提升,并提供了修复优先级建议和攻击场景说明。

MS10-006与MS10-012:SMB安全公告

今天我们发布了两份公告,以解决SMB中的漏洞。MS10-006解决了SMBv1客户端实现中的两个漏洞,而MS10-012解决了SMB服务器实现中的四个漏洞。在本博客中,我们希望帮助您理解这些漏洞并更好地确定更新的优先级。

SMB服务器漏洞及其利用方式

第一个问题是在所有Windows版本的服务器SMBv1实现中存在一个经过身份验证的远程代码执行(RCE)漏洞(CVE-2010-0020)。长文件名可能导致错误路径中的内核池内存损坏。此问题的严重性评级为“重要”,因为攻击者需要经过身份验证才能执行攻击。

第二个和第三个问题(CVE-2010-0021和CVE-2010-0022)是SMBv1和SMBv2服务器实现中的未经身份验证的远程拒绝服务(DoS)漏洞,严重性评级为“重要”。CVE-2010-0021是由处理有效协商请求时的竞争条件引起的。CVE-2010-0022是由处理SMB请求中的路径名时的整数下溢引起的。

最后一个服务器端问题是CVE-2010-0231,这是一个影响所有Windows版本的“重要”严重性未经身份验证的远程权限提升(EoP)漏洞。此问题不寻常,因为它是由SMB生成的加密挑战值中的弱熵引起的。攻击者可以利用此问题,并以授权用户的凭据获得对SMB服务器的访问权限。

由于所有系统上存在RCE和EoP风险,我们建议优先处理SMB服务器端更新。

SMB客户端漏洞

第一个问题是在Windows 2003及以下版本的客户端SMBv1实现中存在一个“严重”严重性的内核池内存损坏漏洞(CVE-2010-0016)。该漏洞发生在SMB客户端/服务器协商阶段,不需要身份验证。成功利用此问题的远程攻击者可以完全控制目标系统。

第二个问题是在Windows Vista及更高版本的客户端SMBv1代码中存在一个“重要”严重性的竞争条件(CVE-2010-0017)。该漏洞发生在SMB客户端/服务器协商阶段,不需要身份验证。此问题的严重性取决于客户端计算机上的Windows版本:

  • 在Windows Vista和Windows Server 2008上,远程攻击者无法使用此漏洞控制目标系统;相反,影响将是系统DoS。但是,本地经过身份验证的用户可能利用此漏洞并获得系统控制权。在这些平台上,此问题的严重性为“重要”。更新应优先应用于终端服务器和其他允许用户本地登录的系统。
  • 在Windows 7和Windows Server 2008 R2上,远程攻击者可能使用此漏洞的变体控制目标系统。由于RCE影响,这些平台上此问题的严重性为“严重”。利用漏洞的失败尝试将导致系统DoS。由于RCE风险,此更新应应用于所有受影响系统;但是,由于问题的性质,DoS更可能发生。

为什么SMB客户端更新在Windows 7和Windows Server 2008 R2上的聚合严重性为“严重”,而在Vista和Windows Server 2008上仅为“重要”?

如上所述,CVE-2010-0017影响Vista及更高系统,在Vista和Windows Server 2008上评级为“重要”。然而,在Windows 7和Windows Server 2008 R2上,由于RCE风险,严重性更高(“严重”)。这种差异的原因是在Windows 7开发过程中进行的设计更改,当时SMB客户端代码开始使用新的内核模式网络I/O机制——Winsock Kernel(WSK)。此更改使SMB客户端代码暴露于不同的时序条件,从而暴露了竞争条件。此竞争条件与Vista和Windows Server 2008上存在的问题不同,尽管它在类似条件下可触发。

应注意,WSK不是漏洞的来源,此更新中未对WSK进行任何更改。

恶意用户如何利用SMB客户端漏洞?

重要的是要理解,MS10-006中的两个漏洞都在SMB客户端实现中,不影响SMB服务器角色。(有关SMB客户端/服务器角色的更多详细信息,请参见下面的参考2。)因此,为了利用此漏洞,攻击者必须设置恶意SMB服务器并诱骗客户端连接到它。如果您的环境不允许出站SMB连接到Internet(最佳实践),那么您将受到保护,免受Internet攻击向量的影响。本地网络上的恶意用户(或受感染的计算机)可以通过执行中间人攻击并响应Intranet内客户端的SMB请求来利用此问题。

Internet攻击向量将涉及浏览恶意或受感染的网站,或接收包含指向恶意SMB服务器的嵌入链接的HTML电子邮件。如果受害者尝试检索HTML文件中指定的文件或其他内容,将建立出站SMB连接,并且假设允许SMB流量通过外围防火墙,则问题可能被利用。

根据您的环境,您可能不需要优先处理SMB客户端更新。

我们要感谢MSRC的Dustin Childs以及Kowshik Jaganathan和Windows持续工程团队在此更新上的辛勤工作。

  • Bruce Dang和Mark Wodrich,MSRC工程

参考

  1. MSDN上的Winsock Kernel(http://blogs.msdn.com/wndp/archive/2006/02/24/538746.aspx)
  2. SMB客户端/服务器角色(http://msdn.microsoft.com/en-us/library/aa365233(VS.85).aspx)
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计