章节摘要:第 4 章管住进料,第 3 章管住事前与事后,但运行中仍有变数:审过的依赖可能带延迟激活的逻辑,策略永远有灰区,漏洞永远修不完。运行时防护换一个视角——盯行为,不盯出身:不管代码来自哪个市场、过了几道审查,只看它运行时做了什么。本章两件事:其一,识别异常——外联尝试、路径越界、资源尖峰、高频写四类信号,各配观测点、典型指纹与阈值,再给一个滑动窗口熔断器 breaker.py,把第 3.2 节里「连续 deny 是试探指纹」的人工观察变成自动止损;其二,往前一步做最坏打算——假设某天真逃逸了,如何用一次性沙箱、出站白名单网关与凭据隔离压缩爆炸半径,并按发现、隔离、取证、根因、恢复加固五步走完事件响应。审计日志依然是全章的判据底座。
运行时防护在三层防线中的位置(补上「事中」这一格) 事前(第 3 章) 事中(本章 5.1) 事后(第 3.2 节) 策略评估 allow/deny/审批 行为信号:外联/越界/尖峰/高频写 审计回放:时间线/对照/统计 │ │ ▲ │ ▼ │ │ 滑动窗口熔断 ──动作分级──▶ 记录/降速/挂起/终止 ──┐ │ │ └────────────── 逃逸假设(本章 5.2)────────────────────────┘ 压爆炸半径 + 隔离凭据 + 事件响应五步(发现→隔离→取证→根因→恢复加固)
一句话金句:出身可以伪造,行为不会说谎。
(文字流程图)审计事件流 ──▶ 信号归类 ──▶ 滑动窗口计数 ──▶ 达阈值熔断 ──▶ 分级动作回写审计 ──▶ 严重者进入事件响应五步。
先读 5.1 掌握「怎么发现」,再读 5.2 预演「发现之后怎么办」;两节共用第 3.2 节的审计底座,建议翻阅 auditor.py 与 replay_query.py 后再进入。
赶时间的读者至少读完 5.1 的信号表与 5.2 的五步表——两张表就是本章的最小可带走物。
┌──────────────────────────────┐ ┌──────────────────────────────┐ │ 5.1 异常行为信号与熔断 │ │ 5.2 逃逸后的损害控制 │ │ 发现:信号 → 窗口 → 动作 │ ────▶ │ 兜底:逃逸假设 → 压半径 → 响应 │ │ 信号表 + breaker.py + 校准 │ │ 一次性沙箱 + 凭据隔离 + 五步 │ └──────────────┬───────────────┘ └──────────────┬───────────────┘ │ 熔断与告警是事件响应的第一步「发现」 │ 演练剧本反哺信号与阈值 └──────────────────┬─────────────────────┘ ▼ 第 6 章 红队自测与落地(把信号、熔断、响应全部拉进演练与回归)