Outlook 对象模型的安全行为

Outlook 对象模型包括用于访问 Outlook 数据、将数据保存到指定位置以及发送电子邮件的入口点。 这些入口点适用于合法和恶意应用程序开发人员。 随 Outlook Email 安全更新一起应用的 Outlook 98 和 Outlook 2000 版本以及从 Outlook 2000 SP2 开始的所有后续版本都使用对象模型防护来帮助保护用户。

当不受信任的应用程序尝试使用对象模型获取电子邮件地址信息、将数据存储在 Outlook 外部、执行某些操作以及发送电子邮件时,对象模型防护会警告用户并提示用户确认。 尽管对象模型防护成功地识别和保护了这些入口点,但存在两个主要问题,使对象模型防护变得相当不切实际:

  • 在早期版本的 Outlook 中,应用程序调用对象模型防护的默认情况可能会导致对合法应用程序发出过多的安全提示。

  • COM 和 Windows 在标识调用对象模型防护的特定应用程序方面的限制使得用户难以确定地响应安全提示。

有关对象模型防护的各种安全提示的详细信息,请参阅 Outlook 对象模型安全警告。 有关受保护对象模型入口点的详细信息,请参阅 受保护的属性和方法

默认安全行为

Outlook 2007 之前的 Outlook 版本依赖于对象模型防护来保护 Outlook 通讯簿数据,并避免不受信任的应用程序发送电子邮件。 尽管 Outlook 继续使用对象模型防护来提供类似的保护,但它在对象模型防护生成警告时定义了新的默认情况,从而减少了在适当条件下的过度安全警告,同时为 Outlook 客户端保持合理的安全级别。

In-Process加载项

进程内 Outlook 加载项在主机 Outlook 程序的过程中运行。 默认情况下,Outlook 中的进程内 COM 加载项是受信任的。 这些 COM 加载项由客户端计算机的管理员在受信任的应用程序列表中注册,必须使用传递给加载项 OnConnection 事件的 Application 对象。 请注意,如果使用 CreateObject 方法创建新的 Application 对象,则不信任该对象及其任何从属对象、属性和方法。

有关 OnConnection 事件的详细信息,请参阅 MSDN 上的 IDTExtensibility2 文档。

跨进程加载项

默认情况下,Outlook 依赖于客户端计算机上相应防病毒软件的存在和状态来信任跨进程应用程序:如果 Outlook 检测到防病毒软件以可接受的状态运行,Outlook 将为最终用户禁用安全警告。

如果满足以下所有条件,则所有跨进程 COM 调用方和外接程序都将运行,而不会发出安全警告:

  • 客户端计算机正在运行 Windows XP Service Pack 2 (SP2) 、Windows Vista 或更高版本的 Windows,Windows 安全中心 Center (WSC) 指示计算机上的防病毒软件处于“良好”运行状况状态。

  • 安装在客户端计算机上的防病毒软件专为 Windows XP SP2、Windows Vista 或更高版本而设计。

  • Outlook 按以下方式之一在客户端计算机上配置:

    • 使用默认的 Outlook 安全设置 (即,没有组策略设置)

    • 使用由 组策略 定义但未应用编程访问策略的安全设置

    • 使用由 组策略 定义的安全设置,该设置设置为在防病毒软件处于非活动状态或过期时发出警告

有关详细信息,请参阅 MSDN 上的“Microsoft Office Outlook 2007 中的代码安全性更改”一文。

安全选项

Windows 组策略

管理员可以使用 Outlook 中的信任中心更改默认行为。 若要访问信任中心,请选择“ 工具 ”,然后选择“ 信任中心”。 在信任中心,单击“ 编程访问”。 “ 编程访问安全性 ”对话框提供默认行为以外的选项。

“编程访问安全性”对话框中的三个设置是:

  • 当防病毒软件处于非活动状态或过期时, (建议) 警告我可疑活动 此设置是默认设置,可实现上述行为。 这是所有用户的建议设置。

  • 始终警告我可疑活动 此设置会将 Outlook 还原为类似于 Outlook 2003 的行为,其中跨进程 COM 调用方和不受信任的外接程序将调用安全警告。

  • 切勿警告我可疑活动 (不建议) 此设置永远不会显示安全警告,并且对象模型防护将被禁用。 此设置应仅在计算机上运行恶意代码风险较低的受控环境中使用。

仅当当前用户是计算机上的管理员时,这些设置才可用。 非管理员用户可以看到当前设置,但无法对其进行更改。 还可以通过组策略控制编程访问设置。 有关使用 组策略 配置 Outlook 设置的详细信息,请参阅 Office 资源工具包网站。

Exchange 公用文件夹中的安全表单

管理员可以将 Outlook 配置为在公用文件夹中查找 Outlook 安全窗体。 在这种情况下,Outlook 不会利用防病毒软件的状态,并且默认情况下仅信任安全表单中列出的加载项。 只有三种提示行为:提示用户、从不提示和自动允许,以及从不提示和自动拒绝。

若要根据防病毒软件的状态利用新的代码安全行为,管理员必须使用默认的 Outlook 安全设置或配置 Outlook 以使用组策略设置来替代此行为。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。