《安全生命周期全流程解析》
第3章 威胁建模基础
3、威胁建模基础:STRIDE模型详解、数据流图绘制、信任边界识别、威胁分类
3.1 STRIDE模型详解
STRIDE 是微软提出的威胁分类模型,每个字母代表一种威胁类型,覆盖安全属性的六个维度:
| 字母 | 威胁类型 | 破坏的安全属性 | 典型示例 |
|---|---|---|---|
| S | Spoofing(欺骗) | 身份认证 | 伪造用户身份登录系统 |
| T | Tampering(篡改) | 完整性 | 修改数据库中的交易金额 |
| R | Repudiation(抵赖) | 不可否认性 | 用户否认发起过某笔操作 |
| I | Information Disclosure(信息泄露) | 机密性 | SQL注入窃取用户密码 |
| D | Denial of Service(拒绝服务) | 可用性 | DDoS攻击使服务瘫痪 |
| E | Elevation of Privilege(权限提升) | 授权 | 普通用户获取管理员权限 |
▲ STRIDE 六类威胁模型图示
3.2 数据流图绘制
数据流图(DFD)是威胁建模的核心工具,用于可视化系统中数据的流动路径。绘制步骤:
- 识别外部实体(用户、第三方系统)
- 定义处理过程(业务逻辑、API)
- 标记数据存储(数据库、文件)
- 绘制数据流(带箭头的连线)
- 标注信任边界(虚线框)
▲ 典型Web应用数据流图(含信任边界)
3.3 信任边界识别
信任边界是系统不同安全等级之间的分界线,跨边界的数据流是威胁的高发区域。常见信任边界类型:
- 网络边界:内网 ↔ 外网(如防火墙两侧)
- 进程边界:用户态 ↔ 内核态
- 身份边界:匿名用户 ↔ 认证用户 ↔ 管理员
- 数据边界:加密数据 ↔ 明文数据
- 物理边界:本地设备 ↔ 云服务
▲ 信任边界示意图:防火墙作为典型边界
3.4 威胁分类
基于STRIDE模型,对识别出的威胁进行系统化分类,便于制定针对性的缓解措施:
| 威胁类别 | 常见攻击手法 | 典型缓解措施 |
|---|---|---|
| 欺骗 (S) | 密码破解、会话劫持 | 多因素认证、强密码策略 |
| 篡改 (T) | 中间人攻击、SQL注入 | 数据签名、输入验证 |
| 抵赖 (R) | 日志删除、操作否认 | 审计日志、数字签名 |
| 信息泄露 (I) | 数据泄露、侧信道攻击 | 加密传输、访问控制 |
| 拒绝服务 (D) | DDoS、资源耗尽 | 流量清洗、限流机制 |
| 权限提升 (E) | 缓冲区溢出、越权访问 | 最小权限原则、沙箱隔离 |
▲ STRIDE威胁分类树状图
💡 实践要点:
- 威胁建模应在设计阶段启动,贯穿整个安全生命周期
- 每个数据流跨越信任边界时,必须评估所有STRIDE威胁
- 使用工具(如Microsoft Threat Modeling Tool)可自动化DFD绘制与威胁识别
- 威胁分类后需排序优先级(基于风险 = 可能性 × 影响)
专注课程资料整理