该技能用于对目标系统开展结构化的威胁建模演练,依托业界标准框架:STRIDE(威胁分类)、DREAD(风险评分)、PASTA(流程驱动方法论)以及攻击树(攻击分解)。最终产出包含MITRE ATT&CK映射的威胁目录、风险矩阵,以及按优先级排序的缓解路线图。
用途与适用场景
- 在系统设计或架构评审阶段,于实现之前识别安全风险
- 准备安全审计或合规评估,需要形成书面的威胁分析时
- 将新系统纳入安全计划,需要建立基线威胁覆盖时
- 出现重大功能或基础设施变更,需要重新评估攻击面时
前置条件
- 无需外部工具(本技能基于方法论与清单)
- 可获取系统架构图、数据流图(DFD)或同类文档
- 了解系统的技术栈、信任边界与数据敏感级别
- (可选)MITRE ATT&CK 参考:https://attack.mitre.org
输入项
- SYSTEM_NAME:被评审系统名称,例如 Payment API v3
- SYSTEM_TYPE:系统类型,web-app / api / microservice / infrastructure
- TECH_STACK:技术栈,例如 Node.js, PostgreSQL, Redis, AWS ECS
- DATA_SENSITIVITY:范围内最高数据分级,PII / PCI / internal / public
- REVIEW_SCOPE:评审边界,例如所有对外端点和认证流程
工作流
第1步:系统分解 在识别威胁之前先确定需要保护的对象。收集目标系统的以下信息。 参考:资产清单、信任边界和入口点的 Markdown 模板见 REFERENCE.md。 数据流图(DFD)摘要:若没有可视化 DFD,可用编号列表描述主要数据流,例如:
- 用户提交凭据 → Web 层 → 认证服务 → 凭据数据库 → 签发 JWT
- 已认证用户提交支付 → Web 层 → 支付服务 → 支付处理方(外部)→ 交易数据库
- 管理员查询报表 → 管理界面 → 报表服务 → 只读副本数据库
第2步:威胁识别(STRIDE) 对每个 DFD 元素(进程、数据存储、数据流、外部实体)以及每次信任边界跨越应用 STRIDE 模型。对识别出的每个威胁,按 T-NNN 格式创建目录条目。 参考:STRIDE 类别参考表和威胁目录条目模板见 REFERENCE.md。对所有 STRIDE 类别和 DFD 元素中识别出的每个威胁,重复使用威胁目录模板。
第3步:威胁优先级排序(DREAD 评分) 使用 DREAD 模型对目录中的每个威胁评分。每个维度按 1–10 打分;DREAD 总分为平均值,保留一位小数。 参考:DREAD 维度、评分表模板和风险等级阈值见 REFERENCE.md。 CVSS 映射(可选):对于需要正式 CVE 式评分的威胁,可配合 DREAD 使用 NVD 计算器计算 CVSS v3.1 基础分:https://nvd.nist.gov/vuln-metrics/cvss/v3-calculator
第4步:缓解设计 对每个 HIGH 和 CRITICAL 威胁,遵循纵深防御原则设计具体缓解措施。 参考:缓解路线图模板和 5x5 风险矩阵模板见 REFERENCE.md。
完成标准
- 系统分解完成:资产、信任边界、入口点和数据流已记录
- 对所有 DFD 元素和信任边界均已应用 STRIDE 分析
- 每个识别出的威胁都有 T-NNN 目录条目,包含 STRIDE 类别、攻击向量、影响、MITRE ATT&CK 映射以及现有/推荐控制
- 每个威胁都有 DREAD 评分和风险等级
- 所有 HIGH 和 CRITICAL 威胁都有缓解路线图
- 风险矩阵汇总了完整威胁组合
- 残余风险已被明确记录
失败模式与应对
- 资产清单不完整:系统文档缺失或过时。应对:访谈系统负责人;从网络图或源码反向梳理
- STRIDE 未产出威胁:分析过于表面。应对:对每一条数据流分别应用 STRIDE,而非只针对整体系统
- 不同评审者 DREAD 评分不一致:评分主观。应对:用参考威胁进行校准(例如先给一个已知 CVE 评分)
- 缓解路线图不可执行:控制描述过于抽象。应对:每项控制应指明具体技术、配置或代码改动
- MITRE ATT&CK 映射不清晰:不熟悉该框架。应对:使用 ATT&CK Navigator 按技术检索:https://mitre-attack.github.io/attack-navigator/
注意事项
- 本技能涵盖四种最常见的威胁建模框架。对新系统,建议从 STRIDE + DREAD 开始。对于受监管敏感场景(PCI DSS、HIPAA)且需要完整流程追踪时,可加入 PASTA。
- 威胁模型是活的文档。在重大架构变更、新增外部集成或数据分级调整后,应重新运行本技能。
- 攻击树最适合高价值的具体威胁(例如“攻击者获得管理员权限”)。构建时把攻击者目标置于根节点,再分解为 AND/OR 子目标,直到叶子节点为具体、可测试的攻击步骤。
- 可将本技能与 owasp-check(Web 应用)和 dependency-audit(供应链威胁)配合使用,以获得更广覆盖。
- MITRE ATT&CK Enterprise 矩阵参考:https://attack.mitre.org/matrices/enterprise/