Remote Procedure Call (RPC)是Windows 操作系统使用的一种远程过程调用协议,RPC提供进程间交互通信机制,允许在某台计算机上运行程序的无缝地在远程系统上执行代码。协议本身源自开放软件基金会的RPC协议,Microsoft在其基础上增加了自己的一些扩展。
eEye的研究人员发现,由于Windows RPC DCOM接口对报文的长度域缺乏检查导致发生基于堆的溢出,远程攻击者可以利用这些漏洞以本地系统权限在系统上执行任意指令。
漏洞实质上影响的是使用RPC的DCOM接口,此接口处理由客户端机器发送给服务器的DCOM对象激活请求(如UNC路径)。攻击者通过向目标发送畸形RPC DCOM请求来利用这些漏洞。成功利用此漏洞可以以本地系统权限执行任意指令。攻击者可以在系统上执行任意操作 ,如安装程序、查看或更改、删除数据或创建系统管理员权限的帐户。
攻击者可以通过 135(UDP/TCP)、137/UDP、138/UDP、139/TCP、445(UDP/TCP)、593/TCP端口进行攻击。对于启动了COM Internet服务和RPC over HTTP的用户来说,攻击者还可能通过80/TCP和443/TCP端口进行攻击。
<*链接:http://www.microsoft.com/technet/security/bulletin/MS03-039.asp
http://www.cert.org/advisories/CA-2003-23.html
http://www.nsfocus.net/index.php?act=advisory&do=view&adv_id=30
http://www.nsfocus.net/index.php?act=alert&do=view&aid=30
*>
建议:
临时解决方法:
如果您不能立刻安装补丁或者升级,NSFOCUS建议您采取以下措施以降低威胁:
* 使用防火墙阻塞至少下列端口:
135/UDP
137/UDP
138/UDP
445/UDP
135/TCP
139/TCP
445/TCP
593/TCP
在受影响主机禁用COM Internet服务和RPC over HTTP。
* 如果因为某些原因确实不能阻塞上述端口,可以考虑暂时禁用DCOM:
打开"控制面板"-->"管理工具"-->"组件服务"。
在"控制台根目录"树的"组件服务"-->"计算机"-->"、我的电脑"上单击右键,选"属性"。
选取"默认属性"页,取消"在此计算机上启用分布式 COM"的复选框。
点击下面的"确定"按钮,并退出"组件服务"。
注意:禁用DCOM可能导致某些应用程序运行失败和系统运行异常。包括一些重要系统服务不能启动,绿盟科技不推荐此种方法。应尽量根据上面的介绍使用防火墙阻塞端口来确保系统安全。
厂商补丁:
Microsoft
Microsoft已经为此发布了一个安全公告(MS03-039)以及相应补丁:
MS03-039:Buffer Overrun In RPCSS Service Could Allow Code Execution(824146)
链接:http://www.microsoft.com/technet/security/bulletin/MS03-039.asp
补丁下载:
Windows NT Server 4.0, Terminal Server Edition
Windows XP 64 bit Edition Version 2003
Windows Server 2003 64 bit Edition
对于Windows 2000用户,我们建议您安装完Windows 2000 SP4之后再安装上述补丁
对于Windows NT 4.0用户,我们建议您安装完SP6a之后再安装上述补丁