微软DDE协议安全防护指南

本文详细介绍了Microsoft Office中Dynamic Data Exchange协议的安全风险,提供了针对Excel、Outlook、Publisher和Word的具体防护措施,包括注册表修改和Windows Defender防护方案。

安全打开包含动态数据交换字段的Microsoft Office文档

发布日期:2017年11月8日 | 更新日期:2018年1月9日
版本:3.0

执行摘要

微软发布此安全公告旨在提供有关Microsoft Office应用程序安全设置的信息。本公告提供了指导,帮助用户确保在处理动态数据交换字段时这些应用程序得到适当保护。

关于动态数据交换

Microsoft Office提供了多种在应用程序之间传输数据的方法。DDE协议是一组消息和指南,它在共享数据的应用程序之间发送消息,并使用共享内存在应用程序之间交换数据。应用程序可以使用DDE协议进行一次性数据传输和持续交换,在新数据可用时应用程序相互发送更新。

攻击场景

在电子邮件攻击场景中,攻击者可以通过向用户发送特制文件,然后诱使用户打开该文件来利用DDE协议,通常通过电子邮件中的诱饵方式。攻击者必须说服用户禁用保护模式并点击一个或多个附加提示。由于电子邮件附件是攻击者传播恶意软件的主要方法,微软强烈建议客户在打开可疑文件附件时保持谨慎。

DDE功能控制键

Microsoft Office提供了几个存储在注册表中的功能控制键,负责修改产品功能、改进对行业标准的支持和提高安全性。微软已记录这些功能控制键,并出于安全原因建议启用特定的功能控制键。

微软强烈鼓励所有Microsoft Office用户查看与安全相关的功能控制键并启用它们。设置以下部分中描述的注册表键将禁用链接字段的自动数据更新。

更新 2017年12月12日,微软发布了所有受支持版本的Microsoft Word更新,允许用户根据其环境设置DDE协议的功能。

更新 2018年1月9日,微软发布了所有受支持版本的Microsoft Excel更新,允许用户根据其环境设置DDE协议的功能。

缓解DDE攻击场景

希望立即采取行动的用户可以通过手动创建和设置Microsoft Office的注册表项来保护自己。使用以下说明根据系统上安装的Office应用程序设置注册表键。

警告:如果错误使用注册表编辑器,可能会导致需要重新安装操作系统的严重问题。微软不能保证您能解决因错误使用注册表编辑器而产生的问题。使用注册表编辑器需自担风险。

微软建议在对注册表项进行任何更改之前备份注册表。

Microsoft Excel

Excel依赖DDE功能启动文档。

要防止从Excel自动更新链接(包括DDE、OLE和外部单元格或定义名称引用),请参考下表中为每个版本设置的注册表键版本字符串:

Office版本 注册表键版本字符串
Office 2007 12.0
Office 2010 14.0
Office 2013 15.0
Office 2016 16.0

通过用户界面禁用DDE功能: 设置文件->选项->信任中心->信任中心设置…->外部内容->工作簿链接的安全设置 = 禁用工作簿链接的自动更新。

通过注册表编辑器禁用DDE功能:

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Excel\Security]
WorkbookLinkWarnings(DWORD) = 2

缓解影响:如果在注册表中禁用此功能,可能会阻止Excel电子表格动态更新。数据可能不会完全最新,因为它不再通过实时源自动更新。要更新工作表,用户必须手动启动源。此外,用户将不会收到提醒他们手动更新工作表的提示。

Microsoft Outlook

参考下表中为每个Office版本设置的注册表键版本字符串:

Office版本 注册表键版本字符串
Office 2010 14.0
Office 2013 15.0
Office 2016 16.0

对于Office 2010及更高版本,通过注册表编辑器禁用DDE功能:

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Word\Options\WordMail]
DontUpdateLinks(DWORD)=1

对于Office 2007,通过注册表编辑器禁用DDE功能:

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options\vpref]
fNoCalclinksOnopen_90_1(DWORD)=1

缓解影响:设置此注册表键将禁用DDE字段和OLE链接的自动更新。用户仍可以通过右键单击字段并单击"更新字段"来启用更新。

Microsoft Publisher

使用DDE协议的Word文档嵌入Publisher文档中可能是一个攻击向量。您可以通过应用Word注册表键修改来帮助防止此攻击向量。

Microsoft Word

参考下表中为每个Office版本设置的注册表键版本字符串:

Office版本 注册表键版本字符串
Office 2010 14.0
Office 2013 15.0
Office 2016 16.0

对于Office 2010及更高版本,通过注册表编辑器禁用DDE功能:

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Word\Options]
DontUpdateLinks(DWORD)=1

对于Office 2007,通过注册表编辑器禁用DDE功能:

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options\vpref]
fNoCalclinksOnopen_90_1(DWORD)=1

缓解影响:设置此注册表键将禁用DDE字段和OLE链接的自动更新。用户仍可以通过右键单击字段并单击"更新字段"来启用更新。

Windows 10 Fall Creators Update(版本1709)

Windows 10 Fall Creators Update的用户可以利用Windows Defender Exploit Guard通过攻击面减少规则阻止基于DDE的恶意软件。

ASR是Windows Defender Exploit Guard中的一个组件,为企业提供一组内置智能,可以阻止恶意文档用于执行攻击的底层行为,而不会妨碍产品操作。通过阻止与威胁或漏洞无关的恶意行为,ASR可以保护企业免受前所未见的零日攻击。

对于Office应用程序,ASR可以:

  • 阻止Office应用程序创建可执行内容
  • 阻止Office应用程序启动子进程
  • 阻止Office应用程序注入进程
  • 阻止从Office中的宏代码导入Win32
  • 阻止混淆的宏代码

像DDEDownloader这样的新兴漏洞利用使用Office文档中的动态数据交换弹出窗口运行PowerShell下载器;但是,在此过程中,它们会启动相应的子进程规则阻止的子进程。

其他建议操作

  • 保护您的PC:我们继续鼓励客户遵循我们的"保护您的计算机"指南,启用防火墙、获取软件更新和安装防病毒软件。
  • 保持Microsoft软件更新:运行Microsoft软件的用户应应用最新的Microsoft安全更新,以帮助确保其计算机得到尽可能好的保护。

其他信息

免责声明

本公告中提供的信息"按原样"提供,不作任何明示或暗示的担保。微软否认所有明示或暗示的担保,包括适销性和特定用途适用性的担保。在任何情况下,微软公司或其供应商均不对任何损害承担任何责任,包括直接、间接、附带、后果性、商业利润损失或特殊损害,即使微软公司或其供应商已被告知可能发生此类损害。

修订历史

  • V1.0(2017年11月8日):公告发布。
  • V1.1(2017年11月30日):使用有关攻击面减少规则的更多信息更新了Windows 10 Fall Creators Update部分。这仅是信息性更改。
  • V2.0(2017年12月12日):微软发布了所有受支持版本的Microsoft Word更新,允许用户根据其环境设置DDE协议的功能。
  • V3.0(2018年1月9日):微软发布了所有受支持版本的Microsoft Excel更新,允许用户根据其环境设置DDE协议的功能。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计