tcsm
2003-09-11, 16:54
RPCSS 服务中的缓冲区溢出可能允许执行代码 (824146)
初始发布日期:2003年9月10日
--------------------------------------------------------------------------------
本页内容:
摘要
详细技术资料
常见问题解答
有关该修补程序的其他信息
其他信息
--------------------------------------------------------------------------------
摘要
本公告的目标读者:运行 Microsoft® Windows® 的用户
漏洞的影响:运行攻击者选择的代码
最高严重等级:严重
建议:系统管理员应立即应用此安全修补程序。
最终用户公告:
本公告的最终用户版可以在以下站点找到:
http://www.microsoft.com/china/security/security_bulletins/ms03-039.asp。
受影响的软件:
Microsoft Windows NT Workstation 4.0
Microsoft Windows NT Server® 4.0
Microsoft Windows NT Server 4.0, Terminal Server Edition
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows Server 2003
不受影响的软件:
Microsoft Windows Millennium Edition
详细技术资料
技术说明:
此修补程序提供的修复取代了 Microsoft 安全公告 MS03-026 中包含的修复。
远程过程调用 (RPC) 是 Windows 操作系统使用的一个协议。RPC 提供进程间的通信机制,通过这一机制,在一台计算机上运行的程序可以顺畅地访问另一台计算机上的服务。该协议本身是从 OSF(开放式软件基础)RPC 协议衍生出来的,只是增加了一些 Microsoft 特定的扩展。
在为 DCOM 激活处理 RPC 消息的那一部分 RPCSS 服务中,存在三个已确知的漏洞--两个可能允许执行任意代码,一个可能导致拒绝服务。这些缺陷是由对有问题的消息的错误处理造成的。这些特定的漏洞影响 RPCSS 服务内的分布式组件对象模型 (DCOM) 接口。此接口处理从一台机器发送到另一台机器的 DCOM 对象激活请求。
成功利用这些漏洞的攻击者可以利用本地系统权限在受影响的系统上运行代码,或者可以使 RPCSS 服务失败。攻击者于是能够对系统执行任何操作,其中包括:安装程序;查看、更改或删除数据;或者创建拥有完全权限的新帐户。
要利用这些漏洞,攻击者可以创建程序来将有问题的 RPC 消息发送到面向 RPCSS 服务的易受攻击的系统。
Microsoft 已经发布了一个工具,该工具可以用于扫描网络来查找是否存在未安装 MS03-039 修补程序的系统。关于该工具的更多信息可以在 Microsoft 知识库文章 827363 中找到。该工具取代了 Microsoft 知识库文章 826369 中提供的工具。如果将 Microsoft 知识库文章 826369 中提供的工具用于已安装本公告提供的安全修补程序的系统,这个已被取代的工具将错误地报告该系统缺少 MS03-026 中提供的修补程序。Microsoft 建议用户运行 Microsoft 知识库文章 827363 中提供的该工具的最新版本来确定他们的系统是否已经安装了修补程序。
减轻影响的因素:
防火墙最佳做法和标准默认防火墙配置可以帮助保护网络免受源自企业之外的远程攻击。最佳做法建议封堵所有实际上未使用的端口。由于这个原因,对大多数连接到 Internet 的系统来说,所暴露的受影响端口的数目应越少越好。
有关 RPC 所使用的端口的详细信息,请访问此 Microsoft Web 站点:
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/tcpip/part4/tcpappc.asp。
上面的评估是基于受漏洞影响的系统类型、典型的部署模式以及利用漏洞对它们产生的影响作出的。
漏洞标识符:
缓冲区溢出:CAN-2003-0528
缓冲区溢出:CAN-2003-0528
拒绝服务:CAN-2003-0605
测试过的版本:
Microsoft 已对 Windows Millennium Edition、Windows NT 4.0 Server、Windows NT 4.0 Terminal Services Edition、Windows 2000、Windows XP 和 Windows Server 2003 进行了测试,以评估它们是否会受此漏洞的影响。以前的版本不再受支持,它们可能受此漏洞影响,也可能不受影响。
常见问题解答
问:安全公告 MS03-026 也与 RPC 有关。此修补程序是否取代了这个公告提供的修补程序?
答:是。本公告提供的安全修补程序完全取代了 MS03-026 以及 MS01-048 提供的修补程序。
问:该漏洞的范围有多大?
答:本公告中讨论了三个不同的漏洞。前两个是缓冲区溢出漏洞,第三个是拒绝服务漏洞。成功利用任一缓冲区溢出漏洞的攻击者有可能获得对远程计算机的完全控制。这可能使攻击者能够对系统执行任何操作,包括更改Web 页、重新格式化硬盘或向本地管理员组添加新用户。
成功利用拒绝服务漏洞的攻击者可以使 RPC 服务挂起或没有反应。
要发动此类攻击,攻击者需要能够向 RPCSS 服务发送有问题的消息,并由此使任意代码得以执行,从而导致目标计算机出现问题。
问:这些漏洞是由什么引起的?
答:这些漏洞是由于 Windows RPCSS 服务在某些情况下不能正确检查消息输入而造成的。建立连接后,攻击者可以发送特制的有问题的 RPC 消息,使任意代码得以执行,从而导致远程系统上 RPCSS 服务中的基础分布式组件对象模型 (DCOM) 激活结构出现问题。
问:什么是 DCOM?
答:分布式组件对象模型 (DCOM) 是一种能够使软件组件通过网络直接进行通信的协议。DCOM 以前叫做"网络 OLE",它能够跨越包括 Internet 协议(例如 HTTP)在内的多种网络传输。有关 DCOM 的详细信息,请访问 Web 站点:http://www.microsoft.com/com/tech/dcom.asp
问:什么是 RPC(远程过程调用)?
答:远程过程调用 (RPC) 是一种协议,程序可使用该协议向网络中另一台计算机上的程序请求服务。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。
问:什么是 COM Internet 服务 (CIS) 和"HTTP 上的 RPC"?
答:HTTP 上的 RPC - v1(Windows NT 4.0、Windows 2000)和 v2(Windows XP、Windows Server 2003)中引入了对新的 RPC 传输协议的支持,该协议允许 RPC 通过 TCP 端口 80 和 443(仅限 v2)进行操作。这使得客户机和服务器可以在大多数代理服务器和防火墙存在的情况下进行通信。COM Internet 服务 (CIS) 允许 DCOM 使用"HTTP 上的 RPC"在 DCOM 客户机和 DCOM 服务器之间通信。
有关 Windows Server 2003 的"HTTP 上的 RPC"的更多信息可以在此 URL 中找到:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/remote_procedure_calls_using_rpc_over_http.asp
有关 COM Internet 服务(有时称为 CIS)的更多信息可以在此 URL 中找到:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndcom/html/cis.asp
问:我如何知道我是否已经安装了 COM Internet 服务 (CIS) 或"HTTP 上的 RPC"?
答:要确定服务器上是否安装了 COM Internet 服务或"HTTP 上的 RPC",请按照下列步骤操作:
在安装了 Windows NT Option Pack 的 Windows NT 4.0 系统上:在所有分区中搜索"rpcproxy.dll"。如果在服务器上找到了"rpcproxy.dll",则表明安装了 COM Internet 服务。
在 Windows 2000 和 Windows Server 2003 服务器上:
在"控制面板"中,双击"添加/删除程序",然后双击"添加/删除 Windows 组件"。
Windows 组件向导启动。
单击"网络服务",然后单击"详细信息"。
如果此时已选中"COM Internet 服务代理"(对于Windows 2000 Server)或"RPC over HTTP 代理"(对于 Windows Server 2003)复选框,则表明服务器上启用了 CIS 或"HTTP 上的 RPC"支持。
注意:如果要以远程方式或以编程方式确定是否安装了 CIS 或"HTTP 上的 RPC",也可以在 Windows 2000 和 Windows Server 2003 安装文件中搜索"rpcproxy.dll"。
要搜索计算机上的特定文件:依次单击"开始"、"搜索"和"文件或文件夹",然后输入要搜索的文件的名称。
搜索过程可能需要几分钟,具体取决于您的硬盘大小。
问:RPCSS 服务存在什么问题?
答:在负责处理 DCOM 激活的 RPCSS 服务中存在一个缺陷。对有问题的消息的错误处理导致了错误。这个特定的错误影响了用于 DCOM 激活的基础 RPCSS 服务,该服务监听 UDP 端口 135、137、138、445 和 TCP 端口 135、139、445、593。此外,如果启用了 CIS 或"HTTP 上的 RPC",它还可以监听端口 80 和 443。
通过发送有问题的 RPC 消息,攻击者可以使任意代码得以执行,从而导致系统上的 RPCSS 服务失败。
问:这是 RPC 终结点映射器中的缺陷吗?
答:不是 - 虽然 RPC 终结点映射器与 DCOM 基本结构共享 RPCSS 服务,但此缺陷实际上发生在 DCOM 激活基本结构中。RPC 终结点映射器允许 RPC 客户端确定当前分配给特定 RPC 服务的端口号。终结点是主机上服务的协议特定标识符。对于像 TCP 或 UDP 这样的协议,终结点是端口。对于命名管道,终结点是命名管道名称。其他协议使用其他协议特定终结点。
问:攻击者能利用这些漏洞做什么?
答:成功利用这些缓冲区溢出漏洞的攻击者将能够利用本地系统特权在受影响的系统上运行代码。攻击者将能够对系统执行任何操作,其中包括:安装程序;查看、更改或删除数据;或者创建拥有完全权限的新帐户。
成功利用拒绝服务漏洞的攻击者可以使 RPCSS 服务挂起或没有反应。
问:攻击者能如何利用这些漏洞?
答:攻击者可以通过创建一个程序来利用此漏洞,该程序可以通过受影响的 TCP/UDP 端口与容易受到攻击的服务器通信,以发送某种特定类型的、有问题的 RPC 消息。接收此类消息会使任意代码得以执行,从而导致容易受到攻击的系统上的 RPCSS 服务失败。
通过其他方法也可以访问受影响的组件,例如,通过交互方式登录到受影响的系统,或使用一个在本地或远程向受影响的组件传递参数的应用程序。
问:哪些人可能利用这些漏洞?
答:任何可以向受影响系统上的 RPCSS 服务发送有问题的 RPC 消息的用户均可以尝试利用这些漏洞。由于默认情况下 RPCSS 服务在 Windows 的各个版本中都是打开的,这实际上意味着任何能够与受影响的系统建立连接的用户都可以尝试利用这些漏洞。
问:我还在使用 Microsoft Windows NT 4.0 Workstation,但是它已经不再受支持了。可是,本公告中有一个关于它的修补程序。这是怎么回事呢?
答:如前文所述,Windows NT 4.0 Workstation 的产品生命周期已经结束,Microsoft 一般不再提供通常的修补程序。但是,由于该漏洞的性质,由于终止维护是在最近刚刚开始的,以及由于目前仍有为数可观的 Windows NT 4.0 Workstation 还在使用,因此,Microsoft 决定对此漏洞进行例外的处理。
我们不能预计对未来的漏洞也这样做,但是保留在需要时生产和提供修补程序的权利。现有 Windows NT 4.0 Workstation 的客户应首先将这些系统迁移到受支持的平台以防止未来漏洞的威胁。
有关 Windows 桌面产品生命周期支持的其他信息可以在此站点找到: http://microsoft.com/windows/lifecycle/desktop/consumer/components.mspx
问:我还在使用 Microsoft Windows 2000 Service Pack 2,但是它不再受支持了。可是,本公告中有一个修补程序需要安装在 Service Pack 2 上。这是什么原因呢?
答:如前文所述,Microsoft 已经终止对 Windows 2000 Service Pack 2 进行维护,Microsoft 一般不再提供通常可以获得的修补程序。但是,由于该漏洞的性质、终止维护出现在近期这一事实以及目前运行 Windows 2000 Service Pack 2 的用户的数量,Microsoft 决定对此漏洞进行例外的处理。
我们不能预计对未来的漏洞也这样做,但是保留在需要时生产和提供可用修补程序的权利。现有 Windows 2000 Service Pack 2 系统的客户应首先将这些系统迁移到受支持的平台以防止未来漏洞的威胁。
有关 Windows 桌面产品生命周期支持的其他信息可以在以下站点找到: http://microsoft.com/windows/lifecycle/desktop/consumer/components.mspx
问:有没有工具能够在我的网络上检测出未安装 MS03-039 修补程序的系统?
答:有 - Microsoft 已经发布了一个工具,该工具可以用于扫描网络,查找是否存在未安装 MS03-039 修补程序的系统。关于该工具的更多信息可以在 Microsoft 知识库文章 827363 中找到。
问:此修补程序有何作用?
答:该修补程序可以修补此漏洞,它修改 DCOM 实现,使之能够正确地检查传递给它的信息。
避免方法:
问:在我测试或评估此修补程序期间,是否有什么方法可用来防止利用此漏洞?
答:有。尽管 Microsoft 迫切希望所有客户尽早应用此修补程序,但在应用之前,还是有许多避免方法可帮助阻止利用此漏洞。不过不保证这些方法可以堵住所有可能的攻击矛头。
须指出的是,这些避免方法仅是权宜之计,因为它们只是堵住了攻击途径,而没有从根本上消除漏洞。
在防火墙上封堵 UDP 端口 135、137、138 和 TCP 端口 135、139、445、593,并禁用受影响的系统上的 COM Internet 服务 (CIS) 和"HTTP 上的 RPC",它们监听端口 80 和 443。
这些端口用于启动与远程计算机的 RPC 连接。在防火墙处封堵这些端口,有助于防止防火墙后面的系统受到他人利用这些漏洞进行的攻击。您还应确保封堵远程计算机上的任何其他特定配置的 RPC 端口。
如果启用,CIS 和"HTTP 上的 RPC"允许 DCOM 调用通过 TCP 端口 80(以及 XP 和 Windows Server 2003 上的 443)进行操作。确保在所有受影响的系统上禁用 CIS 和"HTTP 上的 RPC"。
有关如何禁用 CIS 的详细信息可以在 Microsoft 知识库文章 825819 中找到。
有关"HTTP 上的 RPC"的信息,请参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_over_http_security.asp。
使用 Internet 连接防火墙(仅在 XP 和 Windows Server 2003 上可用),并禁用受影响的计算机上的 COM Internet 服务 (CIS) 和"HTTP 上的 RPC",它们监听端口 80 和 443。
如果您在使用 Windows XP 或 Windows Server 2003 中的 Internet 连接防火墙来保护您的 Internet 连接,则默认情况下它会阻止来自 Internet 的入站 RPC 通信信息。确保在所有受影响的计算机上禁用 CIS 和"HTTP 上的 RPC"。
有关如何禁用 CIS 的详细信息可以在 Microsoft 知识库文章 825819 中找到。
有关"HTTP 上的 RPC"的信息,请参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_over_http_security.asp。
使用 IPSEC 筛选器封堵受影响的端口,并禁用受影响的计算机上的 COM Internet 服务 (CIS) 和"HTTP 上的 RPC",它们监听端口 80 和 443。
如果使用 Internet 协议安全 (IPSec),则可以保证基于 Windows 2000 的计算机上的网络通信安全。有关 IPSec 以及如何应用筛选器的详细信息可以在 Microsoft 知识库文章 313190 和 813878 中找到。确保在所有受影响的计算机上禁用 CIS 和"HTTP 上的 RPC"。
有关如何禁用 CIS 的详细信息可以在 Microsoft 知识库文章 825819 中找到。
有关"HTTP 上的 RPC"的信息,请参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_over_http_security.asp。
禁用所有受影响的计算机上的 DCOM
如果一台计算机是一个网络的一部分,则该计算机上的 COM 对象将能够通过 DCOM 网络协议与另一台计算机上的 COM 对象进行通信。您可以禁用特定的计算机上的 DCOM,帮助其防范此漏洞,但这样做会阻断该计算机上的对象与其他计算机上的对象之间的所有通信。
如果您禁用一台远程计算机上的 DCOM,以后您将无法通过远程访问该计算机来重新启用 DCOM。要重新启用 DCOM,需要对该计算机进行本机操作。
有关如何禁用 DCOM 的信息可以在 Microsoft 知识库文章 825750 中找到。
注意:对于 Windows 2000,上文所述的方法只在运行 Service Pack 3 或更高版本的系统上起作用。使用 Service Pack 2 或更低版本的客户应升级到更高版本的 Service Pack 或使用某种其他避免方法。
获取修补程序
此修补程序的下载位置
Windows NT Workstation
Windows NT Server 4.0
Windows NT Server 4.0, Terminal Server Edition
Windows 2000
Windows XP
Windows XP 64 位版本
Windows XP 64 位版本 2003 版
Windows Server 2003
Windows Server 2003 64 位版本
有关该修补程序的其他信息
安装平台:
Windows NT 4.0 修补程序可在运行 Service Pack 6a 的系统上安装。
Windows NT 4.0 Terminal Server Edition 修补程序可在运行 Windows NT 4.0 Terminal Server Edition Service Pack 6 的系统上安装。
Windows 2000 修补程序可在运行 Windows 2000 Service Pack 2、Service Pack 3 或 Service Pack 4 的系统上安装。
Windows XP 修补程序可在运行 Windows XP Gold 或 Service Pack 1 的系统上安装。
Windows Server 2003 修补程序可在运行 Windows Server 2003 Gold 的系统上安装。
包括在将来的哪些 Service Pack 中:
此问题的修复将包括在 Windows 2000 Service Pack 5、Windows XP Service Pack 2 和 Windows Server 2003 Service Pack 1 中。
是否需要重新启动:是
此修补程序是否能卸载:是
是否替代其他修补程序:此修补程序提供的修复取代了 Microsoft 安全公告 MS03-026 和 MS01-048 中包含的修复。
验证修补程序安装:
Windows NT 4.0:
要验证计算机上是否已安装此修补程序,请确认知识库文章 824146 中的文件清单上列出的所有文件是否均存在于系统中。
Windows NT 4.0 Terminal Server Edition:
要验证计算机上是否已安装此修补程序,请确认知识库文章 824146 中的文件清单上列出的所有文件是否均存在于系统中。
Windows 2000:
要验证计算机上是否已安装此修补程序,请确认计算机上是否已创建了以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB824146。
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
Windows XP:
如果安装在 Windows XP Gold 上:
要验证是否已将此修补程序安装到计算机上,请确认是否已在计算机上创建了下面的注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\KB824146
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
如果安装在 Windows XP Service Pack 1 上:
要验证是否已将此修补程序安装到计算机上,请确认是否已在计算机上创建了下面的注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB824146。
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
Windows Server 2003:
要验证计算机上是否已安装此修补程序,请确认计算机上是否已创建了以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Window Server 2003\SP1\KB824146。
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
注意事项:无
本地化:该修补程序的本地化版本可从"获取修补程序的途径"中所述的位置获得。
获取其他安全修补程序:
其他安全问题的修补程序可从以下位置获得:
安全修补程序可从 Microsoft Download Center(Microsoft 下载中心)获得,通过搜索关键字“security_patch"很容易找到。
有关用户平台的修补程序可从 WindowsUpdate Web 站点获得。
Office 客户可从 http://www.office.microsoft.com/ProductUpdates/default.aspx获取修补程序
其他信息
鸣谢:
Microsoft 衷心感谢 eEye Digital Security、NSFOCUS Security Team 以及 Tenable Network Security 的 Xue Yong Zhi 和 Renaud Deraison 向我们报告缓冲区溢出漏洞并与我们共同努力保护用户。
支持:
Microsoft 知识库文章 824146 讨论了此问题,该文章将在本公告发布大约 24 小时后提供。知识库文章可以在 Microsoft 联机支持 Web 站点上找到。
技术支持可以从 Microsoft 产品支持服务获得。与安全修补程序有关的电话支持服务是免费的。
安全性资源: Microsoft TechNet Security Web 站点提供了有关 Microsoft 产品安全性的更多信息。
免责声明:
Microsoft 知识库中的信息按“原样"提供,没有任何形式的保证。Microsoft 不作任何明示或默示的保证,包括对适销性和针对特定目的的适用性的保证。Microsoft Corporation 或其供应商不对任何损害(包括直接的、间接的、偶然的、后果性的损害,商业利润损失,或特殊损害)承担任何责任,即使 Microsoft Corporation 或其供应商事先已被告知发生此类损害的可能性。有些州不允许排除或限制后果性的或偶然的损害赔偿责任,因此上述限制可能不适用。
修订版本:
初始发布日期:2003年9月10日
--------------------------------------------------------------------------------
本页内容:
摘要
详细技术资料
常见问题解答
有关该修补程序的其他信息
其他信息
--------------------------------------------------------------------------------
摘要
本公告的目标读者:运行 Microsoft® Windows® 的用户
漏洞的影响:运行攻击者选择的代码
最高严重等级:严重
建议:系统管理员应立即应用此安全修补程序。
最终用户公告:
本公告的最终用户版可以在以下站点找到:
http://www.microsoft.com/china/security/security_bulletins/ms03-039.asp。
受影响的软件:
Microsoft Windows NT Workstation 4.0
Microsoft Windows NT Server® 4.0
Microsoft Windows NT Server 4.0, Terminal Server Edition
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows Server 2003
不受影响的软件:
Microsoft Windows Millennium Edition
详细技术资料
技术说明:
此修补程序提供的修复取代了 Microsoft 安全公告 MS03-026 中包含的修复。
远程过程调用 (RPC) 是 Windows 操作系统使用的一个协议。RPC 提供进程间的通信机制,通过这一机制,在一台计算机上运行的程序可以顺畅地访问另一台计算机上的服务。该协议本身是从 OSF(开放式软件基础)RPC 协议衍生出来的,只是增加了一些 Microsoft 特定的扩展。
在为 DCOM 激活处理 RPC 消息的那一部分 RPCSS 服务中,存在三个已确知的漏洞--两个可能允许执行任意代码,一个可能导致拒绝服务。这些缺陷是由对有问题的消息的错误处理造成的。这些特定的漏洞影响 RPCSS 服务内的分布式组件对象模型 (DCOM) 接口。此接口处理从一台机器发送到另一台机器的 DCOM 对象激活请求。
成功利用这些漏洞的攻击者可以利用本地系统权限在受影响的系统上运行代码,或者可以使 RPCSS 服务失败。攻击者于是能够对系统执行任何操作,其中包括:安装程序;查看、更改或删除数据;或者创建拥有完全权限的新帐户。
要利用这些漏洞,攻击者可以创建程序来将有问题的 RPC 消息发送到面向 RPCSS 服务的易受攻击的系统。
Microsoft 已经发布了一个工具,该工具可以用于扫描网络来查找是否存在未安装 MS03-039 修补程序的系统。关于该工具的更多信息可以在 Microsoft 知识库文章 827363 中找到。该工具取代了 Microsoft 知识库文章 826369 中提供的工具。如果将 Microsoft 知识库文章 826369 中提供的工具用于已安装本公告提供的安全修补程序的系统,这个已被取代的工具将错误地报告该系统缺少 MS03-026 中提供的修补程序。Microsoft 建议用户运行 Microsoft 知识库文章 827363 中提供的该工具的最新版本来确定他们的系统是否已经安装了修补程序。
减轻影响的因素:
防火墙最佳做法和标准默认防火墙配置可以帮助保护网络免受源自企业之外的远程攻击。最佳做法建议封堵所有实际上未使用的端口。由于这个原因,对大多数连接到 Internet 的系统来说,所暴露的受影响端口的数目应越少越好。
有关 RPC 所使用的端口的详细信息,请访问此 Microsoft Web 站点:
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/tcpip/part4/tcpappc.asp。
上面的评估是基于受漏洞影响的系统类型、典型的部署模式以及利用漏洞对它们产生的影响作出的。
漏洞标识符:
缓冲区溢出:CAN-2003-0528
缓冲区溢出:CAN-2003-0528
拒绝服务:CAN-2003-0605
测试过的版本:
Microsoft 已对 Windows Millennium Edition、Windows NT 4.0 Server、Windows NT 4.0 Terminal Services Edition、Windows 2000、Windows XP 和 Windows Server 2003 进行了测试,以评估它们是否会受此漏洞的影响。以前的版本不再受支持,它们可能受此漏洞影响,也可能不受影响。
常见问题解答
问:安全公告 MS03-026 也与 RPC 有关。此修补程序是否取代了这个公告提供的修补程序?
答:是。本公告提供的安全修补程序完全取代了 MS03-026 以及 MS01-048 提供的修补程序。
问:该漏洞的范围有多大?
答:本公告中讨论了三个不同的漏洞。前两个是缓冲区溢出漏洞,第三个是拒绝服务漏洞。成功利用任一缓冲区溢出漏洞的攻击者有可能获得对远程计算机的完全控制。这可能使攻击者能够对系统执行任何操作,包括更改Web 页、重新格式化硬盘或向本地管理员组添加新用户。
成功利用拒绝服务漏洞的攻击者可以使 RPC 服务挂起或没有反应。
要发动此类攻击,攻击者需要能够向 RPCSS 服务发送有问题的消息,并由此使任意代码得以执行,从而导致目标计算机出现问题。
问:这些漏洞是由什么引起的?
答:这些漏洞是由于 Windows RPCSS 服务在某些情况下不能正确检查消息输入而造成的。建立连接后,攻击者可以发送特制的有问题的 RPC 消息,使任意代码得以执行,从而导致远程系统上 RPCSS 服务中的基础分布式组件对象模型 (DCOM) 激活结构出现问题。
问:什么是 DCOM?
答:分布式组件对象模型 (DCOM) 是一种能够使软件组件通过网络直接进行通信的协议。DCOM 以前叫做"网络 OLE",它能够跨越包括 Internet 协议(例如 HTTP)在内的多种网络传输。有关 DCOM 的详细信息,请访问 Web 站点:http://www.microsoft.com/com/tech/dcom.asp
问:什么是 RPC(远程过程调用)?
答:远程过程调用 (RPC) 是一种协议,程序可使用该协议向网络中另一台计算机上的程序请求服务。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。
问:什么是 COM Internet 服务 (CIS) 和"HTTP 上的 RPC"?
答:HTTP 上的 RPC - v1(Windows NT 4.0、Windows 2000)和 v2(Windows XP、Windows Server 2003)中引入了对新的 RPC 传输协议的支持,该协议允许 RPC 通过 TCP 端口 80 和 443(仅限 v2)进行操作。这使得客户机和服务器可以在大多数代理服务器和防火墙存在的情况下进行通信。COM Internet 服务 (CIS) 允许 DCOM 使用"HTTP 上的 RPC"在 DCOM 客户机和 DCOM 服务器之间通信。
有关 Windows Server 2003 的"HTTP 上的 RPC"的更多信息可以在此 URL 中找到:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/remote_procedure_calls_using_rpc_over_http.asp
有关 COM Internet 服务(有时称为 CIS)的更多信息可以在此 URL 中找到:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndcom/html/cis.asp
问:我如何知道我是否已经安装了 COM Internet 服务 (CIS) 或"HTTP 上的 RPC"?
答:要确定服务器上是否安装了 COM Internet 服务或"HTTP 上的 RPC",请按照下列步骤操作:
在安装了 Windows NT Option Pack 的 Windows NT 4.0 系统上:在所有分区中搜索"rpcproxy.dll"。如果在服务器上找到了"rpcproxy.dll",则表明安装了 COM Internet 服务。
在 Windows 2000 和 Windows Server 2003 服务器上:
在"控制面板"中,双击"添加/删除程序",然后双击"添加/删除 Windows 组件"。
Windows 组件向导启动。
单击"网络服务",然后单击"详细信息"。
如果此时已选中"COM Internet 服务代理"(对于Windows 2000 Server)或"RPC over HTTP 代理"(对于 Windows Server 2003)复选框,则表明服务器上启用了 CIS 或"HTTP 上的 RPC"支持。
注意:如果要以远程方式或以编程方式确定是否安装了 CIS 或"HTTP 上的 RPC",也可以在 Windows 2000 和 Windows Server 2003 安装文件中搜索"rpcproxy.dll"。
要搜索计算机上的特定文件:依次单击"开始"、"搜索"和"文件或文件夹",然后输入要搜索的文件的名称。
搜索过程可能需要几分钟,具体取决于您的硬盘大小。
问:RPCSS 服务存在什么问题?
答:在负责处理 DCOM 激活的 RPCSS 服务中存在一个缺陷。对有问题的消息的错误处理导致了错误。这个特定的错误影响了用于 DCOM 激活的基础 RPCSS 服务,该服务监听 UDP 端口 135、137、138、445 和 TCP 端口 135、139、445、593。此外,如果启用了 CIS 或"HTTP 上的 RPC",它还可以监听端口 80 和 443。
通过发送有问题的 RPC 消息,攻击者可以使任意代码得以执行,从而导致系统上的 RPCSS 服务失败。
问:这是 RPC 终结点映射器中的缺陷吗?
答:不是 - 虽然 RPC 终结点映射器与 DCOM 基本结构共享 RPCSS 服务,但此缺陷实际上发生在 DCOM 激活基本结构中。RPC 终结点映射器允许 RPC 客户端确定当前分配给特定 RPC 服务的端口号。终结点是主机上服务的协议特定标识符。对于像 TCP 或 UDP 这样的协议,终结点是端口。对于命名管道,终结点是命名管道名称。其他协议使用其他协议特定终结点。
问:攻击者能利用这些漏洞做什么?
答:成功利用这些缓冲区溢出漏洞的攻击者将能够利用本地系统特权在受影响的系统上运行代码。攻击者将能够对系统执行任何操作,其中包括:安装程序;查看、更改或删除数据;或者创建拥有完全权限的新帐户。
成功利用拒绝服务漏洞的攻击者可以使 RPCSS 服务挂起或没有反应。
问:攻击者能如何利用这些漏洞?
答:攻击者可以通过创建一个程序来利用此漏洞,该程序可以通过受影响的 TCP/UDP 端口与容易受到攻击的服务器通信,以发送某种特定类型的、有问题的 RPC 消息。接收此类消息会使任意代码得以执行,从而导致容易受到攻击的系统上的 RPCSS 服务失败。
通过其他方法也可以访问受影响的组件,例如,通过交互方式登录到受影响的系统,或使用一个在本地或远程向受影响的组件传递参数的应用程序。
问:哪些人可能利用这些漏洞?
答:任何可以向受影响系统上的 RPCSS 服务发送有问题的 RPC 消息的用户均可以尝试利用这些漏洞。由于默认情况下 RPCSS 服务在 Windows 的各个版本中都是打开的,这实际上意味着任何能够与受影响的系统建立连接的用户都可以尝试利用这些漏洞。
问:我还在使用 Microsoft Windows NT 4.0 Workstation,但是它已经不再受支持了。可是,本公告中有一个关于它的修补程序。这是怎么回事呢?
答:如前文所述,Windows NT 4.0 Workstation 的产品生命周期已经结束,Microsoft 一般不再提供通常的修补程序。但是,由于该漏洞的性质,由于终止维护是在最近刚刚开始的,以及由于目前仍有为数可观的 Windows NT 4.0 Workstation 还在使用,因此,Microsoft 决定对此漏洞进行例外的处理。
我们不能预计对未来的漏洞也这样做,但是保留在需要时生产和提供修补程序的权利。现有 Windows NT 4.0 Workstation 的客户应首先将这些系统迁移到受支持的平台以防止未来漏洞的威胁。
有关 Windows 桌面产品生命周期支持的其他信息可以在此站点找到: http://microsoft.com/windows/lifecycle/desktop/consumer/components.mspx
问:我还在使用 Microsoft Windows 2000 Service Pack 2,但是它不再受支持了。可是,本公告中有一个修补程序需要安装在 Service Pack 2 上。这是什么原因呢?
答:如前文所述,Microsoft 已经终止对 Windows 2000 Service Pack 2 进行维护,Microsoft 一般不再提供通常可以获得的修补程序。但是,由于该漏洞的性质、终止维护出现在近期这一事实以及目前运行 Windows 2000 Service Pack 2 的用户的数量,Microsoft 决定对此漏洞进行例外的处理。
我们不能预计对未来的漏洞也这样做,但是保留在需要时生产和提供可用修补程序的权利。现有 Windows 2000 Service Pack 2 系统的客户应首先将这些系统迁移到受支持的平台以防止未来漏洞的威胁。
有关 Windows 桌面产品生命周期支持的其他信息可以在以下站点找到: http://microsoft.com/windows/lifecycle/desktop/consumer/components.mspx
问:有没有工具能够在我的网络上检测出未安装 MS03-039 修补程序的系统?
答:有 - Microsoft 已经发布了一个工具,该工具可以用于扫描网络,查找是否存在未安装 MS03-039 修补程序的系统。关于该工具的更多信息可以在 Microsoft 知识库文章 827363 中找到。
问:此修补程序有何作用?
答:该修补程序可以修补此漏洞,它修改 DCOM 实现,使之能够正确地检查传递给它的信息。
避免方法:
问:在我测试或评估此修补程序期间,是否有什么方法可用来防止利用此漏洞?
答:有。尽管 Microsoft 迫切希望所有客户尽早应用此修补程序,但在应用之前,还是有许多避免方法可帮助阻止利用此漏洞。不过不保证这些方法可以堵住所有可能的攻击矛头。
须指出的是,这些避免方法仅是权宜之计,因为它们只是堵住了攻击途径,而没有从根本上消除漏洞。
在防火墙上封堵 UDP 端口 135、137、138 和 TCP 端口 135、139、445、593,并禁用受影响的系统上的 COM Internet 服务 (CIS) 和"HTTP 上的 RPC",它们监听端口 80 和 443。
这些端口用于启动与远程计算机的 RPC 连接。在防火墙处封堵这些端口,有助于防止防火墙后面的系统受到他人利用这些漏洞进行的攻击。您还应确保封堵远程计算机上的任何其他特定配置的 RPC 端口。
如果启用,CIS 和"HTTP 上的 RPC"允许 DCOM 调用通过 TCP 端口 80(以及 XP 和 Windows Server 2003 上的 443)进行操作。确保在所有受影响的系统上禁用 CIS 和"HTTP 上的 RPC"。
有关如何禁用 CIS 的详细信息可以在 Microsoft 知识库文章 825819 中找到。
有关"HTTP 上的 RPC"的信息,请参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_over_http_security.asp。
使用 Internet 连接防火墙(仅在 XP 和 Windows Server 2003 上可用),并禁用受影响的计算机上的 COM Internet 服务 (CIS) 和"HTTP 上的 RPC",它们监听端口 80 和 443。
如果您在使用 Windows XP 或 Windows Server 2003 中的 Internet 连接防火墙来保护您的 Internet 连接,则默认情况下它会阻止来自 Internet 的入站 RPC 通信信息。确保在所有受影响的计算机上禁用 CIS 和"HTTP 上的 RPC"。
有关如何禁用 CIS 的详细信息可以在 Microsoft 知识库文章 825819 中找到。
有关"HTTP 上的 RPC"的信息,请参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_over_http_security.asp。
使用 IPSEC 筛选器封堵受影响的端口,并禁用受影响的计算机上的 COM Internet 服务 (CIS) 和"HTTP 上的 RPC",它们监听端口 80 和 443。
如果使用 Internet 协议安全 (IPSec),则可以保证基于 Windows 2000 的计算机上的网络通信安全。有关 IPSec 以及如何应用筛选器的详细信息可以在 Microsoft 知识库文章 313190 和 813878 中找到。确保在所有受影响的计算机上禁用 CIS 和"HTTP 上的 RPC"。
有关如何禁用 CIS 的详细信息可以在 Microsoft 知识库文章 825819 中找到。
有关"HTTP 上的 RPC"的信息,请参阅http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/rpc_over_http_security.asp。
禁用所有受影响的计算机上的 DCOM
如果一台计算机是一个网络的一部分,则该计算机上的 COM 对象将能够通过 DCOM 网络协议与另一台计算机上的 COM 对象进行通信。您可以禁用特定的计算机上的 DCOM,帮助其防范此漏洞,但这样做会阻断该计算机上的对象与其他计算机上的对象之间的所有通信。
如果您禁用一台远程计算机上的 DCOM,以后您将无法通过远程访问该计算机来重新启用 DCOM。要重新启用 DCOM,需要对该计算机进行本机操作。
有关如何禁用 DCOM 的信息可以在 Microsoft 知识库文章 825750 中找到。
注意:对于 Windows 2000,上文所述的方法只在运行 Service Pack 3 或更高版本的系统上起作用。使用 Service Pack 2 或更低版本的客户应升级到更高版本的 Service Pack 或使用某种其他避免方法。
获取修补程序
此修补程序的下载位置
Windows NT Workstation
Windows NT Server 4.0
Windows NT Server 4.0, Terminal Server Edition
Windows 2000
Windows XP
Windows XP 64 位版本
Windows XP 64 位版本 2003 版
Windows Server 2003
Windows Server 2003 64 位版本
有关该修补程序的其他信息
安装平台:
Windows NT 4.0 修补程序可在运行 Service Pack 6a 的系统上安装。
Windows NT 4.0 Terminal Server Edition 修补程序可在运行 Windows NT 4.0 Terminal Server Edition Service Pack 6 的系统上安装。
Windows 2000 修补程序可在运行 Windows 2000 Service Pack 2、Service Pack 3 或 Service Pack 4 的系统上安装。
Windows XP 修补程序可在运行 Windows XP Gold 或 Service Pack 1 的系统上安装。
Windows Server 2003 修补程序可在运行 Windows Server 2003 Gold 的系统上安装。
包括在将来的哪些 Service Pack 中:
此问题的修复将包括在 Windows 2000 Service Pack 5、Windows XP Service Pack 2 和 Windows Server 2003 Service Pack 1 中。
是否需要重新启动:是
此修补程序是否能卸载:是
是否替代其他修补程序:此修补程序提供的修复取代了 Microsoft 安全公告 MS03-026 和 MS01-048 中包含的修复。
验证修补程序安装:
Windows NT 4.0:
要验证计算机上是否已安装此修补程序,请确认知识库文章 824146 中的文件清单上列出的所有文件是否均存在于系统中。
Windows NT 4.0 Terminal Server Edition:
要验证计算机上是否已安装此修补程序,请确认知识库文章 824146 中的文件清单上列出的所有文件是否均存在于系统中。
Windows 2000:
要验证计算机上是否已安装此修补程序,请确认计算机上是否已创建了以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB824146。
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
Windows XP:
如果安装在 Windows XP Gold 上:
要验证是否已将此修补程序安装到计算机上,请确认是否已在计算机上创建了下面的注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\KB824146
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
如果安装在 Windows XP Service Pack 1 上:
要验证是否已将此修补程序安装到计算机上,请确认是否已在计算机上创建了下面的注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB824146。
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
Windows Server 2003:
要验证计算机上是否已安装此修补程序,请确认计算机上是否已创建了以下注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Window Server 2003\SP1\KB824146。
要验证是否已安装个别的文件,请使用知识库文章 824146 中的文件清单提供的日期/时间和版本信息,确认文件是否存在于系统中。
注意事项:无
本地化:该修补程序的本地化版本可从"获取修补程序的途径"中所述的位置获得。
获取其他安全修补程序:
其他安全问题的修补程序可从以下位置获得:
安全修补程序可从 Microsoft Download Center(Microsoft 下载中心)获得,通过搜索关键字“security_patch"很容易找到。
有关用户平台的修补程序可从 WindowsUpdate Web 站点获得。
Office 客户可从 http://www.office.microsoft.com/ProductUpdates/default.aspx获取修补程序
其他信息
鸣谢:
Microsoft 衷心感谢 eEye Digital Security、NSFOCUS Security Team 以及 Tenable Network Security 的 Xue Yong Zhi 和 Renaud Deraison 向我们报告缓冲区溢出漏洞并与我们共同努力保护用户。
支持:
Microsoft 知识库文章 824146 讨论了此问题,该文章将在本公告发布大约 24 小时后提供。知识库文章可以在 Microsoft 联机支持 Web 站点上找到。
技术支持可以从 Microsoft 产品支持服务获得。与安全修补程序有关的电话支持服务是免费的。
安全性资源: Microsoft TechNet Security Web 站点提供了有关 Microsoft 产品安全性的更多信息。
免责声明:
Microsoft 知识库中的信息按“原样"提供,没有任何形式的保证。Microsoft 不作任何明示或默示的保证,包括对适销性和针对特定目的的适用性的保证。Microsoft Corporation 或其供应商不对任何损害(包括直接的、间接的、偶然的、后果性的损害,商业利润损失,或特殊损害)承担任何责任,即使 Microsoft Corporation 或其供应商事先已被告知发生此类损害的可能性。有些州不允许排除或限制后果性的或偶然的损害赔偿责任,因此上述限制可能不适用。
修订版本: