安全威胁模型Skill security-threat-model

安全威胁模型技能是一种结构化安全分析方法,用于在系统设计和审查过程中系统化地识别威胁、漏洞并定义缓解措施。它基于STRIDE框架、信任边界映射和深度防御原则,适用于处理敏感数据、合规要求和安全审计的场景。关键词包括安全威胁模型、STRIDE、信任边界、漏洞识别、安全审计、合规、信息安全。

安全审计 0 次安装 0 次浏览 更新于 3/22/2026

name: security-threat-model description: 在设计和审查处理敏感数据(PII、PHI、金融数据、认证凭证)的系统、构建具有安全影响的功能(认证、支付、文件上传、API)、准备安全审计或合规(PCI、HIPAA、SOC 2)、调查安全事件、集成第三方服务,或当用户提及“威胁模型”、“安全架构”、“STRIDE”、“信任边界”、“攻击面”或“安全审查”时使用。

安全威胁模型

目录

  1. 目的
  2. 何时使用
  3. 它是什么
  4. 工作流程
  5. STRIDE 框架
  6. 信任边界映射
  7. 常见模式
  8. 护栏
  9. 快速参考

目的

安全威胁建模通过STRIDE方法论、信任边界映射和深度防御原则,系统化地识别系统处理敏感数据时的漏洞、威胁和缓解措施,将临时性的安全思考转化为结构化分析。

何时使用

在需要时调用此技能:

  • 设计处理敏感数据(PII、PHI、支付数据、凭证)系统的安全架构
  • 在发布或审计前审查现有系统的安全漏洞
  • 评估新功能(认证、文件上传、API、集成)的安全影响
  • 准备合规要求(PCI DSS、HIPAA、SOC 2、GDPR、FedRAMP)
  • 调查安全事件以识别根本原因并防止复发
  • 评估第三方集成风险(OAuth、webhooks、数据共享)
  • 为利益相关者、审计员或客户记录安全态势
  • 在有限资源下优先处理安全改进

触发此技能的用户短语:

  • “这安全吗?”
  • “有哪些安全风险?”
  • “为[系统]进行威胁模型”
  • “STRIDE分析”
  • “信任边界”
  • “发布前的安全审查”
  • “合规要求”

它是什么

一种结构化的安全分析方法:

  1. 映射系统架构(组件、数据流、信任边界)
  2. 分类数据(敏感性级别、合规要求、生命周期)
  3. 使用STRIDE识别威胁(身份欺骗、数据篡改、否认性、信息泄露、拒绝服务、权限提升)
  4. 定义缓解措施(预防性控制、检测性控制、纠正性控制)
  5. 建立监控(警报、审计日志、事件响应)
  6. 优先处理风险(可能性 × 影响、可利用性、合规性)

快速示例(密码重置流程):

  • 信任边界:用户 → Web服务器 → 邮件服务 → 数据库
  • 数据:邮箱地址(PII)、重置令牌(凭证)、用户ID
  • 威胁
    • 身份欺骗:攻击者请求重置受害者邮箱
    • 数据篡改:邮件链接中的令牌被修改
    • 信息泄露:令牌在日志/分析中可见
    • 拒绝服务:大量重置请求耗尽邮件配额
    • 权限提升:重置令牌不过期,可跨会话重用
  • 缓解措施:速率限制(5/小时)、短期令牌(15分钟)、仅使用HTTPS、邮件确认、失败尝试后账户锁定、加密令牌签名

工作流程

复制此清单并跟踪进度:

安全威胁模型进度:
- [ ] 步骤1:映射系统架构和数据流
- [ ] 步骤2:识别信任边界
- [ ] 步骤3:分类数据和合规要求
- [ ] 步骤4:应用STRIDE识别威胁
- [ ] 步骤5:定义缓解措施、监控和优先处理风险

步骤1:映射系统架构和数据流

记录组件、外部服务、用户、数据存储和通信路径。参见常见模式获取架构示例。对于简单系统 → 使用resources/template.md

步骤2:识别信任边界

标记数据跨越安全域的位置(用户 → 服务器、服务器 → 数据库、内部 → 第三方)。参见信任边界映射获取边界类型。

步骤3:分类数据和合规要求

评估数据敏感性(公开、内部、机密、受限),识别PII/PHI/PCI,记录合规义务(GDPR、HIPAA、PCI DSS)。参见resources/template.md获取分类表。

步骤4:应用STRIDE识别威胁

对每个信任边界和数据流,系统化检查所有六个STRIDE威胁类别。参见STRIDE框架获取威胁识别。对于具有多个攻击面的复杂系统 → 学习resources/methodology.md进行高级攻击树分析和DREAD评分。

步骤5:定义缓解措施、监控和优先处理风险

提议预防性/检测性/纠正性控制,建立监控和警报,按风险评分(可能性 × 影响)优先处理。使用resources/evaluators/rubric_security_threat_model.json自我检查。最低标准:平均分 ≥ 3.5。

STRIDE 框架

S - 身份欺骗

  • 威胁:攻击者冒充合法用户或系统
  • 示例:盗用凭证、会话劫持、来电显示欺骗、邮件欺骗
  • 缓解措施:多因素认证、证书验证、加密签名、相互TLS

T - 数据篡改

  • 威胁:未经授权修改传输或存储中的数据
  • 示例:中间人攻击、SQL注入、文件修改、消息重放
  • 缓解措施:HTTPS/TLS、输入验证、参数化查询、数字签名、校验和、不可变存储

R - 否认性

  • 威胁:用户否认执行操作,无活动证据
  • 示例:删除日志、未签名交易、缺失审计轨迹
  • 缓解措施:全面审计日志、交易数字签名、防篡改日志、第三方时间戳

I - 信息泄露

  • 威胁:敏感信息暴露给未授权方
  • 示例:数据库转储、详细错误消息、未加密备份、API过度获取
  • 缓解措施:存储/传输加密、访问控制、数据最小化、安全删除、日志中脱敏

D - 拒绝服务

  • 威胁:系统变得不可用或性能下降
  • 示例:资源耗尽、分布式攻击、算法复杂性利用、存储填满
  • 缓解措施:速率限制、自动扩展、断路器、输入大小限制、CDN/DDoS防护

E - 权限提升

  • 威胁:攻击者获得未授权访问或权限
  • 示例:SQL注入获取管理员权限、IDOR访问其他用户数据、路径遍历、权限提升漏洞
  • 缓解措施:最小权限原则、输入验证、每次请求的授权检查、基于角色的访问控制

信任边界映射

信任边界:数据跨越不同信任级别的安全域的位置。

常见边界:

  • 用户 → 应用:不受信任输入进入系统(验证、清理、速率限制)
  • 应用 → 数据库:应用凭证 vs. 用户权限(参数化查询、连接池)
  • 内部 → 外部服务:数据离开您的控制(加密、审计日志、合同条款)
  • 公共 → 私有网络:互联网到内部系统(防火墙、VPN、API网关)
  • 客户端 → 服务器端:JavaScript到后端(永远不要信任客户端,服务器端重新验证)
  • 特权 → 非特权代码:管理员功能 vs. 用户代码(隔离、单独进程、安全边界)

边界分析问题:

  • 哪些数据跨越此边界?(分类敏感性)
  • 每侧是谁/什么?(认证、授权)
  • 在跨越时可能出错?(应用STRIDE)
  • 哪些控制保护此边界?(认证、加密、验证、速率限制)

常见模式

模式1:带数据库的Web应用

  • 边界:用户 ↔ Web服务器 ↔ 数据库
  • 关键威胁:SQL注入(篡改)、XSS(欺骗)、CSRF(欺骗)、会话劫持(欺骗)、IDOR(权限提升)
  • 关键缓解措施:参数化查询、CSP头、CSRF令牌、HttpOnly/Secure cookie、授权检查

模式2:带第三方OAuth的API

  • 边界:用户 ↔ 前端 ↔ API服务器 ↔ OAuth提供者 ↔ 第三方API
  • 关键威胁:令牌盗窃(欺骗)、范围蔓延(权限提升)、授权码拦截、重定向URI操作
  • 关键缓解措施:公共客户端的PKCE、状态参数验证、令牌轮换、最小范围、仅使用HTTPS

模式3:微服务架构

  • 边界:API网关 ↔ 服务A ↔ 服务B ↔ 消息队列 ↔ 数据库
  • 关键威胁:服务冒充(欺骗)、横向移动(权限提升)、消息篡改(篡改)、服务枚举(信息泄露)
  • 关键缓解措施:服务间mTLS、服务网格、每服务API认证、网络策略、最小权限IAM

模式4:文件上传服务

  • 边界:用户 ↔ 上传处理器 ↔ 病毒扫描器 ↔ 对象存储
  • 关键威胁:恶意软件上传(篡改)、路径遍历(信息泄露)、文件覆盖(篡改)、存储耗尽(DoS)
  • 关键缓解措施:文件类型验证(魔数非扩展名)、大小限制、病毒扫描、唯一文件命名、单独存储域

模式5:带后端API的移动应用

  • 边界:移动应用 ↔ API网关 ↔ 后端服务
  • 关键威胁:API密钥提取(信息泄露)、证书固定绕过(篡改)、本地数据盗窃(信息泄露)、逆向工程
  • 关键缓解措施:证书固定、ProGuard/R8混淆、生物识别认证、本地加密(Keychain/Keystore)、root/jailbreak检测

护栏

假设被入侵心态:

  • 不要问“攻击者能进入吗?”而是问“当攻击者进入时,他们能造成什么损害?”
  • 深度防御:多重重叠控制,无单点故障
  • 最小权限:默认最小权限,仅明确授予

现实优先:

  • 首先关注高价值资产(客户数据、凭证、金融数据)
  • 在附加功能前解决合规关键威胁(PCI、HIPAA)
  • 平衡安全成本与风险(不要过度设计低风险系统)

避免安全剧场:

  • 安全剧场:感觉安全但未实质性降低风险的控制(例如,无速率限制的密码复杂性 = 仍易受凭证填充攻击)
  • 有效安全:针对实际威胁向量,具有可衡量风险降低

记录假设:

  • “假设数据库不公开访问”(通过网络配置验证)
  • “假设强制使用TLS 1.2+”(在负载均衡器设置中验证)
  • “假设环境变量受保护”(确认秘密管理)

更新威胁模型:

  • 威胁模型会衰减(新功能、新攻击技术、基础设施变更)
  • 季度审查或当架构显著变化时
  • 纳入事件和安全研究的经验教训

快速参考

资源:

5步流程:映射架构 → 识别边界 → 分类数据 → 应用STRIDE → 缓解与监控

STRIDE:身份欺骗、数据篡改、否认性、信息泄露、拒绝服务、权限提升

信任边界:用户→应用、应用→数据库、内部→外部、公共→私有、客户端→服务器、特权→非特权

缓解类型:预防性(阻止攻击)、检测性(识别攻击)、纠正性(响应攻击)

优先处理:先处理高价值资产、合规关键威胁、现实风险与成本平衡