brandonwise-threat-modeling

TotalClaw 作者 totalclaw

威胁建模方法论、安全架构审查与风险评估专家,使用 STRIDE、PASTA、攻击树和安全需求提取。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~brandonwise-threat-modeling
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~brandonwise-threat-modeling/file -o brandonwise-threat-modeling.md
## 概述(中文)

威胁建模方法论、安全架构审查与风险评估专家,使用 STRIDE、PASTA、攻击树和安全需求提取。

## 技能正文

# 威胁建模专家

威胁建模方法论、安全架构审查与风险评估专家,使用 STRIDE、PASTA、攻击树和安全需求提取。

## 描述

适用场景:
- 设计新系统或功能(安全内建)
- 审查架构安全缺口
- 准备安全审计
- 识别攻击向量和威胁行为者
- 确定安全投资优先级
- 创建安全文档
- 培训团队安全思维

不适用场景:
- 缺乏安全审查范围或授权
- 需要法律合规认证(咨询法务)
- 仅需自动化扫描(使用 vulnerability-scanner)

---

## 核心流程

### 1. 定义范围
- 系统边界
- 需保护的资产
- 信任边界
- 监管要求

### 2. 创建数据流图
```
[用户] → [Web 应用] → [API 网关] → [后端] → [数据库]
                ↓
          [外部 API]
```

### 3. 识别资产与入口点
- **资产**:用户数据、凭据、业务逻辑、基础设施
- **入口点**:API、表单、文件上传、管理面板

### 4. 应用 STRIDE
- **S**poofing(欺骗):能否冒充他人?
- **T**ampering(篡改):数据能否被修改?
- **R**epudiation(抵赖):行为能否被否认?
- **I**nformation Disclosure(信息泄露):数据能否泄露?
- **D**enial of Service(拒绝服务):可用性能否受影响?
- **E**levation of Privilege(权限提升):能否提升访问权限?

### 5. 构建攻击树
```
目标:访问管理面板
├── 窃取管理员凭据
│   ├── 钓鱼
│   ├── 暴力破解
│   └── 会话劫持
├── 利用漏洞
│   ├── SQL 注入
│   └── 认证绕过
└── 社会工程
    └── 客服台妥协
```

### 6. 评分与优先级
使用 DREAD 或 CVSS:
- **D**amage potential(损害潜力)
- **R**eproducibility(可重现性)
- **E**xploitability(可利用性)
- **A**ffected users(受影响用户)
- **D**iscoverability(可发现性)

### 7. 设计缓解措施
将威胁映射到控制措施并验证覆盖。

### 8. 记录残余风险
哪些被接受 vs. 已缓解。

---

## STRIDE 分析模板

| 组件 | 欺骗 | 篡改 | 抵赖 | 信息泄露 | DoS | 权限提升 |
|-----------|----------|-----------|-------------|-----------------|-----|-----|
| Web 应用 | 认证绕过 | XSS、CSRF | 缺少日志 | 错误消息 | 速率限制 | 访问控制失效 |
| API | 令牌窃取 | 输入操纵 | 无审计 | 数据暴露 | 资源耗尽 | 权限提升 |
| 数据库 | 凭据窃取 | SQL 注入 | 无审计轨迹 | 备份暴露 | 连接洪泛 | 直接访问 |

---

## 按层威胁类别

### 应用层
- 注入(SQL、XSS、命令)
- 认证失效
- 敏感数据暴露
- 访问控制失效
- 安全配置错误
- 使用有漏洞的组件

### 网络层
- 中间人攻击
- 窃听
- 重放攻击
- DNS 欺骗
- DDoS

### 基础设施层
- 未授权访问
- 服务配置错误
- 未打补丁的系统
- 弱凭据
- 暴露的管理接口

### 人员层
- 钓鱼
- 社会工程
- 内部威胁
- 凭据共享

---

## 数据流图元素

| 元素 | 符号 | 描述 |
|---------|--------|-------------|
| 外部实体 | 矩形 | 用户、外部系统 |
| 处理 | 圆形 | 应用逻辑 |
| 数据存储 | 平行线 | 数据库、缓存、文件 |
| 数据流 | 箭头 | 数据移动 |
| 信任边界 | 虚线 | 安全边界 |

---

## 风险优先级矩阵

```
              低影响    高影响
高可能性   中等        高
低可能性   低           中等
```

### DREAD 评分(每项 1-10)

| 因素 | 问题 |
|--------|----------|
| Damage | 被利用后果多严重? |
| Reproducibility | 多容易重现? |
| Exploitability | 多容易攻击? |
| Affected Users | 影响多少人? |
| Discoverability | 多容易发现? |

**得分**:总和 / 5 = 风险等级

---

## 缓解策略

### 输入验证
- 白名单验证
- 参数化查询
- 输出编码
- Content-Type 强制

### 认证
- 尽可能使用 MFA
- 强密码策略
- 账户锁定
- 安全会话管理

### 授权
- 最小权限原则
- 基于角色的访问控制
- 资源所有权检查
- 定期权限审计

### 密码学
- 全程 TLS 1.2+
- 强密钥管理
- 安全密码哈希
- 静态数据加密

### 监控
- 安全事件日志
- 异常检测
- 告警阈值
- 事件响应计划

---

## 最佳实践

1. **让开发人员参与**威胁建模会议
2. **关注数据流**,而非仅组件
3. **考虑内部威胁**
4. **随架构变更更新模型**
5. **将威胁关联**到安全需求
6. **跟踪缓解措施**到实现
7. **定期审查**,不仅在设计时
8. **保持模型为活文档**

---

## 输出模板

```markdown
# 威胁模型:[系统名称]

## 范围
- 范围内组件
- 范围外

## 资产
- 关键资产列表

## 信任边界
- 内部 vs 外部
- 管理员 vs 用户

## 数据流图
[DFD 此处]

## STRIDE 分析
[表格此处]

## 优先级威胁
1. [高] 描述 - 缓解
2. [中] 描述 - 缓解

## 残余风险
- 已接受风险及理由

## 审查计划
- 下次审查日期
```