Windows 10 Technical Preview 添加了阻止不受信任的字体的功能

本文介绍阻止 Windows 10 Technical Preview 不受信任的字体的新功能。 在使用该功能之前,可以看到 功能简介功能 部分的潜在减少。 然后, 按照步骤配置该功能

适用于:Windows 10 - 所有版本
原始 KB 数: 3053676

阻止不受信任的字体功能

由于字体使用复杂的数据结构,可以嵌入到网页和文档中,因此它们容易受到特权提升(EOP)攻击的攻击。 EOP 攻击意味着恶意黑客可以在用户共享文件或浏览 Web 时远程访问用户的计算机。 为了增强对这些攻击的安全性,我们创建了一项功能来阻止不受信任的字体。 使用此功能,可以打开一个全局设置,该设置可阻止用户加载图形设备界面(GDI)处理的不受信任的字体。 不受信任的字体是在目录外部 %windir%/Fonts 安装的任何字体。 阻止不受信任的字体功能有助于阻止在字体文件分析过程中发生的远程(基于 Web 或基于电子邮件)和本地 EOP 攻击。

此功能的工作原理

有三种方法可以使用此功能:

  • 打开。 帮助停止使用 GDI 处理的任何字体,并将其安装在目录外部 %windir/Fonts% 。 它还会打开事件日志记录。

  • 审核。 启用事件日志记录,但不会阻止字体加载,而不考虑位置。 使用不受信任的字体的应用程序的名称将显示在事件日志中。

    注意

    如果尚未准备好在组织中部署此功能,则可以在审核模式下运行此功能,以查看是否不加载不受信任的字体会导致任何可用性或兼容性问题。

  • 排除应用以加载不受信任的字体。 可以排除特定应用程序。 它允许他们加载不受信任的字体,即使启用该功能。

功能的潜在减少

启用此功能后,用户在以下情况下可能会遇到功能降低的情况:

  • 将打印作业发送到使用此功能的共享打印机服务器,以及未排除后台处理程序进程的位置。 在这种情况下,不会使用服务器 %windir%/Fonts 文件夹中尚不可用的任何字体。

  • 使用已安装打印机的图形.dll文件(文件夹外 %windir%/Fonts )提供的字体进行打印。 有关详细信息,请参阅 打印机图形 DLL 简介。

  • 使用使用基于内存的字体的第一方或第三方应用。

  • 使用 Internet Explorer 查看使用嵌入字体的网站。 在这种情况下,此功能会阻止嵌入的字体,导致网站使用默认字体。 但是,并非所有字体都具有所有字符,因此网站可能以不同的方式呈现。

  • 使用桌面 Office 查看嵌入字体的文档。 在这种情况下,使用 Office 选取的默认字体显示内容。

如何打开和使用该功能

若要打开、关闭或使用审核模式,请使用以下方法之一。

使用组策略

  1. 打开本地组策略编辑器。
  2. 在“本地计算机策略”下,展开“计算机配置”,展开“管理模板”,展开“系统”,然后单击“缓解选项”。
  3. “不受信任的字体阻止 ”设置中,可以看到以下选项:
    • 阻止不受信任的字体和日志事件
    • 不要阻止不受信任的字体
    • 记录事件而不阻止不受信任的字体

使用注册表编辑器

  1. 打开注册表编辑器(regedit.exe),并转到以下注册表子项:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel\

  2. 如果 MitigationOptions 密钥不存在,请右键单击并添加新的 QWORD (64 位) 值,将其命名为 MitigationOptions

  3. 更新 MitigationOptions 密钥的值数据,并确保保留现有值,如下所示:

    • 若要启用此功能,请键入 10000000000000。
    • 若要关闭此功能,请键入 20000000000000。
    • 若要使用此功能进行审核,请键入 30000000000000。

    重要

    更新期间应保存现有的 MitigationOptions 值。 例如,如果当前值为 1000,则更新后的值应1000000001000。

  4. 重新启动计算机。

查看事件日志

启用此功能或开始使用审核模式后,可以检查事件日志以了解详细信息。

检查事件日志

  1. 打开事件查看器(eventvwr.exe),并转到以下路径:

    应用程序和服务日志/Microsoft/Windows/Win32k/Operational

  2. 向下滚动到 EventID:260 并查看相关事件。

    • 事件示例 1 - Microsoft Word

      注意

      由于 FontType 为 Memory,因此没有关联的 FontPath。

    • 事件示例 2 - Winlogon

      注意

      由于 FontType 为 File,因此也存在关联的 FontPath。

    • 事件示例 3 - 在审核模式下运行的 Internet Explorer

      注意

      在审核模式下,将记录问题,但字体不会被阻止。

修复因字体被阻止而出现问题的应用

用户可能仍然需要因字体被阻止而出现问题的应用,因此我们建议你首先在审核模式下运行此功能,以确定导致问题的字体。 找出有问题的字体后,可以通过以下两种方式之一尝试修复应用:将字体直接安装到 %windir%/Fonts 目录中,或者排除基础进程并让字体加载。 作为默认解决方案,强烈建议安装有问题的字体。 安装字体比排除应用更安全,因为排除的应用可以加载任何字体、受信任或不受信任的字体。

在安装了应用的每台计算机上,右键单击字体名称,然后单击“ 安装”。

字体应自动安装到目录中 %windir%/Fonts 。 如果没有,则必须手动将字体文件复制到 Fonts 目录中,并从该目录中运行安装。

通过排除进程来修复应用

  1. 在安装了应用的每台计算机上,打开注册表编辑器并转到以下注册表子项:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\<Process_Image_Name>

    例如,如果要排除 Microsoft Word 进程,则可以使用 HKEY_LOCAL_MACHINE\ Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Winword.exe

  2. 如果 MitigationOptions 密钥不存在,请右键单击并添加新的 QWORD (64 位) 值,将其命名为 MitigationOptions

  3. 为该过程所需的设置添加值:

    • 若要启用此功能,请键入 10000000000000。
    • 若要关闭此功能,请键入 20000000000000。
    • 若要使用此功能进行审核,请键入 30000000000000。

    重要

    更新期间应保存现有的 MitigationOptions 值。 例如,如果当前值为 1000,则更新后的值应1000000001000。

  4. 添加需要排除的任何其他进程,然后使用“修复应用”中 通过排除进程 部分提供的步骤打开字体阻止。