关于 Office 网络组件的 ActiveX 控件漏洞的更多信息 (Advisory 973472) [转载]
<<本文章转载自 微软安全博客 GCR Security Blogs 博客文章 " 关于 Office 网络组件的 ActiveX 控件漏洞的更多信息 (Advisory 973472) [转译] ">>
我们获悉了 Internet 上的一轮公开的攻击,该攻击利用了 Office 网络组件表单的 ActiveX 控件(OWC10 和 OWC11)。我们已经发布了 安全通报973472 来为用户提供指导。这篇文章将提供更多细节来帮助大家理解这个问题。
攻击媒介是什么?
这个漏洞允许攻击者以“浏览和获得权限”的方式执行远程代码。这个过程需要用户交互,即需要用户访问包含攻击代码的恶意链接。
什么样的配置有危险?
OWC10 和 OWC11 在任何 Windows 版本上都不是默认安装的。但是,它会伴随如下产品一起安装:
OWC10 |
OWC11 |
|
Office XP |
Yes |
|
Office 2003 |
Yes |
Yes |
Office 2007 |
Opt |
|
BizTalk |
Yes |
|
ISA Server |
Yes |
|
Office Accounting and Business Contact Manager |
Yes |
|
Manually installed from Microsoft Download Center |
Yes |
Yes |
Yes = 默认安装(受影响); Opt = 可选安装(可能受影响)
请注意,以下几种情况和配置可以避免攻击:
- Outlook 和 Outlook Express 不会受影响,因为它们只在 ActiveX 受限区域打开 HTML 邮件。但是,如果用户点击邮件中的链接进入一个恶意网站,攻击者还是可能攻击成功。
- 在 Windows Server 2003 和 Windows Server 2008 中,由于存在增强的安全配置(Enhanced Security Configuration),默认情况下 ActiveX 控件就不会被加载到 Internet 上。
- 如果机器上没有安装 OWC,用户访问含有攻击代码的网页时,IE7 和 IE8 会显示黄色的拦截提醒,来请求允许安装 ActiveX。
如何确认是否存在危险?
用户可以使用 ClassId.cs 工具来检查工作站是否会因此受到攻击,这个工具可以从我们 以前的文章 中找到。
默认情况下,这个控件安装后会被实例化,使用 ClassId.cs 工具就会看到如下输出:
C:\>ClassId.exe {0002E541-0000-0000-C000-000000000046} (*) Clsid: {0002E541-0000-0000-C000-000000000046} Progid: OWC10.Spreadsheet.10 Binary Path: C:\PROGRA~1\COMMON~1\MICROS~1\WEBCOM~1\10\OWC10.DLL Implements IObjectSafety: True Safe For Initialization (IObjectSafety): True --- IE will allow loading Safe For Scripting (IObjectSafety): True --- IE will allow scripting Safe For Initialization (Registry): False Safe For Scripting (Registry): False Kill-bitted: False --- It is not Kill-bitted |
(*) 这个例子使用了 OWC10 classid。
对 OWC11 classid:{0002E559-0000-0000-C000-000000000046} 同样适用。
我怎样保护自己?
可以为上述两个 classid 设置 Kill-bit 来保护系统,具体方法是在注册表中设置键值,步骤如下:
1) 打开注册表编辑器,找到如下两个双字键值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E541-0000-0000-C000-000000000046} |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{0002E559-0000-0000-C000-000000000046} |
2) 将上述键值改为 0x00000400
设置 Kill-bit 后可以再次使用 ClassId.cs 工具来查看效果:
C:\>ClassId.exe {0002E541-0000-0000-C000-000000000046} (*) Clsid: {0002E541-0000-0000-C000-000000000046} Progid: OWC10.Spreadsheet.10 Binary Path: C:\PROGRA~1\COMMON~1\MICROS~1\WEBCOM~1\10\OWC10.DLL Implements IObjectSafety: True Safe For Initialization (IObjectSafety): True Safe For Scripting (IObjectSafety): True Safe For Initialization (Registry): False Safe For Scripting (Registry): False Kill-bitted: True --- Since the kilbit has been applied, IE will refuse to load the control |
(*) 这个例子使用了 OWC10 classid。
对 OWC11 classid:{0002E559-0000-0000-C000-000000000046} 同样适用。
这样大家在 IE 中就不会受到这种威胁了。
在通报中还提到,我们还提供了一种自动应用此方案的办法。用户可以点击下面的按钮来设置针对此控件的 Kill-bit。
Fermin J. Serna, MSRC
*帖子内容是“按目前情况”,不作任何保证,且不赋予任何权利*