Office文档中ActiveX控件行为解析与安全配置指南

本文深入探讨Microsoft Office文档中ActiveX控件的默认行为与安全风险,分析攻击者如何利用Safe-For-Initialization控件绕过提示机制,并提供Office 2007的ActiveX配置方法与组策略设置建议。

Office文档中嵌入ActiveX控件的行为分析

Microsoft Office应用程序(Word、Excel、PowerPoint等)内置了对ActiveX控件的支持。ActiveX支持能够为用户与Office文档交互时提供更丰富的体验。例如,文档作者可以使用标记为Safe-For-Initialization的Office Web Components(OWC)ActiveX控件从内网数据源检索数据。

Office应用程序的提示行为

默认情况下,Office应用程序在实例化标记为Safe-For-Initialization的ActiveX控件时不会显示提示。这与Internet Explorer在Internet区域中的行为类似。Office与IE的主要区别在于,Word、Excel或PowerPoint等Office应用程序不关心ActiveX的Safe-For-Scripting设置,因为除了VBA外,它们没有任何脚本支持。如果恶意VBA代码正在运行,即使不使用任何ActiveX控件,用户也会陷入大麻烦。

同样默认情况下,未标记为SFI的ActiveX控件只有在用户通过提示启用时才能加载。提示界面如下:

[此处为提示界面截图]

攻击者如何滥用Safe-For-Initialization ActiveX控件?

攻击者已经发现了Office应用程序中的ActiveX支持,并一直在使用它来更有效地诱骗受害者访问基于网络的恶意软件。他们最近使用"Microsoft Scriptlet Component"将受害者导航到一个利用已修补的Internet Explorer漏洞(CVE 2009-0075,由安全公告MS09-002修复)的网站。攻击者似乎发现,欺骗用户打开电子邮件附带的Word文档比诱使用户点击可疑链接更容易。这种特定攻击在Trend Malware博客上周的帖子中有所提及(http://blog.trendmicro.com/another-exploit-targets-ie7-bug//)。

让我们仔细看看这个Scriptlet ActiveX控件:

  • Clsid: {ae24fdae-03c6-11d1-8b76-0080c744f389}
  • Progid: ScriptBridge.ScriptBridge.1
  • 二进制路径: C:\Windows\system32\mshtml.dll
  • 实现IObjectSafety: True
  • Safe For Initialization (IObjectSafety): True **
  • Safe For Scripting (IObjectSafety): True
  • Safe For Initialization (Registry): False
  • Safe For Scripting (Registry): False
  • KillBitted: False

由于此ActiveX控件被标记为SFI,Office文档可以在不显示任何提示的情况下使用它,这与IE在Internet区域中的默认行为类似。这是"按设计"的行为。(我们在2008年2月的SRD博客文章中解释了如何获取系统中注册的任何ActiveX控件的此类信息。)

如何在Office中配置ActiveX支持

如果您担心Office在没有提示的情况下实例化Safe-for-Initialization ActiveX控件,可以在Office 2007中配置此行为。以下是Office 2007信任中心的截图:

[此处为信任中心配置截图]

Office的帮助主题"在Office文档中启用或禁用ActiveX控件"详细解释了ActiveX配置。它描述了默认的"在启用所有具有最小限制的控件之前提示我"设置如下:

  • 如果文档包含VBA,默认情况下所有ActiveX控件都被禁用。Office会提示用户,询问是否要启用Active控件。
  • 如果文档不包含VBA:
    • 标记为SFI(安全初始化)的ActiveX控件将在没有任何提示的情况下加载。
    • 未标记为SFI的ActiveX控件只有在用户通过提示启用时才能加载。
    • Office遵循IE的Killbit设置。如果ActiveX控件已被kill-bitted,它将不会被加载。

如果您不希望Office文档使用任何ActiveX控件,可以将设置更改为"禁用所有控件而不通知"。信任中心中的ActiveX设置也可以通过组策略或注册表进行设置。有关更多信息,请参考以下链接:

  • Office 2007: “2007 Office系统中的安全策略和设置”
  • Office 2003/XP: “策略如何工作"和Microsoft知识库文章827742。

Chengyun, MSRC工程团队 文章按"原样"提供,不提供任何担保,也不授予任何权利。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计