你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用自动化规则在 Microsoft Sentinel 中自动响应威胁

本文介绍什么是 Microsoft Sentinel 自动化规则,以及如何使用它们来实现安全业务流程、自动化和响应 (SOAR) 操作,从而提高 SOC 的有效性并节省时间和资源。

重要

Microsoft Sentinel 作为 Microsoft Defender 门户中统一安全运营平台的公共预览版的一部分提供。 有关详细信息,请参阅 Microsoft Defender 门户中的 Microsoft Sentinel

什么是自动化规则?

自动化规则是一种在 Microsoft Sentinel 中集中管理自动化的方法,它允许你定义并协调一小组可应用于不同场景的规则。

自动化规则适用于以下类别的用例:

  • 在不使用 playbook 的情况下执行用于事件处理的基本自动化任务。 例如:

    • 添加事件任务,供分析师遵循。
    • 抑制干扰事件。
    • 通过将新事件的状态从“新建”更改为“活动”并分配所有者,对新事件进行分类。
    • 标记事件以对其进行分类。
    • 通过分配新的所有者来升级事件。
    • 关闭已解决的事件,指定原因并添加注释。
  • 一次自动对多个分析规则进行响应。

  • 控制所执行的操作的顺序。

  • 检查事件的内容(警报、实体和其他属性),并通过调用 playbook 采取进一步的操作。

  • 自动化规则也可以是为了响应与事件无关的警报而运行 playbook 的机制。

简而言之,自动化规则简化了 Microsoft Sentinel 中自动化的使用,使你能够简化威胁响应业务流程的复杂工作流。

组件

自动化规则由多个组件组成:

  • 触发器,用于定义哪种类型的事件将导致规则运行,具体取决于...
  • 条件,将确定规则运行和执行的确切情况...
  • 操作,以某种方式更改事件或调用 playbook

触发器

创建或更新事件时或创建警报时将触发自动化规则。 复习一下,事件包括警报,并且警报和事件都由分析规则创建,分析规则有多种类型,如使用 Microsoft Sentinel 中的内置分析规则检测威胁中所述。

下表显示了将会导致自动化规则运行的不同可能场景。

触发器类型 导致规则运行的事件
创建事件时 Microsoft Defender 中的统一安全运营平台:
  • Microsoft Defender 门户中创建了一个新事件。

    未载入到统一平台的 Microsoft Sentinel:
  • 分析规则创建新事件。
  • 从 Microsoft Defender XDR 引入事件。
  • 手动创建新事件。
  • 更新事件时
  • 更改事件的状态(关闭/重新打开/会审)。
  • 分配或更改事件的所有者。
  • 提升或降低事件的严重性。
  • 将警报添加到事件中。
  • 将注释、标记或策略添加到事件中。
  • 创建警报时
  • 警报由 Microsoft Sentinel 预定规则或 NRT 分析规则创建
  • 基于事件的自动化还是基于警报的自动化?

    既然事件自动化和警报自动化都由自动化规则和 playbook 集中处理,应该如何选择何时使用哪一个?

    对于大多数用例,事件触发的自动化是首选方法。 在 Microsoft Sentinel 中,事件是一个“案例文件”– 特定调查的所有相关证据的聚合。 它是警报、实体、注释、协作和其他项目的容器。 与警报这种单条证据不同,事件是可修改的,具有最新状态,并且可以通过注释、标记和书签来扩充。 通过事件,可以跟踪随着新警报的添加而不断发展的攻击情况。

    出于这些原因,围绕事件构建自动化更有意义。 因此,创建 playbook 的最合适方法是使它们基于 Azure 逻辑应用中的 Microsoft Sentinel 事件触发器。

    使用“警报触发的自动化”的主要原因是为了响应分析规则生成的警报,这些规则不创建事件(即,已在分析规则向导的“事件设置”选项卡中禁用事件创建)。

    当 Microsoft Sentinel 工作区加入统一安全操作平台时,此原因尤其重要,因为所有事件创建操作都发生在 Microsoft Defender XDR 中,因此必须禁用 Microsoft Sentinel 中的事件创建规则

    即使没有加入统一门户,如果你想要使用其他外部逻辑来确定是否和如何从警报创建事件,以及是否和如何将警报分组成事件,你也可能会决定使用警报触发的自动化。 例如:

    • playbook 可由没有关联事件的警报触发,并且可使用来自其他源的信息扩充警报,根据一些外部逻辑决定是否创建事件。

    • playbook 可由警报触发,并且查找相应的现有事件以将警报添加到其中(而不是创建事件)。 详细了解事件扩展

    • playbook 可由警报触发,并且向 SOC 人员通知该警报,以便团队可以决定是否创建事件。

    • playbook 可由警报触发,并将警报发送到用于创建和管理事件的外部票证系统,为每个警报创建新的票证。

    注意

    条件

    可以定义复杂的条件集来管理何时应运行操作(参见以下内容)。 这些条件包括触发规则的活动(创建或更新了事件,或者创建了警报)、事件属性和实体属性(仅适用于事件触发器)的状态或值,以及生成事件或警报的分析规则。

    触发自动化规则时,它会根据规则中定义的条件检查触发事件或警报。 对于事件,基于属性的条件根据评估发生时属性的当前状态或根据属性的状态变化进行评估(有关详细信息,请参阅下文)。 由于单个事件创建或更新事件可能触发多个自动化规则,因此它们的运行顺序(见下文)在确定条件评估的结果时会有所不同。 规则中定义的操作只有在满足所有条件时才会运行。

    事件创建触发器

    对于使用触发器“创建事件时”定义的规则,可以使用以下一个或多个运算符定义条件来查看给定事件属性列表的值的当前状态:

    事件属性的值

    • “等于”或“不等于”条件中定义的值。
    • “包含”或“不包含”条件中定义的值。
    • “开头为”或“开头不为”条件中定义的值。
    • “结尾为”或“结尾不为”条件中定义的值。

    此上下文中的当前状态是指评估条件的时刻,即自动化规则运行的时刻。 如果定义了多个自动化规则以响应此事件的创建,则较早运行的自动化规则对事件所做的更改被视为以后运行规则的当前状态。

    事件更新触发器

    使用触发器“更新事件时”定义的规则中评估的条件包括为事件创建触发器列出的所有条件。 但更新触发器包含可以评估的更多属性。

    其中一个属性为“更新者”。 此属性让你能够跟踪在事件中进行更改的源类型。 可以创建一个条件来评估事件是否已按以下值之一进行更新,具体取决于是否已将工作区载入统一安全操作平台:

    • 应用程序,包括 Azure 和 Defender 门户中的应用程序。
    • 用户,包括 Azure 和 Defender 门户中用户所做的更改。
    • AIR,用于通过 Microsoft Defender for Office 365 中的自动 进行更新
    • 警报分组(向事件添加警报),包括通过分析规则和内置 Microsoft Defender XDR 关联逻辑完成的警报分组
    • Playbook
    • 自动化规则
    • 其他,如果上述值均不适用

    例如,使用此条件,可以指示此自动化规则在对事件所做的任何更改上运行,除非该更改是由另一个自动化规则进行的。

    更重要的是,更新触发器还使用其他运算符来检查事件属性值的状态更改及其当前状态。 在以下情况下,将满足状态更改条件:

    事件属性的值

    • “已更改”(无论之前或之后的实际值如何)。
    • “更改自”条件中定义的值。
    • “更改为”条件中定义的值。
    • “已添加”到(这适用于具有值列表的属性)。

    标记属性:单个与集合

    标记这一事件属性是单个项目的集合 - 可以为单个事件应用多个标记。 可以定义单独检查集合中各个标记的条件,以及将标记集合作为一个单元进行检查的条件。

    • 任何单独的标记运算符都会根据集合中的每个标记检查条件。 当“至少一个标记”满足条件时,评估结果为 true
    • 所有标记的集合”运算符会针对作为一个整体的标记集合检查条件。 仅当“整个集合”满足条件时,评估结果才为 true

    当条件是否定形式的(不包含)并且集合中的某些标记满足条件而其他标记不满足时,这种区别很重要。

    让我们看一个示例,你的条件是标记不包含“2024”,并且你有两个事件,每个事件都有两个标记:

    \ 事件 ▶
    条件 ▼ \
    事件 1
    标记 1:2024
    标记 2: 2023
    事件 2
    标记 1:2023
    标记 2:2022
    任何单个标记
    都不包含“2024”
    TRUE TRUE
    所有标记的集合
    不包含“2024”
    FALSE TRUE

    在此示例中,在事件 1 中:

    • 如果条件单独检查每个标记,则由于至少有一个标签满足条件包含“2024”),因此总体条件为 true
    • 如果条件将事件中的所有标记作为一个单元进行检查,则由于至少有一个标记不满足条件(包含“2024”),因此总体条件为 false

    事件 2 中,无论定义哪种类型的条件,结果都将相同。

    “警报创建”触发器

    目前,可以为“警报创建”触发器配置的唯一条件是将要运行自动化规则的分析规则集。

    操作

    可以定义在满足条件(参见上述内容)时运行的操作。 可以在规则中定义许多操作,还可以选择它们的运行顺序(参见以下内容)。 可以使用自动化规则定义以下操作,而无需使用 playbook 的高级功能

    • 向事件添加任务 - 可以创建供分析师在会审、调查和修正事件的整个过程中遵循的任务清单,以确保不会遗漏任何关键步骤。

    • 更改事件的状态,使工作流保持最新。

      • 当更改为“已关闭”时,指定关闭原因并添加注释。 这有助于跟踪性能和有效性,并进行优化以减少误报
    • 更改事件的严重性 - 可以基于事件中所涉及实体的现状、缺席、值或属性重新评估,以及重新确定优先级。

    • 将事件指派给所有者 - 这样有助于将事件类型转给最适合处理它们的人员,或可用的最恰当人员来处理它们。

    • 对事件添加标记 - 有利于按主题、攻击者或任何其他常见标准对事件进行分类。

    此外,还可以定义操作来运行 playbook,以便执行更复杂的响应操作,包括涉及外部系统的任何操作。 可在自动化规则中使用的 playbook 取决于 playbook 和自动化规则所基于的触发器:只有“事件触发”playbook 可以从“事件触发”自动化规则运行,并且只有“警报触发”playbook 可以从“警报触发”自动化规则运行。 可以定义调用 playbook 的多个操作,也可以定义 playbook 和其他操作的组合。 操作将按其在规则中的列出顺序运行。

    使用任意版本的 Azure 逻辑应用(“标准”或“消耗”)的 playbook 都可以根据自动化规则运行。

    到期日期

    可以对自动化规则定义到期日期。 规则在该日期之后将被禁用。 该项适用于处理(即关闭)因计划的有时限的活动(如渗透测试)导致的“噪音”事件。

    订单

    可以定义运行自动化规则的顺序。 后面的自动化规则将根据之前自动化规则对事件采取行动后的状态来评估事件状况。

    例如,如果“第一个自动化规则”将事件严重性从“中”变为“低”,而“第二个自动化规则”定义为仅对中高危险性事件运行,则不会对该事件运行第二个自动化规则。

    添加事件任务的自动化规则的顺序决定了任务在给定事件中的显示顺序。

    基于更新触发器的规则有自己单独的订单队列。 如果(通过另一个自动化规则所做的更改)触发此类规则以在刚刚创建的事件上运行,则这些规则仅在基于创建触发器的所有适用规则运行后才会运行。

    有关执行顺序和优先级的说明

    • 在自动化规则中设置“顺序”编号决定了其执行顺序。
    • 每个触发器类型都维护其自己的队列。
    • 对于在 Azure 门户中创建的规则,“顺序”字段中将自动填入相同触发器类型的现有规则使用的最大编号之后的编号。
    • 但是,对于以其他方式(命令行、API 等)创建的规则,必须手动分配“顺序”编号。
    • 没有任何验证机制用来防止多个规则具有相同的顺序编号,即使在相同的触发器类型中也是如此。
    • 如果不在意它们的运行顺序,则可以允许相同触发器类型的两个或多个规则具有相同的顺序编号。
    • 对于具有相同顺序编号的相同触发器类型的规则,执行引擎会随机选择按哪个顺序运行哪些规则。
    • 对于不同“事件触发器”类型的规则,所有具有“事件创建”触发器类型的适用规则将首先运行(根据其顺序编号),然后,只有具有“事件更新”触发器类型的规则将运行(根据其顺序编号)。
    • 规则始终按顺序运行,永不并行运行。

    注意

    开始使用统一安全操作平台后,如果在 5-10 分钟内对同一事件进行了多次更改,则会向 Microsoft Sentinel 发送一次更新,其中仅包含最新的更改。

    常见用例和场景

    事件任务

    利用自动化规则,可以对事件会审、调查和修正所需的步骤进行标准化和规范化处理,具体方法是根据在自动化规则中设置的条件和基础分析规则中的威胁检测逻辑,创建可应用于单个事件、所有事件或跨事件组应用的任务。 由于应用于事件的任务显示在事件页面中,因此分析师需要采取的操作的整个列表就在他们面前,他们也就不会错过任何关键步骤。

    事件触发的自动化和警报触发的自动化

    自动化规则可以通过事件的创建或更新触发,也可以通过警报的创建触发。 这些情况都可触发自动响应链,其中可包括 playbook(需要特殊权限)。

    适用于 Microsoft 提供程序的触发 playbook

    自动化规则提供一种自动处理 Microsoft 安全警报的方法,即对基于警报生成的事件应用这些规则。 自动化规则可以调用 playbook(需要特殊权限),并将事件及其所有详细信息(包括警报和实体)传递给它们。 通常,Microsoft Sentinel 最佳做法规定使用事件队列作为安全操作的焦点。

    Microsoft 安全警报包括以下各项:

    • Microsoft Entra ID 保护
    • Microsoft Defender for Cloud
    • Microsoft Defender for Cloud Apps
    • Microsoft Defender for Office 365
    • 用于终结点的 Microsoft Defender
    • Microsoft Defender for Identity
    • Microsoft Defender for IoT

    单个规则中包含多个排序的 playbook/操作

    现在,可以在单个自动化规则中近乎完全地控制操作和 playbook 的执行顺序。 此外,还可以控制自动化规则本身的执行顺序。 这样,可以大大简化 playbook,将其缩减为单个任务或一系列简单的小任务,并将这些小 playbook 组合到不同自动化规则的不同组合中。

    一次将一个 playbook 分配给多个分析规则

    如果有任务需要自动执行所有分析规则(例如,在外部票证系统中生成支持票证),可以一次将单个 playbook 应用于任何或所有分析规则(包括未来建立的任何规则)。 这样一来,简单的重复性维护和整理任务则变得轻松很多。

    自动分配事件

    可以自动将事件分配给适当的所有者。 如果 SOC 有一位专门从事特定平台工作的分析师,则与该平台相关的任何事件都可以自动分配给该分析师。

    事件抑制

    可以使用规则来自动解析已知属于误报/良性警报的事件,而无需使用 playbook。 例如,在运行渗透测试、执行计划内维护或升级或测试自动化过程时,可能会产生许多 SOC 想要忽略的误报事件。 有时限的自动化规则可以在这些事件产生时自动将其关闭,同时为它们标记生成原因描述符。

    有时限的自动化

    可以为自动化规则添加到期日期。 除事件抑制之外,可能有些情况下还需要有时限的自动化。 你可能希望在特定期限内,将特定类型的事件分配给特定用户(例如实习生或顾问)。 如果事先知道期限,则可以有效地使该规则在其相关性结束后处于禁用状态,而无需再记着去做这件事。

    自动标记事件

    可以对事件自动添加任意文本标记,以便根据所选的任何标准对它们进行分组或分类。

    更新触发器添加的用例

    现在,对事件所做的更改可能会触发自动化规则,因此更多场景可以实现自动化。

    在事件演变时扩展自动化

    可以使用更新触发器将上述许多用例应用于事件,因为调查正在进行中,分析师可以添加警报、评论和标记。 控制事件中的警报分组。

    更新业务流程和通知

    在对事件进行更改时通知各个团队和其他人员,这样他们就不会错过任何关键更新。 通过将事件分配给新所有者并将分配情况通知新所有者来升级事件。 控制重新打开事件的时间和方式。

    保持与外部系统的同步

    如果在创建事件时已使用 playbook 在外部系统中创建工单,则可以使用更新触发器自动化规则来调用将更新这些工单的 playbook。

    执行自动化规则

    自动化规则可以按确定顺序连续运行。 每个自动化规则在前一规则运行完成后执行。 在自动化规则中,所有操作都按其定义的顺序连续运行。

    在某些情况下,可能会根据以下条件以不同方式处理自动化规则中的 playbook 操作:

    Playbook 运行时 自动化规则前进到下一个操作...
    不到 1 秒 Playbook 完成后立即
    不到 2 分钟 在 playbook 开始运行后最多 2 分钟,
    但在 playbook 完成后不超过 10 秒
    超过 2 分钟 Playbook 开始运行 2 分钟后,
    无论其是否已完成

    自动化规则运行 playbook 的权限

    当 Microsoft Sentinel 自动化规则运行 playbook 时,它将使用专门为此操作而获得授权的特殊 Microsoft Sentinel 服务帐户。 使用此帐户(相对于你的用户帐户)可提高服务的安全级别。

    为使自动化规则运行 playbook,此帐户必须被授予访问 playbook 所在资源组的显式权限。 届时,任何自动化规则都将能够运行该资源组中的任何 playbook。

    在配置自动化规则和添加“运行 playbook”操作时,将显示一个 playbook 的下拉列表。 Microsoft Sentinel 没有权限访问的 playbook 将显示为不可用(“灰显”)。 可以通过选择“管理 playbook 权限”链接,现场对 Microsoft Sentinel 授予访问 playbook 资源组的权限。 若要授予这些权限,需要对这些资源组拥有“所有者”权限。 请参阅完全权限要求

    多租户体系结构中的权限

    自动化规则完全支持跨工作区和多租户部署(对于多租户,使用 Azure Lighthouse)。

    因此,如果 Microsoft Sentinel 部署使用多租户体系结构,则可以用一个租户中的自动化规则运行其他租户中的 playbook,但必须在 playbook 所在的租户中(而不是在定义自动化规则的租户中)定义 Sentinel 运行该 playbook 的权限。

    在安全托管服务提供商 (MSSP) 的特定情况下,服务提供商租户将管理客户租户中的 Microsoft Sentinel 工作区,但有两种特殊情况值得注意:

    • 在客户租户中创建的自动化规则配置为运行位于服务提供商租户中的 playbook。

      这种方法通常用于保护 playbook 中的知识产权。 此方案无需进行特殊设置即可运行。 在自动化规则中定义 playbook 操作时,如果进入为 Microsoft Sentinel 授予对 playbook 所在的相关资源组的权限的阶段(使用“管理 playbook 权限”面板),你将看到属于服务提供商租户的资源组,可从中进行选择。 查看此处概述的整个过程

    • 在客户工作区中创建(同时登录到服务提供商租户)的自动化规则配置为运行位于客户租户中的 playbook

      无需保护知识产权时使用此配置。 要使此方案有效,需要在这两个租户中为 Microsoft Sentinel 授予执行 playbook 的权限。 在客户租户中,可在“管理 playbook 权限”面板中授予权限,就像上述方案一样。 要在服务提供商租户中授予相关权限,需要添加一个额外的 Azure Lighthouse 委派,该委派将在 playbook 所在的资源组上使用 Microsoft Sentinel 自动化参与者角色授予对 Azure Security Insights 应用的访问权限 。

      场景如下所示:

      多租户自动化规则体系结构

      请参阅相关说明进行设置。

    创建和管理自动化规则

    可以根据特定需求和使用案例,从 Microsoft Sentinel 或统一安全操作平台的不同区域创建和管理自动化规则

    • “自动化”页

      在“自动化规则”选项卡下的“自动化”页中,可以集中管理自动化规则。在那里,可以创建新自动化规则和编辑现有的规则。 此外,还可以拖动自动化规则来更改其执行顺序,以及启用或禁用它们。

      在“自动化”页中,可以看到在工作区上定义的所有规则及其状态(已启用/已禁用),以及它们适用于哪些分析规则。

      当你需要一项自动化规则,而该规则将适用于 Microsoft Defender XDR 中的事件或 Microsoft Sentinel 的许多分析规则中的事件时,请直接在“自动化”页中创建它。

    • 分析规则向导

      在 Microsoft Sentinel analytics 分析规则向导的“自动响应”选项卡的“自动化规则”下,可以查看、编辑和创建适用于要在向导中创建或编辑的特定分析规则的自动化规则

      你会发现,在这里创建自动化规则后,“创建新自动化规则”面板会显示“分析规则”条件不可用,这是因为此规则已设置为仅应用于在向导中编辑的分析规则。 所有其他配置选项仍可使用。

    • “事件”页

      另外,还可以在“事件”页中创建自动化规则,以响应单个重复出现的事件。 在创建抑制规则自动关闭“干扰”事件时,这种方法非常有用。

      你会发现,从此处创建自动化规则时,“创建新自动化规则”面板已对所有字段填充事件中的值。 它将为规则命名与事件相同的名称,将其应用于生成该事件的分析规则,并使用该事件中所有可用的实体作为规则条件。 此外,它还提供了建议的默认抑制(关闭)操作以及建议的规则到期日期。 可以根据需要添加或删除条件和操作,以及更改到期日期。

    后续步骤

    在本文档中,你了解了自动化规则如何帮助你集中管理 Microsoft Sentinel 事件和警报的响应自动化。