安全

An Introduction to Security in Windows 7

Chris Corio

这篇文章部分基于预发布的代码。 如更改,恕本文档所提及的所有信息。

概览:

  • Windows 生物特征的框架
  • 扩展身份验证配置文件
  • 转到的 BitLocker
  • UAC 的改进

内容

Windows 生物特征的框架
扩展身份验证协议
BitLocker 核心增强功能
转到的 BitLocker
UAC 的改进
AppLocker
全局 SACL 和详细的审核
向上覆盖

Windows Vista 引入了各种 Windows 生态系统有重大影响的新安全技术。 用户帐户控制进行其清除,Microsoft 希望方便而在管理员组运行 Windows 的用户。 BitLocker 引入 Windows 客户端的整卷加密。 保护的模式 Internet Explorer 帮助提高浏览 Internet 了更安全的体验。

继续 Windows 7 中 Microsoft 已执行其投资 Security 中添加新技术,以及在 Windows Vista 中引入的技术的许多增强。 此文章中, 我将概述新增安全功能和增强功能,您会发现 Windows 7 中。

Windows 生物特征的框架

Windows Vista 包括 Winlogon 体验的重新设计。 此体验中删除了 GINA (图形标识和身份验证) 基础结构,并添加凭据提供程序扩展模型。 凭据提供程序基础结构是一组第三方扩展用户输入凭据,周围的用户体验和它集成到公共的 Windows 凭据对话框时,允许一致性的接口。

Windows 7 Microsoft 已添加此新 Windows 生物特征 Framework (WBF)。 具有指纹读者更为普遍,它成为,则清除该定义一个公共框架的公开,管理,并使用这些技术所需驱动器开发和可靠性。 在 WBF 旨在使其更易于支持生物特征的身份验证的设备。 在 Windows 7 WBF 支持仅指纹读者,但可在以后扩展。

WBF 核心平台包括下列主要组件:

  • Windows 生物特征驱动程序接口 (WBDI)
  • Windows 生物特征的服务 (WBS)
  • WBF API
  • WBF 用户体验和集成点
  • WBF 管理

Windows 生物特征驱动程序接口 (WBDI) 旨在为生物特征设备中提供通用的驱动程序接口。 生物特征设备集成到生物特征框架包含各种提供适当的数据结构和 IOCTL (输入 / 输出控件) 的接口。 可以在任何包括 Windows 驱动程序模型、 内核模式驱动程序框架和用户模式驱动程序在通用驱动程序框架中实现了驱动程序框架 (UMDF)。 UMDF,但是,是可靠性的,生物特征设备的推荐驱动程序框架,因为它提供更高的用于 Windows 其他的优点,以防生物特征设备驱动程序中发生了崩溃。

Windows 生物特征的服务 (WBS) 是将一起关联 WBF 的关键组件。 WBS 生物特征设备驱动程序接口,并且还公开 Windows 生物特征 Framework API,允许应用程序与这些设备进行交互。

WBS 的一个重要的功能是它永远不会显示用户的实际生物特征数据到未经授权的应用程序。 此信息很重要中,因为一个的密码不同很之后的已损坏,将其生物特征的签名的人很难了。 相反,在 WBS 公开句柄 (通常是一个 GUID 或 SID),允许间接使用生物特征的数据的应用程序。

WBS 还管理生物特征的身份验证设备的池。 您可以控制如何生物特征设备使用此启用。 某些设备可用于任何凭据对话框出现登录提示或 UAC 提示。 是例如可以设置家长控制您的主系统上和在系统上需要提升权限,可以只是 swipe 手指提供提升。 此池的生物特征设备被称为系统池。 有两个其他池的设备。 没有专用池允许应用程序提供不与 Windows 身份验证基础结构集成的身份验证。 并且没有未分配的设备,您可能已猜到,适合不以前的两个池的池。

每个设备,设备池的一部分的实际通过使用称为生物特征的单元数据类的 WBS 离开抽象。 生物特征单位插入 WBS 的生物特征服务提供商 (BSP),实现策略和特定于一生物特征设备的行为。 生物特征单位允许提供任何功能特定的设备可能不支持,如存储指纹数据或设备的已获得指纹数据处理后的 BSP。

在 WBF 的该第三个的主要组件是也称为 WinBio * API,可供应用程序和用户模式组件用于直接与设备交互的 API 的一组。 这包括与设备交互原始的注册过程,用于获取用户的指纹和关联它与一个特定的用户帐户验证用户登录或 UAC 的任务中。 这些 API 还提供有关特定的生物特征设备和其特征的数据。 此外,WBF API 可进行扩展以允许与特定的设备的专用方面进行交互的应用程序。

在 WBF 公开了两种配置生物特征设备使用的主要方法。 对于最终用户没有在几个位置公开一个控制面板小程序。 您可以找到生物特征设备控制面板在硬件和声音。 从该位置,用户可以启动第三方指纹管理应用程序。 Windows 7 不能提供一个内置的指纹管理应用程序,因此任何第三方供应商或 OEM 将必须编写自己。 (请注意 Windows 生物特征框架支持本地和域登录,以及通过内置生物特征识别技术凭据提供程序的指纹基于 UAC。

此外可以通过组策略管理 Windows 生物特征框架。 管理员可以启用或禁用在整个的 Framework 以及管理内容类型的登录可以生物特征识别技术 (对于可以以不同方式配置示例、 本地和域登录)。

扩展身份验证协议

Windows 7 增强家庭和小型网络体验了一项名为 Homegroup 的功能。 用户可以共享如在家中的计算机之间的媒体文件的数据,并使用联机 ID 进行身份验证这些计算机之间。 用户必须显式将其Windows 用户帐户链接到工作联机 ID 为了使此功能。 由称为公用基于密钥的用户到用户的新协议或 PKU2U 启用身份验证。

Windows 7 还扩展了协商身份验证包 Spnego.dll。 SpNego 是决定进行身份验证时应该使用哪个身份验证协议的功能。 Windows 7 之前它通常是 Kerberos 和 NTLM (Windows 质询/响应) 之间选择。 NegoEx 扩展名视为 Windows 身份验证协议,并支持两个 Microsoft 安全支持提供程序: PKU2U 和 Live。 也的扩展,以便其他安全支持提供程序的开发。

这两个这些功能工作连接到另一台计算机在该 Homegroup 使用联机 ID。 当一台计算机连接到另一个时,协商扩展将调用 PKU2U 安全支持提供程序在登录计算机上。 PKU2U 安全支持提供程序获得证书从证书颁发机构策略引擎,和交换对等计算机之间策略 (与其他元数据)。 验证对等计算机上时, 则证书发送到登录对等端进行验证,用户的证书被映射到一个的安全令牌并登录过程完成后。

BitLocker 核心增强功能

与 Windows Vista Microsoft 引入了 BitLocker。 这是一个整卷加密解决方案,旨在保护便携式计算机和分支办公室服务器,如的桌面计算机上数据,即使计算机丢失或属于错误的指针。 在 Windows 7 许多增强功能对进行了管理的 BitLocker。 这些包括一致强制通过所有接口 (在用户界面、 在管理 bde 命令行工具和 WMI 提供程序) 和分隔组策略设置为固定的数据驱动器。 还有可以更新您的密码,并与在非操作系统的驱动器上的智能卡集成的新组策略设置,并且可以还更改行为与自动解除锁定。

在 Windows Vista 中发生了一下被难分区准备 BitLocker 安装该操作系统驱动器的投诉,尤其是当在已安装操作系统。 此问题已得到解决的两个 Windows 7 中的增强功能。 首先,Windows 7 安装过程中的默认,用户将获得一个单独的活动系统分区,需要能够操作系统驱动器上的 BitLocker。 这样可以消除在许多环境所需的第二个步骤。 此外,您可以一个驱动器分区的 BitLocker 作为 BitLocker 安装如果已经没有单独的系统分区 (请参见 图 1 )。。

fig01.gif

图 1 准备 BitLocker 的驱动器

转到的 BitLocker

最明显的和最重要的新增功能之一是转,BitLocker,设计用于保护可移动的数据驱动器上的数据。 它允许您将 BitLocker 驱动器加密配置 USB 闪存驱动器和外部硬盘驱动器上。 设计目标转调用该功能易于使用,它适用于现有驱动器,BitLocker 为允许进行的数据,如有必要,恢复,并启用要在 Windows Vista 和 Windows XP 的系统上可用数据。

提供了许多管理增强功能,利用此功能的 IT 经理。 最值得注意,则是可以只,除非它们用转的 BitLocker 加密配置为已读的可移动驱动器在新组策略设置。 这是一个极好步骤前确保 USB 闪存驱动器方向由员工时保护关键的公司数据。

此外值得注意是能够从任何 BitLocker 转设备无法访问该数据时恢复数据。 这种技术称为一个数据故障恢复代理将从加密的文件系统 (EFS) 功能移植,并允许使用密钥由企业在便携驱动器上的简单恢复公司数据。

获取 BitLocker 转从事 Windows XP 和 Windows Vista 的功能需要某些 reengineering 核心 BitLocker 功能。 为此,团队重构的 BitLocker 保护 FAT 卷的方法。 BitLocker 行为已修改到物理、 原始卷上覆盖"发现卷"和虚拟化被覆盖的块。 发现卷包含 BitLocker 转读取器以及自述文件。 这称为混合 BitLocker 的驱动器。 情况默认,FAT 驱动器加密时, 将创建混合 BitLocker 驱动器。 发现驱动器是 Windows XP 和 Windows Vista 操作系统上的仅可见的。

读卡器也可从 Microsoft 下载中心发布 Windows 7 后。 应用程序提供只读的对使用密码密钥保护程序的 BitLocker 驱动器的访问。 请注意使用 BitLocker 转读取器时该智能卡身份验证不可用。

UAC 的改进

用户帐户控制 (UAC) 是一种通常 misunderstood 的技术。 第一次关闭的实际功能而不是一个提示的集合。 这些功能包括文件和注册表重定向、 安装程序检测、 UAC 提示、 ActiveX 安装程序服务,等。 这些功能全部旨在为允许使用不是在管理员组的成员的用户帐户运行的 Windows 用户。 这些帐户通常称为标准用户,大致介绍与使用最低权限运行。 密钥是当用户运行与标准用户帐户时, 体验是通常得多的安全性和可靠性。

许多开发人员已经启动针对他们的应用程序能够很好地适用于标准的用户。 公司现在具有更清晰路径向部署标准用户帐户,允许这些公司可以减少支持费用和其计算机的整体的 TCO (总拥有成本)。 在的主页中系列可用于标准用户帐户以及使用家长控制的孩子的创建更安全的环境。

Windows 7 包含以改善标准用户的体验的许多增强功能,并新的配置设置提供用户帐户控制提示在管理员批准模式下运行时的更多控制。 目标是以继续,使得清除以独立软件供应商应将针对默认安全上下文都是标准用户的同时提高可用性。 在实践,这些更改意味着用户不提示输入 Windows 7 中的常见管理任务。 这是显示"通知我当在程序尝试对计算机进行更改时,仅"的设置。

在此工作是相当简单。 过程创建,过程中查看如果启用此设置检查该策略。 如果所创建的过程是通过检查为其签名,Windows 编录文件验证的 Windows 的一部分过程将会创建不提示。 此设置不会提示更改 Windows 设置时,但而使您能够集中管理更改请求非 Windows 的应用程序 (如安装新软件)。 为用户提供需要更高版本的控件不在其他的通知频繁,更改 Windows 设置此设置将导致较少的总体提示,并允许为零中剩余看的通知在项上的用户。

其他重要更改是几个组件不再需要管理员权限。 例如,是否应将高 DPI 模式一个常用的功能中显示其桌面,为计算机屏幕上获得更大,并像素大小获取较小,可以配置用户。 另一个示例是标准用户现在可以重置实际登录到计算机时网络连接,一个常见的请求 Microsoft 有听到从家庭用户和企业。

fig02.gif

图 2 安装 ActiveX 控件时的用户帐户控制

减少提示也意味着简化在多个提示遇到单个用户操作的区域。 在 Windows 7 对于是实例在 Internet Explorer 中安装 ActiveX 控件是更平滑。 Windows Vista 上 Internet Explorer 7 会创建 IEInstal.exe 进程来执行 ActiveX 控件的安装。 这导致 UAC 提示,询问要"安装添加一个 IE"使用管理员权限来运行。 此提示没有提供有关完全什么正在安装的多上下文,并 Internet Explorer 会立即提示您批准特定的控件。 在与 Internet Explorer 8 的 Windows 7 安装过程已修改为使用 ActiveX 安装程序服务将提取 ActiveX 控件的出版商信息并显示该期间的安装体验 (请参见 图 2 )。 新的方法还会删除 ActiveX 控件安装过程中的第二个提示。

AppLocker

可以控制哪些应用程序在的用户或组用户,可以运行提供了大量增加可靠性和安全性的企业桌面。 总体,应用程序锁定策略可以降低企业中的计算机总体拥有成本。 Windows 7 添加 AppLocker,一项新功能,控制应用程序执行,并使其更易于编写企业应用程序锁定策略。

Durga Prasad Sayana,我讨论一文中的最后一年的安全问题中的应用程序锁定策略" 使用软件限制策略的应用程序锁定." 文章中, 我们将详细许多创建这样的策略时,企业必须克服的挑战。 某些这些难题包括:

  • 了解您的环境中使用的软件
  • 了解各个用户的应用程序应允许运行
  • 了解如何创作所需的策略
  • 确定是否在策略将正常部署时

为解决这些障碍,AppLocker 提供可以审核应用程序锁定策略将如何工作的一个新方法。 它可以控制用户运行所有类型的应用程序的方式,可执行文件,脚本、 Windows Installer 文件和 DLL。 它提供新的应用程序锁定策略基元更具体并不受中断如轻松地在更新应用程序时。 Windows 7 还包括对旧的软件限制策略 (SRP) 规则中的支持,但没有新的 AppLocker 规则,Windows XP 和 Windows Vista 上不支持。

在强制模式所有之上 AppLocker 的基础强制 appid.sys 驱动程序中实现的代理实现。 此驱动程序能够有内核模式规则检查这样的事件过程创建和 DLL 加载。 强制实现用户模式的应用程序,使用旧的 SaferIdentifyLevel API 来确定是否可以运行应用程序。 但是,安全 IdentifyLevel 将立即手动强制检查通过一个服务以执行二进制文件和策略的实际的验证。 这是旧版的软件限制策略功能上的重大的体系结构改进。

AppLocker 为了便于 IT 专业人员编写一组简单的 Express 的所有允许运行并确保规则的应用程序更新具有复原性的应用程序的规则。

若要创作 AppLocker 策略,新的 AppLocker MMC 管理单元 UX 中没有提供了不可思议的改进创建 AppLocker 规则的过程中的在组策略对象编辑器管理单元 UX。 没有一个向导,可以创建单个的规则,并基于您的规则首选项和您选择的文件夹,另一个向导将自动生成的规则 (参见 图 3 )。

fig04.gif

图 3 自动生成规则 AppLocker 策略

您可以查看分析这些文件和为其在创建的规则之前将它们删除列表。 可以甚至获取有用的统计信息有关频率文件已被阻止或测试给定的计算机的 AppLocker 策略。

在以前的软件限制策略它是特别难创建了安全,但也不会中断软件更新的策略。 这是由于缺乏粒度证书规则,并会破坏应用程序二进制的哈希规则的 fragility 已更新。 若要解决此问题,AppLocker 可以编写一个规则,结合证书和产品名称、 文件的名称和文件版本。 这使得易于指定任何已按特定的供应商特定的产品名称可以运行。

AppLocker 策略在 Windows 7 具有其他好处,也,包括执行的不同类型之间的分离 (即 EXE、 DLL 和 MSI 或脚本主机)。 这些文件类型适合称为规则集的四个存储桶,并为每个单独配置执行。 是例如管理员可以在不启用检查脚本文件的情况下启用 AppLocker 检查可执行文件。

AppLocker 策略存储 HKLM\Software\Policies\Microsoft\Windows\SrpV2 项下。 该策略以 XML 格式存储,并将转换应用程序标识 (AppID) 服务。 在处理策略时 appid.sys 驱动程序通过在 IOCTL_SRP_POLICY 服务通知新的策略,并将驱动程序将重新加载的策略。

在第一个任务,您的 IT 环境接近更改时是评估环境当前的工作方式。 然后您可以仔细规划和测试任何更改,以确保可以顺利地实现。 这是审核唯一强制模式的目的。

审核应用程序锁定者策略的实施是非常重要。 这不仅会让您之前它的执行,但它还能够在观看如何将策略执行在其生命测试策略。 您想确实想要知道是否某一用户组需要在某个点工作的应用程序。 这可以确定连接到系统,然后检查 AppLocker 审核信息以查看是否应用程序锁定策略已阻止特定的应用程序运行。

主要的通道的 AppLocker 事件位于应用程序和服务日志可以查看事件查看器 (eventvwr.msc) 应用程序中。 要查看这些日志条目,查找 EXE 和 DLL 和 MSI 和脚本日志中的在 Microsoft\Windows\AppLocker\ 事件通道。 可以生成许多不同事件,包括是否应用程序被允许或阻止,以及是否应用了策略到系统。

DNSSec 验证

在过去的几年与 DNS 相关利用已成为 Internet 上更常见的问题。 没有更好地理解如何有害 DNS 服务器,并且攻击者启动将使用该信息。 什么这意味着用户可以有可能访问 Web 站点并不是绝对确保他不访问的是不同的、 恶意的网站。

Windows Server 2008 R 2 和 Windows 7 引入 DNSSEC 的根据当前的标准 (RFC 4033、 RFC 4034 和 RFC 4035) 的支持。 Windows Server 2008 R 2 将使 DNS 服务器能够提供颁发机构和数据完整性项目的来源。 基本,服务器将能够将数字签名附加到响应中的 DNS 数据,以及验证从其他 DNS 服务器接收到的数据。

Windows 7 是第一个的客户端操作系统,将允许客户端验证 DNS 服务器与它也进行安全通信,并验证该服务器已执行的代表的 DNSSEC 验证所需的代码段。 此技术当前进行测试以确保最大的兼容性与当前的 Internet 基础结构,并且旨在连续在起作用在将来保护 DNS 数据。

全局 SACL 和详细的审核

Windows 7 扩展了上一个审核机制提供了新的功能,让您管理用户而不是只是对象的审核,并提供的文件对象的有关 AccessCheck 将失败的更多信息。 这使新的审核方案,并提供与审核重要的模式更改。

在其他版本的 Windows 中,确定是否审核对象访问基于对象的安全描述符是否包含指定它应该被审核的 SACL 的访问控制项 (ACE)。 这使得很容易监视特定的注册表项或文件,以查看内容访问已出现该对象。 遗憾的是,要监视特定用户正在访问没有方法。 如果您希望这种情况下,您就可能需要打开用户可能与进行交互,并因此资源的任何用户的每个访问将中结束此审核日志每个资源的审核。

要捕获用户可以访问宽度足够数据集上启用审核是一个非常 arduous 的过程。 每个资源需要更新以包括 SACL 中的审核策略,并且对此策略任何更改都将需要更新的每个 SACL。 引入克服此限制,Windows 7 了全局对象访问审核的由 auditpol.exe 管理和配置使用组策略。

全局 Ojbect 访问审核包括"全局 SACL"的是使用与审核的其他数据存储在注册表中一个 SDDL 字符串。 两个新 API 已添加到管理全局 SACL: AuditSetGlobalSacl 和 AuditQueryGlobalSacl。 更新全局 SACL 需要将 SeSecurityPrivilege 防止全局 SACL 由没有管理员特权的用户更新的。

安全审核 Windows 7 中也能够了解为什么访问某个对象失败或成功完成。 如果您是调试应用程序失败或尝试了解您的安全策略是否有效,这是重要的信息。 全局对象访问审核功能和其他访问审核数据包含是在一个新内核模式安全 API,SeAccessCheckEx 中实现的。 两个资源经理使用此 API 将 NTFS 和详细的文件共享在 Windows 7 以及何时启用,API 将在审核日志中的信息有关的访问尝试成功或失败的原因。 因此这些功能现在对文件系统和文件共享,并可扩展到其他资源管理器在将来版本的 Windows。

向上覆盖

Windows 7 使新的方案和使用 Windows 了更安全的体验。 许多这些功能以安全为中心对用户体验 (用于家庭用户、 业务用户和 IT 专业人员),并允许 Windows 7 系统能够更好。

五年以上, Chris Corio 是 Microsoft Windows 安全团队的成员。 在 Microsoft 他主要焦点是应用程序安全技术和管理技术,用于保护 Windows。 您可以访问在 Chris winsecurity@chriscorio.com.