让我们通过一个假设的在线电子商务网站来描述如何进行STRIDE威胁建模。这个网站允许用户浏览商品、添加商品到购物车、结账并进行支付。
1. 创建模型
首先,绘制出该网站的架构图,包括以下组件:
- 前端用户界面(UI)
- 后端服务器处理业务逻辑
- 数据库存储用户信息和订单数据
- 支付网关接口
- 用户认证系统
2. 确定和分类安全边界
在此案例中,安全边界可能包括:
- 用户与前端UI之间的连接
- 前端UI与后端服务器之间的连接
- 后端服务器与数据库之间的连接
- 后端服务器与支付网关之间的连接
3. 识别潜在威胁
欺骗(Spoofing)
- 用户认证:攻击者可能尝试冒用其他用户身份登录。
- 服务器身份验证:攻击者可能设立假冒的服务器来截获数据。
篡改(Tampering)
- 数据传输:攻击者可在传输过程中篡改购物车内容或价格信息。
- 数据库修改:攻击者可能通过SQL注入等手段修改数据库内容。
否认(Repudiation)
- 订单操作:用户可能否认自己下了订单,如果没有合适的日志记录,就难以验证真实情况。
信息泄露(Information Disclosure)
- 敏感数据泄露