降低文本转换器攻击面:MS09-010安全指南

本文详细介绍了如何通过修改ACL权限禁用或重新启用WordPad和Office中的文本转换器,以减少系统攻击面,并提供Windows XP和Vista的具体操作步骤及转换器列表。

MS09-010:降低文本转换器攻击面

MS09-010 解决了 WordPad 和 Office 在加载旧版文件格式时使用的 Word 转换器中的漏洞。如果您看到此公告并认为“我从不打开 Word XP 之前的文档”,您可能对减少攻击面感兴趣。本文将展示如何禁用计算机上可能安装但未计划使用的转换器,以及如何防止意外安装特定转换器(如果您管理多台计算机并希望减少其攻击面,这将非常有用)。

如何禁用已安装的转换器

思路是修改访问控制列表(ACL),以便“Everyone”组对转换器文件的所有权限都被拒绝。文件所有者可以撤销此操作,因为所有者始终可以更改文件的 ACL,无论当前 ACL 如何设置。

关于 XP 和 Windows Vista 步骤差异的快速说明:在 XP 中,我们没有 icacls,因此无法在锁定 ACL 之前进行备份。然而,这对于这些转换器来说应该不是问题,因为它们通常没有为“Everyone”组设置访问控制条目(ACE)。如果存在这样的 ACE,它将被我们的 everyone:N ACE 覆盖,并在下面的重新启用步骤中完全删除。因此,如果在 Windows XP 上使用并存在疑问,请仔细检查 ACL 并手动备份。您可以使用 cacls.exe 的 /S 开关导出和重新导入权限的 SDDL 表示。

注意:您需要管理员权限来设置这些文件限制。

对于 Windows XP

1
cacls CONVERTER_PATH_AND_FILE_NAME /E /P everyone:N

对于 Windows Vista(从提升的命令提示符)

1
2
3
takeown /f CONVERTER_PATH_AND_FILE_NAME
icacls CONVERTER_PATH_AND_FILE_NAME /save PATH_AND_NAME_OF_FILE_TO_BACKUP_ACL_STATE_TO
icacls CONVERTER_PATH_AND_FILE_NAME /deny everyone:(F)

注意:CONVERTER_PATH_AND_FILE_NAME 指的是下表中的某个转换器。

如何重新启用已禁用的转换器

注意:您需要管理员权限来设置这些文件限制。

对于 Windows XP

1
cacls CONVERTER_PATH_AND_FILE_NAME /E /R everyone

对于 Windows Vista(从提升的命令提示符)

1
icacls CONVERTER_PATH /restore PATH_AND_NAME_OF_FILE_TO_RESTORE_ACL_STATE_FROM

如何防止意外安装转换器

如果系统未安装特定转换器,我们可以防止用户意外安装它。我们将通过在相同文件夹中创建与目标转换器同名的占位文件来实现这一点。然后,我们将像对已安装转换器那样限制 ACL。这会阻止安装程序安装转换器。

注意:您需要管理员权限来设置这些文件限制。

对于 Windows XP

1
2
3
md CONVERTER_PATH
echo Placeholder > CONVERTER_PATH_AND_FILE_NAME
cacls CONVERTER_PATH_AND_FILE_NAME /E /P everyone:N

对于 Windows Vista(从提升的命令提示符)

1
2
3
md CONVERTER_PATH
echo Placeholder > CONVERTER_PATH_AND_FILE_NAME
icacls CONVERTER_PATH_AND_FILE_NAME /deny everyone:(F)

如何在禁用安装后允许安装转换器

注意:您需要管理员权限来设置这些文件限制。

对于 Windows XP

1
2
cacls CONVERTER_PATH_AND_FILE_NAME /E /R everyone
echo y| del CONVERTER_PATH_AND_FILE_NAME

对于 Windows Vista(从提升的命令提示符)

1
2
icacls CONVERTER_PATH_AND_FILE_NAME /remove everyone
echo y| del CONVERTER_PATH_AND_FILE_NAME

转换器列表

以下是一些转换器及其文件名的列表,如果您决定通过禁用其中一些来减少攻击面:

注意:这些转换器提供了多个路径——哪个适用于您的计算机取决于您运行的操作系统版本和架构,以及操作系统升级历史。

转换内容 路径和文件名
WordPerfect 5.x “%ProgramFiles%\Common Files\Microsoft Shared\TextConv \wpft532.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\wpft532.cnv”
WordPerfect 6.x “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\wpft632.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\wpft632.cnv”
Word 6 “%ProgramFiles%\Windows NT\Accessories\mswrd6.wpc” “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\mswrd632.wpc” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\mswrd632.wpc” “%ProgramFiles%\Windows NT\Accessories\mswrd664.wpc” “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\mswrd632.cnv” “%ProgramFiles(x86)%\Windows NT\Accessories\mswrd6.wpc”
Word 97 “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\mswrd832.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\mswrd832.cnv” “%ProgramFiles%\Windows NT\Accessories\mswrd8.wpc” “%ProgramFiles%\Windows NT\Accessories\mswrd864.wpc” “%ProgramFiles(x86)%\Windows NT\Accessories\mswrd8.wpc”
Word 97-2000 & 6.0/95 RTF 文件 “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\Wrd6er32.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\Wrd6er32.cnv”
Works 4 “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\works432.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\works432.cnv”
Works 6 “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\Works632.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\Works632.cnv”
Works 7-9 “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\wkcvqd01.dll” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\wkcvqd01.dll” “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\wkcvqr01.dll” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\wkcvqr01.dll”
HTML32 “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\html32.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\html32.cnv” “%SystemRoot%\SYSTEM32\HTML.IEC”
MSCONV97 “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\MSConv97.dll” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\MSConv97.dll”
Write “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\write32.wpc” “%ProgramFiles%\Windows NT\Accessories\write.wpc” “%ProgramFiles(x86)%\Windows NT\Accessories\write.wpc” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\write32.wpc” “%ProgramFiles%\Windows NT\Accessories\write64.wpc”
Recovr32.cnv “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\Recovr32.cnv” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\Recovr32.cnv”
WpEqu532.dll “%ProgramFiles%\Common Files\Microsoft Shared\TextConv\WpEqu532.dll” “%ProgramFiles(x86)%\Common Files\Microsoft Shared\TextConv\WpEqu532.dll”

操作示例

在 Windows Vista 上禁用 wpft532.cnv 转换器:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
C:\>takeown /f "C:\Program Files\Common Files\microsoft shared\TextConv\WPFT532.CNV"

SUCCESS: The file (or folder): "C:\Program Files\Common Files\microsoft shared\TextConv\WPFT532.CNV" now owned by user "Foo\Bar".

C:\>icacls "C:\Program Files\Common Files\microsoft shared\TextConv\WPFT532.CNV" /save %admintemp%\WPFT532_ACL_BACKUP.txt
processed file: C:\Program Files\Common Files\microsoft shared\TextConv\WPFT532.CNV
Successfully processed 1 files; Failed processing 0 files

C:\>icacls "C:\Program Files\Common Files\microsoft shared\TextConv\WPFT532.CNV" /deny everyone:(F)
processed file: C:\Program Files\Common Files\microsoft shared\TextConv\WPFT532.CNV
Successfully processed 1 files; Failed processing 0 files

重新启用转换器(注意我们不提供文件名,只提供 wpft532.cnv 存储的路径):

1
2
3
C:\>icacls "C:\Program Files\Common Files\microsoft shared\TextConv" /restore %admintemp%\WPFT532_ACL_BACKUP.txt
processed file: C:\Program Files\Common Files\microsoft shared\TextConv\WPFT532.CNV
Successfully processed 1 files; Failed processing 0 files

关于组策略的说明

您还可以通过组策略禁用已安装的转换器,并重新启用它们。思路与上面列出的手动步骤相同:

  • 要禁用转换器,请为您希望禁用的转换器文件添加“拒绝所有人完全控制”访问控制条目。
  • 要重新启用转换器,请删除“Everyone”组的条目。

您可以在以下位置找到有关如何通过组策略应用这些更改的具体说明:http://technet2.microsoft.com/windowsserver/en/library/1687ef1d-b382-49c7-b184-a4cc888be5251033.mspx?mfr=true

MOICE

在锁定系统上的转换器后,如果您决定要打开旧程序的文件——考虑使用 MOICE 来打开它。它将文件转换为 Office 2007 格式,并在隔离环境中进行,这使得恶意文件造成损害的可能性降低。阅读有关 MOICE 的更多信息并从此处下载:http://support.microsoft.com/kb/935865

我们希望本文能帮助您减少计算机的攻击面。

  • Kevin Brown,MSRC 工程 发布内容“按原样”提供,不提供任何保证,也不授予任何权利。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计