| name | performing-soc-tabletop-exercise |
| description | 为 SOC 团队执行桌面推演(Tabletop Exercise),通过基于讨论的场景模拟安全事件, 在不影响生产系统的前提下测试事件响应流程、沟通工作流和压力下的决策能力。 适用于组织需要验证 IR 剧本、培训分析师或满足事件响应测试合规要求的场景。
|
| domain | cybersecurity |
| subdomain | soc-operations |
| tags | ["soc","tabletop","exercise","incident-response","training","nist","playbook-validation"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
执行 SOC 桌面推演
适用场景
在以下情况使用本技能:
- 需要年度或半年度事件响应测试(NIST、ISO 27001、PCI DSS 合规要求)
- 新 SOC 分析师需要在受控环境中接触重大事件场景
- 更新后的剧本需要在下次真实事件前完成验证
- 跨职能协调(SOC、IT、法务、公关、高管)需要演练
- 事后复盘发现差距,需要基于场景的培训
不适用于替代技术性紫队(Purple Team)演练——桌面推演测试流程和决策能力,而非技术检测能力。
前置条件
- 具有事件响应经验的演练主持人
- 参与者名单:SOC 分析师(Tier 1-3)、SOC 经理、IT 运维、法务、HR、公关
- 会议室或具备屏幕共享功能的视频会议
- 带定时发布计划的打印或数字场景注入(Inject)卡片
- 用于评估参与者响应的评分表
- 演练期间供参考的现有事件响应计划和剧本
工作流程
步骤 1:设计演练场景
创建具有递进复杂性的多阶段真实场景:
tabletop_exercise:
title: "暗收割行动——勒索软件攻击场景"
exercise_id: TTX-2024-Q1
date: 2024-03-22
duration: 3 hours (09:00-12:00)
classification: TLP:AMBER (internal use only)
objectives:
1: "测试 SOC 团队检测和分级勒索软件指标的能力"
2: "验证从 Tier 1 到事件指挥官的升级流程"
3: "评估与法务、公关和高管领导层的跨职能沟通"
4: "评估时间压力下的遏制决策能力"
5: "测试备份恢复流程和业务连续性激活"
participants:
- role: SOC Tier 1 Analyst (2 participants)
- role: SOC Tier 2 Analyst (2 participants)
- role: SOC Manager / Incident Commander
- role: IT Operations Lead
-
步骤 2:创建定时注入
设计按计划间隔发布的场景注入卡片:
injects:
inject_1:
time: "T+0 (3:45 PM)"
title: "初始告警"
content: >
Splunk ES 生成一条值得关注的事件:"Shadow Copy 删除检测",
发生在 FILESERVER-03(10.0.10.50,财务部文件服务器)上。
告警显示:vssadmin.exe delete shadows /all /quiet
源用户:svc_backup(服务账户)
这是该主机今天的第一条告警。
questions:
- "您对此告警的初步评估是什么?"
- "您会在 Splunk 中查询哪些额外数据?"
- "这是 Tier 1 分级项还是需要立即升级?"
inject_2:
time: "T+10 minutes"
title: "升级的指标"
content: >
在调查第一条告警期间,又触发了两条告警:
1. "检测到批量文件修改"——5 分钟内 FILESERVER-03 上 2847 个文件被重命名为 .locked 扩展名
2. WORKSTATION-118(10.0.5.118)上"可疑 PowerShell 编码命令"
——使用了同一 svc_backup 账户
CrowdStrike 显示进程树:explorer.exe > cmd.exe > powershell.exe -enc [base64]
questions:
- "您的更新评估是什么?您会分配什么事件严重等级?"
- "您会立即采取哪些遏制措施?"
- "此时需要通知谁?"
- "您如何确认是否仅限于这两台主机?"
inject_3:
time: "T+25 minutes"
title: "范围扩大"
content: >
全企业 Splunk 搜索揭示:
- 另有 7 台主机显示 .locked 文件扩展名
- 所有受影响主机均在财务 VLAN(10.0.10.0/24)
- svc_backup 账户从下午 3:30 开始通过 RDP 访问所有受影响主机
- 所有受影响主机上均发现勒索说明"README_UNLOCK.txt"
- 勒索说明要求支付 50 BTC,包含 Tor 支付门户链接
- IT 报告 svc_backup 密码在 2 天前被更改(非 IT 团队操作)
questions:
- "这已是确认的勒索软件事件。您的事件分类是什么?"
-
步骤 3:主持演练
主持人指南:
演练主持协议
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. 开场(10 分钟)
- 说明演练目标和基本规则
- 强调:"没有错误答案——这是测试流程,不是评判个人"
- 提醒参与者这是模拟——没有实际系统受到影响
- 确定演练观察员/记录员
2. 注入发布(110 分钟)
- 在屏幕上展示每个注入,留 2 分钟阅读时间
- 向每个角色组提出引导性问题
- 允许讨论但按时间线推进
- 根据需要注入额外压力/复杂情况
- 记录决策、依据和发现的差距
3. 讨论规则
- 参与者以角色身份(其实际职位)响应
- 在可用时参考实际剧本和流程
- 如果参与者不确定,这本身就是一个发现
- 如果讨论停滞,主持人可以添加"热注入"
4. 结束(40 分钟)
- 热洗(Hot Wash):每位参与者分享一个做得好的地方和一个差距
- 主持人总结关键发现
- 确定前 5 个行动项,附负责人和截止日期
步骤 4:评估参与者响应
根据预期结果对响应进行评分:
evaluation_criteria:
detection_and_triage:
expected: "立即识别 Shadow Copy 删除为勒索软件前兆"
scoring:
excellent: "2 分钟内正确识别,发起适当升级"
adequate: "经过讨论后识别,升级路径正确"
needs_improvement: "未识别重要性,升级延迟"
containment_decision:
expected: "通过 EDR 隔离受影响主机,分割财务 VLAN,保全证据"
scoring:
excellent: "立即隔离,优先级顺序正确,保全证据"
adequate: "执行了隔离但延迟或优先级不完整"
needs_improvement: "考虑关机(会破坏证据)或延迟隔离"
communication:
expected: "及时通知链:SOC 经理 -> CISO -> 法务 -> 高管"
scoring:
excellent: "在规定 SLA 内完成适当通知,汇报清晰简洁"
adequate: "完成了通知但略有延迟或不完整"
needs_improvement: "关键利益相关者未收到通知,沟通不清晰"
business_continuity:
expected: "平衡安全遏制与业务恢复需求"
scoring:
excellent: "传达了现实的恢复时间线,提出了替代变通方案"
adequate: "讨论了恢复但时间线不明确"
needs_improvement: "过度承诺时间线或忽视业务影响"
步骤 5:生成事后行动报告
after_action_report:
exercise: TTX-2024-Q1 "暗收割行动"
date: 2024-03-22
participants: 10
duration: 3 hours
executive_summary: >
桌面推演测试了组织在检测、遏制、沟通和恢复阶段的勒索软件响应能力。
SOC 团队展示了较强的技术分级技能,但在跨职能沟通和备份恢复流程方面发现了差距。
strengths:
- SOC 分析师在第一个注入中正确识别了勒索软件指标
- 遏制决策迅速且技术上合理
- 法务团队对违规通知要求准备充分
- IT 运维对备份恢复流程有清晰了解
gaps_identified:
- gap_1:
finding: "无非工作时间通知 CISO 的书面流程"
risk: High
action: "更新升级联系人,添加个人电话和备用联系人"
owner: SOC Manager
due_date: 2024-04-05
- gap_2:
finding: "备份恢复测试已 6 个月未执行"
risk: Critical
action: "安排季度备份恢复演练"
owner: IT Operations Lead
due_date: 2024-04-15
- gap_3:
步骤 6:跟踪修复和后续行动
--- 跟踪桌面推演的行动项
| inputlookup ttx_action_items.csv
| eval days_remaining = round((strptime(due_date, "%Y-%m-%d") - now()) / 86400)
| eval status_flag = case(
status="Completed", "GREEN",
days_remaining < 0, "RED — OVERDUE",
days_remaining < 7, "YELLOW — DUE SOON",
1=1, "GREEN"
)
| sort - status_flag, days_remaining
| table gap_id, finding, owner, due_date, days_remaining, status, status_flag
核心概念
| 术语 | 定义 |
|---|
| 桌面推演(Tabletop Exercise) | 基于讨论的模拟,参与者在不执行技术操作的情况下演练事件场景 |
| 注入(Inject) | 引入新信息、复杂情况或决策的场景更新,供参与者处理 |
| 热洗(Hot Wash) | 演练结束后的即时复盘,参与者分享观察结果和初步经验教训 |
| 事后行动报告(AAR,After-Action Report) | 记录演练发现、差距、优势和修复行动项的正式文件 |
| 主持人(Facilitator) | 演练领导者,负责发布注入、引导讨论并确保实现目标 |
| 决策点(Decision Point) | 场景中需要参与者在存在权衡的选项中做出选择的时刻 |
工具与系统
- FEMA HSEEP:国土安全演练与评估计划,提供演练规划方法论
- 桌面推演框架(NIST SP 800-84):NIST IT 安全演练规划与实施指南
- Immersive Labs:网络安全危机模拟和桌面推演管理平台
- Infection Monkey:用于技术验证桌面推演发现的开源攻击模拟工具
- Archer:用于跟踪演练发现和修复行动项的 GRC 平台
常见场景
- 勒索软件攻击:多阶段场景,测试检测、遏制、赎金决策和恢复
- 数据泄露:客户 PII 暴露,测试通知要求、法律义务和公关响应
- 供应链攻击(Supply Chain Compromise):第三方供应商违规影响组织系统和数据
- 内部威胁(Insider Threat):员工数据窃取场景,测试 HR、法务和安全团队协调
- 商业电子邮件攻击(BEC,Business Email Compromise):CEO 诈骗电汇企图,测试财务控制和验证流程
输出格式
桌面推演摘要——TTX-2024-Q1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
场景: 暗收割行动(勒索软件)
日期: 2024-03-22 (09:00-12:00 UTC)
参与者: 10 人(SOC: 5,IT: 1,法务: 1,公关: 1,高管: 2)
持续时间: 3 小时(发布 6 个注入)
评分:
检测与分级: 85/100 优秀
遏制: 80/100 良好
沟通: 60/100 需要改进
恢复规划: 65/100 需要改进
总体: 72/100 合格
关键发现:
[+] 优势:勒索软件指标立即被正确识别
[+] 优势:EDR 隔离流程掌握良好
[-] 差距:无非工作时间 CISO 通知流程
[-] 差距:备份恢复 6 个月未测试
[-] 差距:无预先批准的媒体声明模板
[-] 差距:服务账户权限过高(域管理员)
[-] 差距:赎金支付决策权限未定义
行动项:5 项(严重:2,高危:2,中等:1)
下次演练:TTX-2024-Q2(2024 年 6 月)——内部威胁场景