关于Office 2010 文件验证的相关知识
Office 安全团队负责测试 Office 文件验证(代码名称:网关守卫)。人们对 Microsoft Office 2010 的新文件验证功能存在一些误解,在此我希望消除这些误解,同时说明原因及具体操作。
一、什么是Office 2010 文件验证?
Office文件验证是一种防范功能。主要是检查应用程序即解析文件的具体位数,如果确定是有效文件则会按正常方式打开,如果发现文件无效则会发送到(默认情况)受保护的视图。
二、什么是网关守卫?
Office 文件验证是一种功能,该功能最初是在 Publisher 2007 中引入的,用来验证 Publisher 的PUB 文件。它可验证特定二进制文件是否符合应用程序的要求。在 Office 2010 中有效扩展了该功能,以包含 Word、Excel 和 PowerPoint 的二进制格式。请注意,该功能仅适用于二进制格式(即PUB、DOC、XLS、PPT 等),而不能验证基于 XML 的文档(即 DOCX、XLSX、PPT等),也不能验证宏或其他自定义项目。它可验证的对象是文件结构。
三、为什么要进行验证?
一直以来,Office 二进制格式的标准不断演化,复杂性不断增加。对于这些格式复杂的原因,在其他地方已详细讨论过(请参阅2、3楼的 Joel Spolsky 的文章),因此在此不作探讨,但此处完好记录了这些二进制格式。恶意攻击者将二进制文件用作攻击手段来感染目标用户,因此我们希望找到一种阻止此问题发生的方法。网关守卫采取的一项措施是:当 Microsoft 收到一个新的 Office 文件格式攻击的报告时,就会通过验证进行检查,以了解这项措施的效果。到目前为止,效果相当不错!
四、如何控制该验证?
1、通过策略
利用组策略来控制文件验证失败时的默认操作。这些策略位于组策略模板中应用程序的“选项”\“安全性”\“信任中心”\“受保护的视图”下,它视应用程序设置而定。
2、通过注册表
有以下几个用来控制 Office 文件验证的各个方面的注册表项。
常用注册表项
HKCU\Software\Microsoft\Office\14.0\Common\Security\FileValidation \ReportingInterval - 这是一个 DWORD,它可控制显示将文件发送到 Windows 错误报告的对话框的间隔天数。
HKCU\Software\Microsoft\Office\14.0\Common\Security\FileValidation\DisableReporting - 这是一个 DWORD,如果设置为 1,则禁止显示对话框(因此禁止向 Windows 错误报告发送文件)。
应用程序特定注册表项
适用于我将使用“Excel”的这些示例,但对“PowerPoint”和“Word”同样有效
HKCU\Software\Microsoft\Office\14.0\Excel\Security\FileValidation\EnableOnLoad – 这是一个 DWORD,如果设置为 0,则 Office 不会验证文件。
HKCU\Software\Microsoft\Office\14.0\Excel\Security\FileValidation\DisableEditFromPV – 这是一个 DWORD,如果设置为 1,则禁止编辑验证失败的文件。
Excel 特定注册表项
HKCU\Software\Microsoft\Office\14.0\Excel\Security\FileValidation\PivotOptions – 这是一个 DWORD,可控制验证文件的透视表缓存(由于性能原因)的特定选项。
0 = 从不验证任何透视表缓存
1 = 在以下情况下验证透视表缓存:(1) 文件是从 Internet 打开的,并且该平台在本地将文件标记为来自 Internet。(2) 文件是 Microsoft Outlook 电子邮件附件。(3) 用户专门在受保护的视图中
打开文件。(4) 从缓存 Internet 内容的本地已知“非安全位置”以及任何特殊用户定义的不受信任位置打开文件,除非通过(其他)注册表项禁用受保护的视图的非安全位置。(5) 在加载时打开文件
并解析透视表缓存。
2 = 始终验证所有透视表缓存
我这都没,没把!!!