Threat Modeling 威胁建模

识别 资产、它们的 漏洞、以及每个资产如何暴露于 威胁 的过程。

简单说:在系统真被打之前,先在白板上把它打一遍。

经典 4 个问题(Shostack)

  1. 我们在做什么? —— 画系统数据流图
  2. 哪里会出错? —— 列威胁
  3. 我们打算怎么办? —— 设计缓解措施
  4. 我们做得够好吗? —— 验证 + 迭代

主流框架

框架适用
STRIDE微软出的,按威胁类型分类:Spoofing / Tampering / Repudiation / Info Disclosure / DoS / Elevation of Privilege
PASTAProcess for Attack Simulation and Threat Analysis,7 步,适合企业级
Attack Trees把攻击目标作为根节点,逐层拆解攻击路径
DREAD给威胁打分(Damage/Reproducibility/Exploitability/Affected Users/Discoverability)
OCTAVE偏组织级风险,而非系统级

什么时候做

  • 新系统设计阶段 —— 最划算,改图比改代码便宜
  • 架构重大变更前
  • 合规要求时(如 HIPAAPCI DSS)
  • 安全事件后 —— 复盘 + 防再犯

一个最简单的开始

不用一上来上 PASTA。先画一张数据流图,然后对每条数据流问 STRIDE 6 个问题。比什么都不做强 10 倍。