mcpField
T
threat-modeling-techniques

threat-modeling-techniques

github.com/nickcrew安全62357 次安装17 周前更新
代码仓库

关于 threat-modeling-techniques

threat-modeling-techniques 是用于系统设计与架构阶段的安全威胁建模技能,面向开发者、架构师和安全团队。它以 STRIDE、攻击树和 DREAD 风险评分组织识别、评估、缓解与验证流程。

主要功能

  1. 01五阶段威胁建模流程
  2. 02使用 STRIDE 分类威胁
  3. 03用攻击树梳理攻击路径
  4. 04通过 DREAD 评估风险
  5. 05检查信任边界与控制措施
  6. 06规划缓解与安全需求

适用场景

  1. 01设计新系统或新功能时识别威胁
  2. 02审查系统架构和第三方集成
  3. 03按风险优先级制定安全措施
  4. 04记录安全设计决策并规划测试

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nickcrew/claude-cortex --skill threat-modeling-techniques

安装后在 Claude Code 中输入/threat-modeling-techniques确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
attack-trees.md
data-flow-diagrams.md
dread-scoring.md
mitigation-strategies.md
stride-disclosure.md
stride-dos.md
stride-elevation.md
stride-repudiation.md
stride-spoofing.md
stride-tampering.md
tools-and-process.md

详细介绍

威胁建模技术

在系统设计和架构阶段,使用 STRIDE、攻击树和风险评估框架等成熟方法,系统地识别、分析并缓解安全威胁。

何时使用此技能

  • 设计具有安全要求的新系统或功能
  • 进行安全架构评审
  • 识别攻击向量和威胁场景
  • 在实施前评估安全风险
  • 制定安全要求和控制措施
  • 评估第三方集成对安全的影响
  • 规划安全测试策略
  • 记录安全设计决策
  • 培训团队进行主动安全思考
  • 支持安全合规计划(SOC 2、ISO 27001)

核心流程

五阶段威胁建模流程:

  1. 定义 - 了解系统并创建架构图
  2. 识别 - 使用结构化方法(STRIDE、攻击树)列举威胁
  3. 评估 - 评估风险的严重程度和可能性(DREAD 评分)
  4. 缓解 - 设计控制措施和对策
  5. 验证 - 评审并测试安全控制措施

快速参考

任务加载参考资料
STRIDE:身份欺骗skills/threat-modeling-techniques/references/stride-spoofing.md
STRIDE:篡改数据skills/threat-modeling-techniques/references/stride-tampering.md
STRIDE:抵赖skills/threat-modeling-techniques/references/stride-repudiation.md
STRIDE:信息泄露skills/threat-modeling-techniques/references/stride-disclosure.md
STRIDE:拒绝服务skills/threat-modeling-techniques/references/stride-dos.md
STRIDE:权限提升skills/threat-modeling-techniques/references/stride-elevation.md
攻击树skills/threat-modeling-techniques/references/attack-trees.md
数据流图(DFD)skills/threat-modeling-techniques/references/data-flow-diagrams.md
DREAD 风险评分skills/threat-modeling-techniques/references/dread-scoring.md
缓解策略skills/threat-modeling-techniques/references/mitigation-strategies.md
工具与流程skills/threat-modeling-techniques/references/tools-and-process.md

核心概念

STRIDE 方法

STRIDE 将威胁分为六种类型:

  • Spoofing:冒充其他人或事物(绕过身份验证、窃取凭证)
  • Tampering:恶意修改数据(中间人攻击、数据损坏)
  • Repudiation:在没有证据的情况下否认行为(缺少审计跟踪)
  • Information Disclosure:暴露敏感数据(数据泄露、错误信息过于详细)
  • Denial of Service:使系统不可用(资源耗尽、DDoS)
  • Elevation of Privilege:获取未授权能力(权限提升、IDOR)

将 STRIDE 应用于:

  • 数据流图中的每个组件
  • 每次跨越信任边界的操作
  • 所有数据存储和处理流程
  • 外部集成和 API
攻击树

以层级图展示从目标到方法的攻击路径:

[Root: Attack Goal]
    |
    +-- [OR] Method 1 (alternative paths)
    |       |
    |       +-- [AND] Required Step 1.1
    |       +-- [AND] Required Step 1.2
    |
    +-- [OR] Method 2 (alternative paths)

使用攻击树来:

  • 可视化攻击场景
  • 找出最容易的攻击路径
  • 分配属性(成本、技能、被发现的可能性)
  • 优先缓解高风险路径
DREAD 风险评分

DREAD 用于量化威胁严重程度(每项标准按 0-10 评分,平均值即为风险分数):

  • Damage Potential:利用漏洞会造成多大损害?
  • Reproducibility:复现起来有多容易?
  • Exploitability:利用起来有多容易?
  • Affected Users:会影响多少用户?
  • Discoverability:发现起来有多容易?

风险等级:

  • 7.1-10.0:严重(立即处理)
  • 5.1-7.0:高(下一个迭代)
  • 3.1-5.0:中(后续版本)
  • 0.0-3.0:低(待办事项)
信任边界

划分不同信任级别的界线:

  • 网络:互联网 → DMZ → 内部网络
  • 进程:用户模式 → 内核、容器 → 主机
  • 用户:匿名 → 已认证 → 管理员

在每个边界处,验证:

  • 是否需要身份验证?
  • 是否强制执行授权检查?
  • 数据是否加密?
  • 输入是否经过验证?
  • 操作是否已记录?

实用工作流程

1. 定义范围(30 分钟)
  • 确定范围内的系统组件
  • 定义信任边界
  • 列出需要保护的资产
  • 确定合规要求
2. 分解架构(1 小时)
  • 创建数据流图(DFD)
  • 记录外部依赖项
  • 确定身份验证和授权点
  • 映射数据存储位置
3. 识别威胁(1–2 小时)
  • 对每个 DFD 元素应用 STRIDE
  • 为高价值资产创建攻击树
  • 与团队一起集思广益,构思威胁场景
  • 使用威胁建模工具获取建议
4. 评估风险(1 小时)
  • 对每项威胁应用 DREAD 评分
  • 按风险评分对威胁排序
  • 考虑业务背景和合规要求
  • 区分快速见效的措施与长期工作
5. 规划缓解措施(1 小时)
  • 设计安全控制措施(消除、降低、转移、接受)
  • 记录缓解策略
  • 创建安全需求(SEC-### 格式)
  • 指定实施负责人
6. 编写文档(30 分钟)
  • 导出威胁模型图
  • 创建安全需求文档
  • 记录风险接受决策
  • 与利益相关者分享

常见错误

避免:

  • 威胁建模启动过晚(实现完成后才开始)
  • 只关注外部威胁(忽视内部人员威胁)
  • 创建静态威胁模型(从不更新)
  • 图表过于复杂(细节太多)
  • 忽视发生概率低但影响大的威胁
  • 未能记录假设和决策
  • 未能落实缓解措施

最佳实践

团队参与:

  • 开发人员:实现细节、代码层面的威胁
  • 架构师:系统设计、集成点
  • 安全团队:威胁专业知识、攻击场景
  • 运维人员:部署、监控、事件响应
  • 产品负责人:业务影响、风险接受决策

融入流程:

  • 设计阶段:在实现前建立威胁模型
  • 开发阶段:实施控制措施、创建安全测试
  • 部署阶段:验证控制措施、启用监控
  • 维护阶段:功能变更时更新模型

工具

Microsoft Threat Modeling Tool:可视化 DFD 编辑器,自动生成 STRIDE 威胁 OWASP Threat Dragon:开源、跨平台,提供 Web 和桌面版本 IriusRisk:商业平台,集成 DevSecOps,支持合规映射 ThreatModeler:支持协作和云架构

资源

评论

支持 Markdown