Caloogy 文章
English

事故响应与复盘

日期
2025 年 6 月 11 日
系列
方法论
阅读
4 分钟
主题
Incident responsePostmortemBlamelessNist

一句话版本

安全事故迟早会发生。发生时最怕的不是事故本身,而是慌乱:不知道谁负责、先做什么、该通知谁,结果一边损失扩大,一边破坏了调查证据。 成熟的做法是提前准备一套流程:准备 → 发现与分析 → 遏制 → 根除 → 恢复 → 复盘。复盘要对事不对人(无责复盘),目的是找出"系统为什么允许这件事发生",而不是"谁犯了错"。

全文分三层:

  1. 通俗理解:火灾时的分工
  2. 实际用处:NIST 框架、谷歌 SRE 的无责复盘、公开复盘的好例子
  3. 原理与工程要点:每个阶段做什么、加密货币场景的特殊性、复盘模板

第一层:通俗理解

1.1 火灾时的分工

着火时,最有效的不是所有人一起冲上去,而是:

事后再坐下来,冷静地分析:火是怎么起的?为什么报警器没响?为什么灭火器过期了?

1.2 两个常见错误

错误 后果
一发现就急着"清理" 删掉了日志、重装了服务器,证据没了,不知道攻击者是怎么进来的、还在不在
复盘变成追责 大家开始隐瞒,下次出问题更晚被发现

第二层:实际用处


第三层:原理与工程要点

3.1 各阶段做什么

阶段 关键动作
准备 写好处理手册;明确谁是事故指挥;准备好联系人名单(云厂商、交易所、稳定币发行方、律师、执法部门);演练(见《混沌工程与故障注入》)
发现与分析 确认是否真的是事故;判断严重程度和影响范围;开始记录时间线
遏制 阻止损失扩大:吊销凭证、暂停服务、隔离被攻破的机器、暂停合约。短期遏制可以粗暴,先止血
根除 找到并清除攻击者的立足点:后门、被植入的代码、被盗的凭证;修复漏洞
恢复 从干净的状态恢复服务;加强监控,观察攻击者是否卷土重来
复盘 时间线、根因、做得好的、做得不好的、改进项(每项有负责人和期限)

3.2 保护证据

3.3 沟通

对象 要点
内部 指定一个沟通负责人,定时更新进展,避免谣言
用户 尽早说明"发生了什么、影响了谁、用户需要做什么";不确定的事不要猜
监管 很多地区对数据泄露有法定报告时限
合作方 云厂商、交易所、稳定币发行方(加密货币事件中,越早联系,冻结资金的机会越大)

3.4 加密货币事故的特殊性

3.5 复盘模板

## 摘要
一两句话:发生了什么、影响多大、现在的状态。

## 时间线(统一用一个时区)
- 时间 — 事件(发现、决策、操作)

## 根因
不是"某人犯了错",而是"为什么系统允许这个错误造成这样的后果"。
可以连问五个"为什么"。

## 做得好的
## 做得不好的
## 运气成分
哪些地方只是运气好?下次可能没这么好运。

## 改进项
| 改进 | 负责人 | 期限 | 状态 |

"运气成分"这一节常被忽略,但很重要:它揭示了那些这次没出事、但下次可能出事的薄弱环节。


总结

层次 要点
流程 准备 → 发现分析 → 遏制 → 根除 → 恢复 → 复盘
关键 先止血;隔离而不销毁,保护证据;一人指挥、一人沟通
加密货币 以分钟计;尽快联系发行方和交易所;安全应急组织
复盘 对事不对人;列出运气成分;改进项有负责人和期限