重现问题

重现问题

我们遇到了以下问题,该问题仅发生在搭载 Windows 7 x64 和 Acrobat Reader XI 的新工作站上。

每隔几天,以下密钥就会自动添加到注册表中:

HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{CA8A9780-280D-11CF-A24D-444553540000}

此键的作用是禁用 Internet Explorer 附加组件中的 Acrobat Reader XI。因此,当用户在 IE(或 SAP 或其他使用 IE 的 Windows 软件)中打开 PDF 时,它不会在 IE 中打开,而是在新的单独窗口中打开。


所有客户端工作站均使用 Microsoft System Center 2012 R2 和 Microsoft System Center Endpoint Protection 作为防病毒解决方案。

您能否建议造成这种情况的原因是什么,例如组策略、防病毒等?

答案1

重现问题

假设你已经安装

  • Microsoft Windows 7+ / Server 2008 R2+
  • Microsoft Internet Explorer 11+(IE
  • Adobe PDF 阅读器 11+ (读者
  • Microsoft System Center Endpoint Protection/Microsoft 恶意软件防护(恶意软件防护

这里似乎发生了以下事情:

恶意软件防护注册一个名为的组件Microsoft 反恶意软件 IOfficeAntiVirus 实施肺动脉高压) 为了扩展验证IE

IExtensionValidation 接口

对于 Internet Explorer 11,指定反恶意软件供应商可以实现的接口。IE11 可能会调用注册支持此接口的供应商来验证 ActiveX 控件是否可以安全实例化。

肺动脉高压注册为 CLSID {2781761E-28E1-4109-99FE-B9D127C57AFE}

[HKLM\SOFTWARE\Microsoft\Internet Explorer\Extension Validation\{2781761E-28E1-4109-99FE-B9D127C57AFE}]
[HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Extension Validation\{2781761E-28E1-4109-99FE-B9D127C57AFE}]

您可以检查肺动脉高压在注册表中。关联的 DLL 通常位于C:\Program Files (x86)\Microsoft Security Client\MpOAv.dll

[HKCR\CLSID\{2781761E-28E1-4109-99FE-B9D127C57AFE}]
[HKCR\Wow6432Node\CLSID\{2781761E-28E1-4109-99FE-B9D127C57AFE}]

现在每次IE想要运行 ActiveX 控件,注册的肺动脉高压被调用之前,有时会行为不当,或者只是认为读者ActiveX 控件不安全。我不知道它的行为究竟取决于什么。

这一切导致IE(iexplore.exe)将 2 个键写入注册表:CLSID肺动脉高压 {2781761E-28E1-4109-99FE-B9D127C57AFE}读者 {CA8A9780-280D-11CF-A24D-444553540000}

[HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{2781761E-28E1-4109-99FE-B9D127C57AFE}]
[HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{CA8A9780-280D-11CF-A24D-444553540000}]

从此以后IE将不会运行读者ActiveX 控件,直到有人手动从那里删除其 CLSID。这是观察到的问题。

解决方法

  • 停止IE首先调用扩展验证组件:删除 CLSID肺动脉高压来自扩展验证密钥[HKLM\…\Internet Explorer\Extension Validation]。这需要管理权限,可以通过组策略分发。注意:恶意软件防护可能会重新创建注册表项。

  • 卸载 Microsoft System Center Endpoint Protection/Microsoft Malware Protection。使用其他产品。

长期解决方案

  • 向 Microsoft 和/或 Adob​​e 提交错误报告?我担心他们会互相指责。;)
  • 也许最好等待集成 PDF 支持的 Microsoft Spartan。

答案2

组策略可以添加该注册表值。该gpresult工具可以让您深入了解通过组策略应用的设置。

任何以用户身份运行的程序都可能执行此操作,因为默认情况下用户有权修改注册表的该部分。由于它是“每隔几天”更改一次,我怀疑不是组策略在执行此操作(因为策略刷新的频率比这更高)。

我会考虑启用HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Settings注册表项审核并查看安全事件日志以捕获修改。(不过,我不会急于链接到博客这篇文章中的程序很好因为它不涉及通过组策略更改审计策略,而微软的大多数官方示例都涉及此操作。)

你可能还想启用过程跟踪审计清楚了解修改涉及哪些流程。

答案3

尽管 oleschri 的回答已经很全面了,但我想补充一些额外的细节。

据我观察,我没有发现MpOAv与此问题有任何影响或关联。删除扩展验证密钥也不会改变我遇到的任何行为 - 帖子的其余部分让我进一步挖掘...

使用 Internet Explorer 11 访问许多 Google 网页(例如 Google 图片)时,Javascript 会产生错误:

{var c=function(a){try{return new window.ActiveXObject(a),!0}catch(c){return!1}}

刚刚尝试返回新window.ActiveXObject(a)段之后。

这会导致 IE 更改\Ext\Settings\{CA8A9780-280D-11CF-A24D-444553540000}注册表并禁用 Adob​​e PDF Reader 插件。使用系统内部工具 Procmon 并过滤到我们的注册表位置的路径。

从 IE 11 开始,window.ActiveXObject 属性在 DOM 中隐藏。https://msdn.microsoft.com/library/dn423948(v=vs.85).aspx

Google 的代码不好/过时?当然这并不意味着微软不能更好地处理异常。

答案4

感谢 oleschri 和 Jair 提供的信息;这些信息非常有帮助。

我想补充的是,这个问题只影响那些已关闭 UAC 的用户。如果你在强制问题发生时观察 Procmon(通过转到 Google 图片...),你会注意到 IE 正在寻找以下键并失败,结果为“NAME NOT FOUND”:

HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{CA8A9780-280D-11CF-A24D-444553540000}

如果用户的 UAC 已打开,则会发生这种情况。Procmon 显示 IE 多次查找密钥,然后什么也没有。但是,如果 UAC 已关闭,则应该看到来自 IE 的“RegCreateKey”操作(如 oleschri 在其帖子中解释的那样)。IE 似乎找不到它想要的密钥,因此它正在创建它们。我认为 UAC 阻止了 IE 创建密钥,这就是为什么只有关闭了 UAC 的用户才会遇到此问题。

相关内容