Microsoft RPC接口远程任意代码可执行漏洞[注意]
最近有不少人碰到了相同的问题:
XP下出现RPC(Remote Procedure Call)警告并自动关机或重新启动,这是由“Microsoft RPC接口远程任意代码可执行漏洞”引起的。具体如下:
微软公司发布关于RPC 接口中
远程任意可执行代码漏洞(823980)通告
国家计算机病毒应急处理中心根据微软公司发布的通告,即关于RPC 接口中远程任意可执行代码漏洞(823980),向计算机用户发出预警。如果成功利用此漏洞,攻击者就有可能获得对远程计算机的完全控制,并以本地系统权限执行任意指令。攻击者可以在系统上执行任意操作,如安装程序、查看或更改、删除数据、重新格式化硬盘或建立系统管理员权限的帐户。
Microsoft RPC接口远程任意代码可执行漏洞受影响的软件:
Microsoft Windows NT 4.0
Microsoft Windows NT 4.0 Terminal Services Edition
Microsoft Windows 2000
Microsoft Windows XP Microsoft Windows Server 2003
漏洞描述
RPC(Remote Procedure Call)是 Windows 操作系统使用的一个远程过程调用协议。RPC 提供了一种进程间的通信机制,通过这一机制,允许在某台计算机上运行的程序顺畅地在远程系统上执行代码。协议本身源自OSF(开放式软件基础)RPC 协议,但增加了一些 Microsoft 特定的扩展 。
RPC 中处理通过 TCP/IP 的消息交换的部分有一个漏洞。此问题是由错误地处理格式不正确的消息造成的。这种特定的漏洞影响DCOM (分布式组件对象模型) 与 RPC 间的一个接口,该接口侦听TCP/IP 端口135,用于处理由客户端机器发送给服务器的DCOM对象激活请求(如UNC路径)。
该漏洞实际上是一个缓冲区溢出漏洞,成功利用此漏洞的攻击者有可能获得对远程计算机的完全控制,可以以本地系统权限执行任意指令。攻击者可以在系统上执行任意操作,如安装程序、查看或更改、删除数据、重新格式化硬盘或建立系统管理员权限的帐户。
在利用该漏洞时,攻击者需要发送特殊形式的请求到远程机器上的135端口。从而造成目标计算机受制于人,攻击者可以在它上面执行任意代码。
不同于以往发现的安全漏洞,该漏洞不仅影响作为服务器的Windows系统,同样也会影响个人电脑,所以潜在的受害者数量非常多。
DCOM (分布式对象模型)
分布式对象模型(DCOM))是一种能够使软件组件通过网络直接进行通信的协议。DCOM 以前叫做“网络 OLE”,它能够跨越包括 Internet 协议(例如 HTTP)在内的多种网络传输。可以从以下网站查阅有关 DCOM 的详细信息:http://www.microsoft.com/com/tech/dcom.asp
RPC(远程过程调用)
远程过程调用(RPC)是一种协议,程序可使用这种协议向网络中的另一台计算机上的程序请求服务。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。
防范措施:
下载安装相应的补丁程序:
Microsoft已经为此发布了一个安全公告(MS03-026)以及相应补丁,请尽快下载安装。
http://www.microsoft.com/technet/security/bulletin/
MS03-026.asp
您也可以到我们的网站上下载相关的安全补丁:
winnt
win2000
winxp
win2003
在防火墙上封堵 不必要的端口
135端口用于启动与远程计算机的 RPC 连接。连接到Internet的计算机应当在防火墙上封堵 135 端口,用以帮助防火墙内的系统防范通过利用此漏洞进行的攻击。
使用防火墙关闭所有不必要的端口,漏洞不仅仅影响135端口,还影响到大部分调用DCOM函数的服务端口,建议用户使用网络或是个人防火墙过滤以下端口:
135/TCP epmap
135/UDP epmap
139/TCP netbios-ssn
139/UDP netbios-ssn
445/TCP microsoft-ds
445/UDP microsoft-ds
593/TCP http-rpc-epmap
593/UDP http-rpc-epmap
有关为客户端和服务器保护 RPC 的详细信息,请访问:
http://msdn.microsoft.com/library/default.asp?url=
/library/en-us/rpc/rpc/
writing_a_secure_rpc_client_or_server.asp
有关 RPC 使用的端口的详细信息,请访问:
http://www.microsoft.com/technet/prodtechnol/
windows2000serv/reskit/tcpip/part4/tcpappc.asp
手动为计算机启用(或禁用) DCOM:
运行 Dcomcnfg.exe。
如果您在运行 Windows XP 或 Windows Server 2003,则还要执行下面这些步骤:
单击“控制台根节点”下的“组件服务”。
打开“计算机”子文件夹。
对于本地计算机,请以右键单击“我的电脑”,然后选择“属性”。
对于远程计算机,请以右键单击“计算机”文件夹,然后选择“新建”,再选择“计算机”。
输入计算机名称。以右键单击该计算机名称,然后选择“属性”。
选择“默认属性”选项卡。
选择(或清除)“在这台计算机上启用分布式 COM”复选框。
如果您要为该计算机设置更多属性,请单击“应用”按钮以启用(或禁用) DCOM。否则,请单击“确定”以应用更改并退出
Dcomcnfg.exe。
引自http://www.antivirus-china.org.cn/
微软官方补丁:
http://www.microsoft.com/downloads/details.aspx?FamilyID=2354406c-c5b6-44ac-9532-3de40f69c074&DisplayLang=zh-cn
下载后安装即可