3. 区域与管道划分方法

3.1 STRIDE模型详解

STRIDE 是微软提出的威胁分类模型,每个字母代表一种威胁类型,覆盖安全属性的六个维度:

字母 威胁类型 破坏的安全属性 典型示例
SSpoofing(欺骗)身份认证伪造用户身份登录系统
TTampering(篡改)完整性修改数据库中的交易金额
RRepudiation(抵赖)不可否认性用户否认发起过某笔操作
IInformation Disclosure(信息泄露)机密性SQL注入窃取用户密码
DDenial of Service(拒绝服务)可用性DDoS攻击使服务瘫痪
EElevation of Privilege(权限提升)授权普通用户获取管理员权限
S 欺骗 T 篡改 R 抵赖 I 信息泄露 D 拒绝服务 E 权限提升

▲ STRIDE 六类威胁模型图示

3.2 数据流图绘制

数据流图(DFD)是威胁建模的核心工具,用于可视化系统中数据的流动路径。绘制步骤:

  1. 识别外部实体(用户、第三方系统)
  2. 定义处理过程(业务逻辑、API)
  3. 标记数据存储(数据库、文件)
  4. 绘制数据流(带箭头的连线)
  5. 标注信任边界(虚线框)
信任边界(内部网络) 用户 Web服务器 应用服务器 数据库 登录请求 转发请求 查询数据 返回结果 响应数据 登录结果

▲ 典型Web应用数据流图(含信任边界)

3.3 信任边界识别

信任边界是系统不同安全等级之间的分界线,跨边界的数据流是威胁的高发区域。常见信任边界类型:

  • 网络边界:内网 ↔ 外网(如防火墙两侧)
  • 进程边界:用户态 ↔ 内核态
  • 身份边界:匿名用户 ↔ 认证用户 ↔ 管理员
  • 数据边界:加密数据 ↔ 明文数据
  • 物理边界:本地设备 ↔ 云服务
不可信区域 (互联网/外部用户) 可信区域 (内部网络/服务器) 防火墙 信任边界 数据流需经过安全检查

▲ 信任边界示意图:防火墙作为典型边界

3.4 威胁分类

基于STRIDE模型,对识别出的威胁进行系统化分类,便于制定针对性的缓解措施:

威胁类别 常见攻击手法 典型缓解措施
欺骗 (S)密码破解、会话劫持多因素认证、强密码策略
篡改 (T)中间人攻击、SQL注入数据签名、输入验证
抵赖 (R)日志删除、操作否认审计日志、数字签名
信息泄露 (I)数据泄露、侧信道攻击加密传输、访问控制
拒绝服务 (D)DDoS、资源耗尽流量清洗、限流机制
权限提升 (E)缓冲区溢出、越权访问最小权限原则、沙箱隔离
STRIDE威胁分类 S T R I D E S=欺骗 T=篡改 R=抵赖 I=信息泄露 D=拒绝服务 E=权限提升

▲ STRIDE威胁分类树状图

💡 实践要点:

  • 威胁建模应在设计阶段启动,贯穿整个安全生命周期
  • 每个数据流跨越信任边界时,必须评估所有STRIDE威胁
  • 使用工具(如Microsoft Threat Modeling Tool)可自动化DFD绘制与威胁识别
  • 威胁分类后需排序优先级(基于风险 = 可能性 × 影响)
专注课程资料整理