关于 incident-response
面向处理已确认安全事件的安全团队,覆盖从分诊到升级和证据收集的响应流程。它将事件分类脚本与严重级别指引、误报检查及证据保管链实践结合起来。
主要功能
- 01将事件归类为 14 种类型
- 02评估严重级别并确定升级路径
- 03筛除常见误报
- 04指导取证证据收集
- 05将事件类型对应到响应 SLA
适用场景
- 01分诊 SIEM 或 EDR 告警
- 02为疑似入侵安排升级优先级
- 03开展桌面事件响应演练
- 04按保管链要求收集证据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill incident-response安装后在 Claude Code 中输入/incident-response确认已加载。
附带文件references/regulatory-deadlines.mdscripts/incident_triage.py
详细介绍
事件响应
事件响应技能覆盖完整生命周期,从初始分诊到取证收集、严重级别声明以及升级路由。这不是威胁狩猎(参见 threat-detection)或事后合规映射(参见 governance/compliance-mapping),而是对已声明的安全事件进行分类、分诊和管理。
目录
概述
本技能的作用
本技能为事件分诊与响应提供方法论和工具支持,包括将安全事件归类为具体类型的事件、评定严重级别、过滤误报、确定升级路径,并在链路保管控制下启动取证证据收集。
与其他安全技能的区别
| 技能 | 关注点 | 方式 |
|---|---|---|
| incident-response(本技能) | 正在发生的事件 | 被动响应:分类、升级、收集证据 |
| threat-detection | 事件发生前的狩猎 | 主动式:在告警触发前发现威胁 |
| cloud-security | 云端安全态势评估 | 预防性:IAM、S3、网络配置错误 |
| red-team | 攻击性模拟 | 攻击性:测试检测与响应能力 |
前提条件
安全事件必须在分诊前完成摄入。事件可能来自 SIEM 告警、EDR 检测、威胁情报源或用户报告。分诊工具接受 JSON 事件负载,输入模式见下文。
事件分诊工具
incident_triage.py 工具用于对事件进行分类、检查误报、评定严重级别、确定升级路径,并执行取证预分析。
# Classify an event from JSON file
python3 scripts/incident_triage.py --input event.json --classify --json
# Classify with false positive filtering enabled
python3 scripts/incident_triage.py --input event.json --classify --false-positive-check --json
# Force a severity level for tabletop exercises
python3 scripts/incident_triage.py --input event.json --severity sev1 --json
# Read event from stdin
echo '{"event_type": "ransomware", "host": "prod-db-01", "raw_payload": {}}' | \
python3 scripts/incident_triage.py --classify --false-positive-check --json
输入事件模式
{
"event_type": "ransomware",
"host": "prod-db-01",
"user": "svc_backup",
"source_ip": "10.1.2.3",
"timestamp": "2024-01-15T14:32:00Z",
"raw_payload": {}
}
退出码
| 退出码 | 含义 | 所需响应 |
|---|---|---|
| 0 | SEV3/SEV4 或无事件 | 按标准工单流程处理 |
| 1 | SEV2 — 升级 | 1 小时桥接电话会议,异步协调 |
| 2 | SEV1 — 严重 | 立即召开 15 分钟作战室会议,全员参与 |
事件分类
安全事件被划分为 14 种事件类型。分类决定默认严重级别、MITRE 技术映射和响应 SLA。
事件分类体系
| 事件类型 | 默认严重级别 | MITRE 技术 | 响应 SLA |
|---|---|---|---|
| ransomware | SEV1 | T1486 | 15 分钟 |
| data_exfiltration | SEV1 | T1048 | 15 分钟 |
| apt_intrusion | SEV1 | T1566 | 15 分钟 |
| supply_chain_compromise | SEV1 | T1195 | 15 分钟 |
| domain_controller_breach | SEV1 | T1078.002 | 15 分钟 |
| credential_compromise | SEV2 | T1110 | 1 小时 |
| lateral_movement | SEV2 | T1021 | 1 小时 |
| malware_infection | SEV2 | T1204 | 1 小时 |
| insider_threat | SEV2 | T1078 | 1 小时 |
| cloud_account_compromise | SEV2 | T1078.004 | 1 小时 |
| unauthorized_access | SEV3 | T1190 | 4 小时 |
| policy_violation | SEV3 | N/A | 4 小时 |
| phishing_attempt | SEV4 | T1566.001 | 24 小时 |
| security_alert | SEV4 | N/A | 24 小时 |
SEV 升级触发条件
出现以下任一情况,将自动重新声明更高的严重级别:
| 触发条件 | 新严重级别 |
|---|---|
| 发现勒索信息 | SEV1 |
| 确认正在发生数据外泄 | SEV1 |
| CloudTrail 或 SIEM 被禁用 | SEV1 |
| 确认访问了域控制器 | SEV1 |
| 第二台系统被攻陷 | SEV1 |
| 外泄数据量超过 1 GB | 至少 SEV2 |
| 访问了 C 级高管账户 | 至少 SEV2 |
严重级别框架
SEV 等级矩阵
| 等级 | 名称 | 判定标准 | 调用的技能 | 升级路径 |
|---|---|---|---|---|
| SEV1 | 严重 | 已确认勒索软件;正在发生的 PII/PHI 数据外泄(>10K 条记录);域控制器遭入侵;防御规避(CloudTrail 被禁用);供应链攻破 | 全部技能(并行) | SOC 负责人 → CISO → CEO → 董事会主席 |
| SEV2 | 高 | 已确认对敏感系统的未授权访问;提权账户凭据泄露;已确认横向移动;勒索软件迹象但尚未确认执行 | triage + containment + forensics | SOC 负责人 → CISO |
| SEV3 | 中 | 疑似未授权访问(未经确认);检测到恶意软件并已遏制;单一账户泄露(无权限提升) | triage + containment | SOC 负责人 → 安全经理 |
| SEV4 | 低 | 安全告警但无已确认影响;信息性指标;违反策略但无数据风险 | 仅 triage | L3 分析师队列 |
误报过滤
triage 工具在升级告警前应用五类过滤器,以防止误报数量被放大。
误报过滤器类型
| 过滤器 | 说明 | 示例模式 |
|---|---|---|
| CI/CD Agent 活动 | 被误标为异常的已知构建/部署 Agent | jenkins, github-actions, circleci, gitlab-runner |
| 测试环境标记 | 标记为非生产环境的资产 | test-, staging-, dev-, sandbox- |
| 计划任务模式 | 预期内会触发告警的批处理作业 | cron, scheduled_task, batch_job, backup_ |
| 白名单身份 | 明确批准的服务账户 | svc_monitoring, svc_backup, datadog-agent |
| 扫描器活动 | 已知的安全扫描器和漏洞工具 | nessus, qualys, rapid7, aws_inspector |
确认为误报后,系统将取消升级并记录抑制原因以备审计。对于来自同一来源的重复误报,应在检测层进行调优予以屏蔽,而不应在 triage 环节反复过滤。
取证证据收集
证据收集遵循 DFRWS 六阶段框架以及“易失性优先”的获取原则。
DFRWS 六个阶段
| 阶段 | 活动 | 优先级 |
|---|---|---|
| 识别 | 确定存在哪些证据以及位于何处 | 立即 |
| 保全 | 防止证据被修改——写保护、快照、法律保全 | 立即 |
| 收集 | 按易失性顺序获取证据 | 立即 |
| 检验 | 对已收集证据进行技术分析 | 2 小时内 |
| 分析 | 在调查语境中解释发现 | 4 小时内 |
| 呈报 | 出具包含证据保管链的调查结果报告 | 事件关闭前 |
易失性证据——优先收集
- 内存实时镜像(RAM dump)——重启后丢失
- 正在运行的进程和打开的网络连接(
netstat、ps) - 已登录用户和活动会话
- 系统运行时长和当前时间(用于时间线锚定)
- 环境变量和已加载的内核模块
证据保管链要求
每一件证据都必须记录以下信息:
- 获取时的 SHA-256 哈希值
- 以 UTC 表示并带时区偏移的获取时间戳
- 工具来源(FTK Imager、Volatility、dd、AWS CloudTrail 导出)
- 调查人员身份
- 转移日志(何人在何时持有保管权)
升级路径
按严重等级
| 严重等级 | 即时联系人 | 电话会议 | 外部通知 |
|---|---|---|---|
| SEV1 | SOC 负责人 + CISO(15 分钟内) | 立即召开作战会议 | 法务与公关待命;按监管期限表进行监管通报 |
| SEV2 | SOC 负责人(30 分钟内,异步) | 1 小时电话会议 | 若涉及 PII,通知法务 |
| SEV3 | 安全经理(4 小时内) | 仅异步 | 除非范围扩大,否则无需通知 |
| SEV4 | L3 分析师队列(24 小时内) | 无 | 无 |
按事件类型
| 事件类型 | 主要升级对象 | 次要升级对象 |
|---|---|---|
| 勒索软件 / APT | CISO + CEO | 若数据面临风险则通知董事会 |
| PII/PHI 泄露 | 法务 + CISO | 监管机构(按截止时限表) |
| 云账户失陷 | 云安全团队 | CISO |
| 内部威胁 | HR + 法务 + CISO | 涉及犯罪时通知执法部门 |
| 供应链 | CISO + 供应商管理 | 董事会 |
监管通报义务
通报时限从事件宣告时开始计算,而不是从调查完成时开始。
| 框架 | 事件类型 | 截止时限 | 处罚 |
|---|---|---|---|
| GDPR(欧盟 2016/679) | 个人数据泄露 | 发现后 72 小时内 | 最高为全球营业额的 4% |
| PCI-DSS v4.0 | 持卡人数据泄露 | 24 小时内通知收单机构 | 卡组织罚款 |
| HIPAA(45 CFR 164) | PHI 泄露(超过 500 人) | 发现后 60 天内 | 每个违规类别最高 190 万美元 |
| 纽约州 DFS 23 NYCRR 500 | 网络安全事件 | 72 小时内通知 DFS | 监管制裁 |
| SEC 规则(17 CFR 229.106) | 重大网络安全事件 | 确定重大性后 4 个工作日内 | SEC 执法 |
| CCPA / CPRA | 敏感个人信息泄露 | 不得无故拖延 | 总检察长执法;私人诉讼权 |
| NIS2(欧盟 2022/2555) | 重大事件(关键服务) | 24 小时预警;72 小时通报 | 国家主管机构制裁 |
操作规则: 若宣告时范围不明确,应按适用的最严格时限执行,并在首个响应窗口内确认范围。
完整时限参考:references/regulatory-deadlines.md
工作流
工作流 1:快速分诊(15 分钟)
适用于需要在升级决策前进行分类的单个告警:
# 1. Classify the event with false positive filtering
python3 scripts/incident_triage.py --input alert.json \
--classify --false-positive-check --json
# 2. Review severity, escalation_path, and false_positive_flag in output
# 3. If severity = sev1 or sev2, page SOC Lead immediately
# 4. If false_positive_flag = true, document and close
决策: 退出码 2 = 立即召开 SEV1 战情会。退出码 1 = 30 分钟内召开 SEV2 桥接电话会议。
工作流 2:完整事件响应(SEV1)
T+0 Detection arrives (SIEM alert, EDR, user report)
T+5 Classify with incident_triage.py --classify --false-positive-check
T+10 If SEV1: page CISO, open war room, start regulatory clock
T+15 Initiate forensic collection (volatile evidence first)
T+15 Containment assessment (parallel with forensics)
T+30 Human approval gate for any containment action
T+45 Execute approved containment
T+60 Assess containment effectiveness, brief Legal if PII/PHI scope
T+4h Final forensic evidence package, dwell time estimate
T+8h Eradication and recovery plan
T+72h Regulatory notification submission (if GDPR/NIS2 triggered)
# Full classification with forensic context
python3 scripts/incident_triage.py --input incident.json \
--classify --false-positive-check --severity sev1 --json > incident_triage_output.json
# Forensic pre-analysis
python3 scripts/incident_triage.py --input incident.json --json | \
jq '.forensic_findings, .chain_of_custody_steps'
工作流 3:桌面推演模拟
在没有真实事件的情况下,模拟特定严重级别的事件:
# Simulate SEV1 ransomware incident
echo '{"event_type": "ransomware", "host": "prod-db-01", "user": "svc_backup"}' | \
python3 scripts/incident_triage.py --classify --severity sev1 --json
# Simulate SEV2 credential compromise
echo '{"event_type": "credential_compromise", "user": "admin_user", "source_ip": "203.0.113.5"}' | \
python3 scripts/incident_triage.py --classify --false-positive-check --json
# Verify escalation paths for all 14 incident types
for type in ransomware data_exfiltration credential_compromise lateral_movement; do
echo "{\"event_type\": \"$type\"}" | python3 scripts/incident_triage.py --classify --json
done
反模式
- 从调查完成时开始计算通报时限:监管时限(GDPR 72 小时、PCI 24 小时)从发现时开始计算,而非调查完成时。即使事件本身较轻微,延迟宣告也会使组织面临最高额度的处罚。
- 在收集易失性证据之前进行遏制:重启或隔离系统会销毁内存、运行中的进程和活动连接。易失性证据的取证收集必须与遏制并行进行,绝不能在遏制之后进行。
- 升级前跳过误报验证:将每个告警都升级为 SEV1 会削弱 SOC 的可信度并造成告警疲劳。在呼叫 CISO 之前,务必先运行误报过滤。
- 未记录的事件指挥决策:SEV1 期间做出的每项决策,包括在不确定情况下做出的决策,都必须连同时间戳和理由记录在证据链中。未记录的决策无法在监管调查中得到辩护。
- 将事件关闭等同于调查完成:事件应在根除和恢复完成后关闭,而非调查结束时关闭。取证报告和监管提交可能在运营关闭之后继续进行。
- 单一来源分类:仅依据单一数据源(一条 SIEM 告警)在缺乏佐证证据的情况下对事件进行分类,常常导致错误分类。在宣告 SEV1 之前,应至少收集两个独立信号。
- 绕过遏制操作的人工审批关卡:未经人工批准而执行的自动化遏制措施(如网络隔离、凭证吊销)可能导致生产中断、销毁证据并产生法律责任。对于所有会改变系统状态的遏制操作,人工审批都是不可或缺的。
交叉引用
| Skill | 关系 |
|---|---|
| threat-detection | 已确认的狩猎发现会升级至 incident-response 进行分诊和分类 |
| cloud-security | 云态势发现(IAM 泄露、S3 暴露)可能触发事件分类 |
| red-team | 红队发现用于验证检测覆盖范围;已确认的漏洞缺口将转化为狩猎假设 |
| security-pen-testing | 渗透测试中发现的、在野外被利用的漏洞会升级至 incident-response 进行主动事件处理 |