« 我的Firefox 扩展 | Main | 微软发布WMF漏洞补丁 »

WMF FAQ (中文版)

翻译自ISC WMF FAQ英文版

为什么这个问题很重要?

WMF漏洞利用程序使用图片(WMF 图片)来执行任意代码。在我们观看图片的时候它就会执行。大部分情况下,不需要经过点击。甚至存储在系统中的图片也会被索引系统触发而执行。在资源管理器中以图标方式查看也会导致恶意代码的执行。

使用Firefox或者IE会更好吗?

IE会在浏览图片的时候,不经过任何警告就导致恶意程序执行。新版本的Firefox会在打开图片之前提示是否执行。不管怎样,大部分情况下这只会起到很少的保护作用,因为图片总是被视为“安全”的。

影响到哪些版本的Windows?

所有版本。Windows 2000, Windows XP, (SP1 and
SP2), Windows 2003. 所有版本都会有一定程度的影响。Mac OS-X, Unix 和
BSD 不受影响。

注意:如果你还在使用Win98/ME,这是一个分水岭:我们相信(没有经过测试)你的系统是有漏洞的,而且微软不会提供补丁。其它的选择很少,看来真的需要升级了。

怎样才能保护自己?
  1. 微软还没有发布补丁。Ilfak Guilfanov提供了一个非官方的补丁。经过SANS的Tom Liston审查和测试的版本可以从这里下载(现在是v1.4, MD5: 15f0a36ea33f39c1bcf5a98e51d4f4f6), PGP 签名(signed with ISC key)在这里 here. 感谢Ilfak Guilfanov提供这个补丁!!
  2. 可以注销相关的DLL。
  3. 病毒检测程序提供了一些防护。
注销DLL:
  • 点击“开始”,点击“运行...”,输入“regsvr32 -u
    %windir%\system32\shimgvw.dll”(不要引号,路径在%windir%\system32\shimgvw.dll),点击确定。
  • 出现一个对话框确认注销过程成功。点击“确定”关闭对话框。
当前的“最佳实践”是同时注销DLL和安装非官方补丁。

非官方补丁的工作原理怎样?

wmfhotfix.dll会注入到任何加载user32.dll的进程中。这个DLL会修补(在内存中)gdi32.dll的Escape()函数,从而使得进程忽略任何使用SETABORTPROC (ie. 0x09) 参数的调用。这将允许Windows程序显示WMF文件,但是阻止恶意代码的执行。这个版本的补丁源代码经过了仔细的检查,并对所有版本的恶意程序进行了测试。可以在WinXP (SP1,SP2)和 Win2K系统中使用。

注销DLL(不使用非官方补丁)可以提供足够的防护吗?

可能行,但不是十分安全。需要明确的是:我们有很强的预感,简单的注销shimgvw.dll并不总是有效的。.dll会被恶意程序或者其它安装的程序重新注册,这就可能导致在这些重新注册了DLL的系统中允许恶意代码的执行。另外一种可能是存在其它利用gdi32.dll中Escape()函数的攻击方法。在微软的补丁发布之前,我们建议在注销shimgvw.dll的同时使用非官方补丁。

是否应该仅仅删除这个DLL?

这也许不是一个坏主意,但是Windows的文件保护机制可能会使它重新回来。你需要首先关闭Windows的文件保护功能。并且,官方补丁出来后需要替换这个DLL。(改名,而不是删除可能对将来的恢复更好)。

是否我应该阻止任意 .WMF图片?

这可能有用,但还不够。WMF文件使用一个特殊的文件头来识别,并非通过其扩展名。WMF文件可以使用任意扩展名,或者嵌入到Word和其它类型的文档中。

什么是DEP(数据执行保护),这个会有帮助吗?

Windows XP SP2中,微软提供了DEP。它通过防止“数据段”的执行,防护很大范围的恶意程序。然而,它需要硬件支持来很好的工作。一些CPU,例如AMD的64位CPU,可以提供完整的DEP功能,从而防止恶意程序的影响。

防病毒产品对这个漏洞的防护如何?

当前情况下,我们注意到一些版本的恶意程序不会被防病毒引擎检测到,希望他们能很快赶上。要捕捉到所有版本的恶意程序,是一个艰苦的过程。更新反病毒系统是必须的,但可能还不够。

恶意WMF文件会怎样进入我的系统?

有多种方式,很难一一道尽。E-mail附件,网站和及时通信程序是最可能的来源。同时不要忘记P2P文件共享和其它来源。

告诉用户不要访问非信任网站是否足够?

不,这有一定作用,但还不够。我们知道至少有一个广受信任的站点(knoppix-std.org)有这个问题了。该网站被添加了一个页面框,将用户引向一个包含恶意WMF文件的站点。“信任”网站以前就是这样被利用的。

WMF图片到底有什么问题?

WMF图片和其它图片有些不同。其它图片仅仅包括“某一点是何颜色”信息,WMF图片可以调用外部过程。其中的一个过程调用能够可以用来执行任意代码。

我应该使用“降低权限”类似功能来减少这个漏洞的影响吗?

这是肯定的。在进行日常工作时,不要使用具有超级用户权限的帐号。但是,这只能限制这个恶意程序的影响,而不能阻止。并且:网站浏览仅仅是触发恶意程序的一种方式,如果一个恶意的图片进入你的系统,并且后来管理员使用某种方式“看”了这个图片,就“中招”了。

服务器有这个漏洞吗?

也许... 你允许上载图片吗?邮件?这些图片会被索引吗?你有时在服务器上使用浏览器吗?总而言之:如果有人上传了一个图片到你的服务器上,如果具有漏洞的DLL访问了它,你的服务器就有麻烦了。

在网络边界/防火墙怎样保护我的网络?

没有很好的办法。代理服务器的脚本可以过滤网站的所有图片?可能你的用户会不高兴。如果代理具有病毒检查功能,也许可以起作用。邮件服务器也一样。你给用户发起外部连接的权限越少越好。对用户工作站进行紧密地监控可以在工作站被感染的时候尽快得到信号。

可以使用IDS来检测这个恶意程序吗?

很多IDS厂商在发布这方面的检测规则,联系你的厂商以获取详细信息。Bleedingsnort.org 在为snort用户不断提供并改进这些规则。

如果我中招了,怎么办?

没啥特别的办法, :(。办法依赖于具体的恶意程序种类。大部分的恶意程序会下载其它组件。这使得我们很难甚至不可能找到一种统一的方法。微软对这个问题提供免费的支持,电话是:866-727-2389 (866 PC SAFETY).

微软提供了什么信息?

http://www.microsoft.com/technet/security/advisory/912840.mspx
目前为止,还没有提供补丁程序。

CERT怎么说?

http://www.kb.cert.org/vuls/id/181038
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-4560

Comments (2)

smallmo:

从ISC看到你的这篇中文翻译,不错不错

B牧羊人:

感谢你的文章,提醒

Post a comment

About

This page contains a single entry from the blog posted on January 3, 2006 4:21 PM.

The previous post in this blog was 我的Firefox 扩展.

The next post in this blog is 微软发布WMF漏洞补丁.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by
Movable Type 3.35