使用智能应用控制策略生成初学者策略

注意

适用于企业的 App Control 的某些功能仅适用于特定 Windows 版本。 详细了解 应用控制功能可用性

本文介绍如何使用智能应用控制策略作为模板创建适用于企业的应用控制策略。 智能应用控制 是基于应用控件的安全解决方案,专为消费者用户设计。 它使用与适用于企业的应用控制相同的技术,因此可以轻松地将其用作同样可靠但灵活的企业策略的基础。

提示

Microsoft建议将本文中创建的策略作为大多数最终用户设备应用控制部署的理想入门策略。 通常,如果刚接触应用控制的组织从本文所述的宽松策略开始,则它们最成功。 可以随着时间的推移强化策略,以在应用控制管理的设备上实现更强大的整体安全态势,如后续文章中所述。

正如我们 在不同方案中部署适用于企业的 App Control 中所做的那样,让我们使用 Lamna Healthcare Company (Lamna) 的虚构示例来说明此方案。 Lamna 打算采用更强大的应用程序策略,包括使用应用控制来防止不需要或未经授权的应用程序在其托管设备上运行。

Alice Pena (她/她的) 是负责推出应用控制的 IT 团队主管。 Lamna 目前放宽了应用程序使用策略,并为用户提供了最大的应用灵活性文化。 因此,Alice 知道他们需要对应用控制采取增量方法,并可能对不同的用户段使用不同的策略。 但目前,Alice 想要一个无需进行任何修改即可覆盖大多数用户的策略,智能应用控制针对 Lamna 改编的“已签名 & 信誉良好”策略。

分析智能应用控件的“信任圈”如何适合你

Alice 遵循 规划应用控制策略生命周期管理一文中的指导,首先分析智能应用控制策略的“信任圈”。 Alice 阅读了Microsoft有关智能应用控制的在线帮助文章,以便更好地理解它。 从该阅读内容中,Alice 了解到智能应用控制仅允许智能 安全图 (ISG) 预测的公开受信任的已签名代码或未签名代码。 公开受信任的签名代码意味着签名证书的颁发者是Microsoft受信任的根计划中 (CA) 的证书颁发机构之一。 如果 ISG 无法预测代码可安全运行,则会阻止未签名的代码运行。 并且始终会阻止确定为不安全的代码。

现在,Alice 考虑如何调整策略以供 Lamna 使用。 Alice 希望创建一个尽可能宽松的初始策略,但仍提供持久的安全值。 拉姆纳的一些人主张采取比爱丽丝计划更激进的方法。 他们希望立即锁定最终用户的设备,并希望有限的后果。 但领导团队同意 Alice,即 Lamna 的应用文化,随着时间的推移慢慢形成,不会在一夜之间消失,因此最初的政策需要很大的灵活性。

考虑组织的关键因素

爱丽丝接下来确定了影响公司“信任圈”的拉姆纳环境的关键因素。该策略必须灵活,以满足短期和中期业务的需求。 这让 Lamna 有时间引入新的应用管理流程和策略,使其适用于将来限制性更高的应用控制策略。 关键因素还有助于 Alice 选择要在第一次部署中包含哪些系统。 Alice 在规划文档中写下了这些因素:

  • 用户权限: 大多数用户都是标准用户,但近四分之一的用户在其设备上拥有本地管理员权限,并且选择运行他们选择的任何应用是一个主要因素。
  • 作系统:Windows 11运行大多数用户设备,但 Lamna 预计大约 10% 的客户端在下一个财政年度Windows 10,特别是在较小的卫星办公室。 Lamna 的服务器和专用设备目前在范围外。
  • 客户端管理:Lamna 对所有部署为云原生Microsoft Entra Windows 11设备使用Microsoft Intune。 对于部署为Microsoft Entra混合联接的大多数Windows 10设备,他们继续使用 Microsoft Endpoint Configuration Manager (MEMCM) 。
  • 应用管理: Lamna 在其业务部门中拥有数百个业务线 (LOB) 应用。 Alice 的团队使用 Intune 部署这些应用中的大多数(但不是全部)。 小型团队(包括许多“影子 IT”应用)使用的长尾应用没有官方章程,但对使用它们的员工至关重要。
  • 应用开发和代码签名: Lamna 业务部门在开发平台和框架上没有标准化,因此可能会存在显著的可变性和复杂性。 几乎所有应用都使用未签名或大多数未签名的代码。 尽管该公司现在需要代码签名,但 Lamna 的编码证书来自其公司公钥基础结构 (PKI) ,并且需要策略中的自定义规则。

为较轻管理的设备定义“信任圈”

基于这些因素,Alice 为 Microsoft 的已签名 & 信誉策略的 Lamna 版本编写伪规则:

  1. “Windows 和 Microsoft 认证的内核驱动程序” 一个或多个签名者规则允许:

    • Windows 及其组件。
    • 由 Windows 硬件质量实验室 (WHQL) 证书颁发机构签名的内核驱动程序。
  2. “公共信任的已签名代码” 一个或多个签名者规则允许:

    • 使用参与Microsoft受信任根计划的任何证书颁发机构颁发的证书 ( “AuthRoot”) 或Microsoft签名的非 OS 代码进行签名的代码。
  3. Lamna 签名的代码 一个或多个签名者规则允许:

    • 由 Lamna Codeigning 专用证书颁发机构颁发的证书所签名的代码 (PCA) (从自己的内部 PKI 颁发的中间证书)。
  4. 基于应用的“信誉”允许应用 允许:

    • ISG 预测为“安全”的应用。
  5. 允许托管安装程序 允许:

    • 由策略指定为托管安装程序的进程写入系统的代码。 对于 Lamna 的托管安装程序策略,Alice 包括 Intune 管理扩展,以及广泛使用的应用的已知自动更新进程。 Alice 还包括文件路径规则“D:\ Lamna Helpdesk*”,其中 Lamna 的技术支持管理员接受培训,以复制用于修复用户应用和系统的应用安装程序和脚本。
  6. 仅管理员路径规则 以下位置的一个或多个文件路径规则:

    • “C:\Program Files*”
    • “C:\Program Files (x86) *”
    • “%windir%*”
    • “D:\Lamna Helpdesk*”

修改组织的“已签名 & 信誉良好”策略模板

Alice 从 https://aka.ms/appcontrolwizard 下载应用控制策略向导并运行它。

  1. “欢迎”页上,Alice 看到三个选项:策略创建者策略编辑器策略合并。 Alice 选择 策略创建者 ,将她带到下一页。

  2. “选择策略类型”中,Alice 必须选择是创建 多策略格式 还是 单策略格式 策略。 由于所有最终用户的设备都运行Windows 11或当前版本的Windows 10,Alice 将保留默认的“多策略格式”。 同样, 在“基本策略” 和“ 补充策略 ”之间进行选择也很简单,此处也保留选择默认 基本策略 。 Alice 选择 “下一步” 以继续。

  3. 下一页是 Alice 为策略选择基本模板的位置。 应用控制向导提供了三个模板策略,可在创建新的基本策略时使用。 每个模板策略应用略有不同的规则来更改策略的信任圈和安全模型。 这三个模板策略是:

    显示为策略选择基本模板的屏幕截图。

    模板基本策略 描述
    默认 Windows 模式 默认 Windows 模式授权以下组件:
    • Windows作系统组件 - 全新安装 Windows 安装的任何二进制文件
    • 由 Microsoft Store MarketPlace 签名者签名的 MSIX 打包应用
    • Microsoft Office365 应用、OneDrive 和 Microsoft Teams
    • WHQL 签名的驱动程序
    允许Microsoft模式 允许Microsoft模式授权以下组件:
    • 默认 Windows 模式允许的所有代码,以及...
    • 所有Microsoft签名的软件
    已签名和信誉模式 已签名和信誉模式授权以下组件:

    Alice 选择 “已签名和可信誉模式 ”模板,然后选择“ 下一步”,接受策略文件名和位置的默认值。

  4. “配置策略模板 - 策略规则”中,Alice 查看为策略启用的选项集。 模板已设置Microsoft建议的大多数选项。 Alice 所做的唯一更改是检查托管安装程序需要 WHQL 的选项。 这样,将自动允许Intune安装的应用或任何其他托管安装程序,并且只有为Windows 10或更高版本构建的内核驱动程序才能运行。 选择“ 下一步 ”可推进向导。

  5. 文件规则” 页显示“已签名和信誉良好”模式模板策略中的规则。 Alice 添加了“签名者”规则以信任 Lamna 签名的代码,以及文件路径规则,以允许在两个 Program Files 目录(Windows 目录和 Lamna 的 Helpdesk 文件夹)下的仅限管理员可写入的位置执行代码。

    若要创建每个规则,Alice 选择“ + 添加自定义 ”,这将打开“ 自定义规则 ”对话框,其中定义了规则的条件。 对于第一个规则, “规则范围 ”和“ 规则作” 的默认选择是正确的。 对于“ 规则类型 ”下拉列表, “发布者 ”选项是创建签名者规则的正确选择。 然后,Alice 选择“ 浏览 ”,并选择由 Lamna Codesigning PCA 颁发的证书签名的文件。 向导显示从资源标头部分拉取的签名信息和信息, (RSRC) 文件,如 产品名称原始文件名 以及每个元素的复选框。 在这种情况下,由于他们打算允许所有使用 Lamna 的内部代码签名证书进行签名,因此 Alice 只检查 颁发 CA发布服务器 。 使用 Lamna Codesigning PCA 规则集的规则条件,Alice 选择 “创建规则” ,并看到该规则包含在列表中。 Alice 对 Lamna 的其余自定义规则重复这些步骤。

    显示自定义文件发布文件规则创建的屏幕截图。

  6. 现在,已完成伪规则中所述的所有编辑,Alice 选择 “下一步 ”,向导将创建应用控制策略文件。 输出文件包括策略的 XML 窗体和编译的二进制形式。 Alice 对 XML 策略文件执行粗略检查,以确认结果看起来良好,然后关闭向导。

Alice 将这两个文件上传到专门为 Lamna 的应用控制策略文件创建的 GitHub 存储库。

Alice 的初学者策略现已准备好在审核模式下部署到 Lamna 的托管设备。

此策略的安全注意事项

为了尽量减少对用户工作效率产生负面影响的可能性,Alice 定义了一个策略,该策略在安全性和用户应用灵活性之间做出多项权衡。 一些权衡包括:

  • 具有管理访问权限的用户

    这种权衡是影响最大的安全权衡。 它允许设备用户或以用户权限运行的恶意软件修改或删除设备上的应用控制策略。 此外,管理员可以将任何应用配置为充当托管安装程序,这将允许他们获得针对所需的任何应用或二进制文件的持久应用授权。

    可能的缓解措施:

    • 若要防止篡改应用控制策略,请在运行统一可扩展固件接口 (UEFI) 固件的系统上使用已签名的应用控制策略。
    • 若要消除信任托管安装程序的需要,请在常规应用部署和应用更新过程中创建和部署已签名的目录文件或部署更新的策略。
    • 若要控制对其他公司资源和数据的访问,请使用受信任的计算组的应用控制配置状态的启动时间度量 (TCG) 日志和设备证明。
  • 未签名的策略

    以管理员身份运行的任何进程都可以替换或删除未签名的策略,而不会造成后果。 同样,未签名的补充策略可以更改包含选项 17 Enabled:Allowal Policies 的未签名基本策略的“信任圈”。

    可能的缓解措施:

    • 若要防止篡改应用控制策略,请在运行 UEFI 固件的系统上使用已签名的应用控制策略。
    • 若要将风险降到最低,请限制谁可以提升到设备上的管理员。
  • 托管安装程序

    请参阅 托管安装程序的安全注意事项

    可能的缓解措施:

    • 若要消除信任托管安装程序的需要,请在常规应用部署和应用更新过程中创建和部署已签名的目录文件或部署更新的策略。
    • 若要将风险降到最低,请限制谁可以提升到设备上的管理员。
  • 智能安全图 (ISG)

    请参阅 智能安全图的安全注意事项

    可能的缓解措施:

    • 若要消除信任 ISG 的需要,请对现有应用使用情况和安装执行全面审核。 载入你发现的任何应用当前未管理到软件分发解决方案,例如Microsoft Intune。 实施策略,要求应用由 IT 管理。 然后,从 ISG 过渡到托管安装程序、已签名的目录文件和/或更新的策略规则,并将其部署为常规应用部署和应用更新过程的一部分。
    • 若要收集更多用于安全事件调查和事后评审的数据,请在审核模式下部署高度严格的应用控制策略。 应用控制事件日志中捕获的数据包含有关所有运行且未经过 Windows 签名的代码的有用信息。 若要防止策略影响设备性能和功能,请确保它至少允许在启动过程中运行的 Windows 代码。
  • 补充策略

    补充策略旨在扩展基本策略定义的“信任圈”。 如果基本策略也是未签名的,则以管理员身份运行的任何进程都可以放置未签名的补充策略,并无限制地扩展基本策略的“信任圈”。

    可能的缓解措施:

    • 使用仅允许经过授权的已签名补充策略的已签名应用控制策略。
    • 使用限制性审核模式策略来审核应用使用情况并增强漏洞检测。
  • FilePath 规则

    查看 有关文件路径规则的详细信息

    可能的缓解措施:

    • 限制谁可以提升到设备上的管理员。
    • 从文件路径规则转换为托管安装程序或基于签名的规则。
  • 已签名的恶意软件

    代码签名本身不是安全解决方案,但它确实提供了两个关键的构建基块,使应用控制等安全解决方案成为可能。 首先,代码签名将代码与实际标识紧密关联...而现实世界的标识可能面临对未签名恶意软件负责的无名阴影人物所不承担的后果。 其次,代码签名提供加密证明,证明自发布者对代码进行签名后,正在运行的代码将保持未采样状态。 需要对所有代码进行签名或策略显式允许的应用控制策略会增加攻击者的赌注和成本。 但是,有动机的攻击者仍然有办法让他们的恶意代码进行签名和信任,至少在一段时间内是这样的。 即使软件来自可信来源,也不表示运行是安全的。 任何代码都可以公开恶意参与者可能利用自身恶意的强大功能。 漏洞可能会将最良性的代码变成真正危险的代码。

    可能的缓解措施:

    • 使用具有实时保护的信誉良好的反恶意软件或防病毒软件(例如Microsoft Defender),保护设备免受恶意文件、广告软件和其他威胁的影响。