序言
接近一个月没有更新学习心得了,最近一直忙于业务开发。在做项目时会涉及到维护整体架构的威胁建模,简单记录一下。
常见的网络威胁见链接:常见的网络威胁
威胁模型分析(Threat Modeling)
威胁模型分析是寻找系统潜在威胁以建立对抗的策略,以建立安全的系统。它属于资讯安全的议题,并将问题划分成“寻找针对特定技术的威胁模型”与“基于威胁模型建置更安全的系统”。
常见的威胁建模模型
- STRIDE
- PASTA
- LINDDUN
- CVSS
- Attack Trees
- Persona non Grata
- Security Cards
- hTMM
- 威胁建模方法
- Trike
- VAST建模
- OCTAVE
微软STRIDE模型
STRIDE即Spoofing Identify、Tampering With Data、 Repudiation、Information Disclosure、Denial Of Service、Elevation Of Privilege的缩写。STRIDE于1999年发明,并于2002年被Microsoft采纳,是目前最成熟的威胁建模方法。STRIDE随着时间的推移不断发展包括新的特定于威胁的表以及STRIDE-per-Element和STRIDE-per-interaction的变体。
威胁 | 安全性属性 |
---|---|
假冒(Spoof) | 认证(Authentication) |
篡改(Tamper) | 完整性 |
否认(Repudiation) | 不可抵赖性 |
信息泄漏(Information Disclosure) | 机密性 |
拒绝服务(Denial Of Service) | 可用性 |
提升权限(Elevation Of Privilege) | 授权(Authorization) |
在安全架构图中常见的一个词是信任边界(Trust Boundary),即数据流从一个区域流向另一个区域时是否存在安全风险。
STRIDE四元素
- 外部实体:系统控制范围之外的用户、软件系统或设备
- 处理过程:表示一个任务,一个执行过程,一定有数据流入和流出
- 数据存储:数据库,文件,队列
- 数据流:数据传输和转换
分析方式
- 绘制流程图
- 分析威胁
- 评估风险
- 指定消减措施
- 落实消减措施
微软的Threat Modeling Tool
microsoft_threat-modeling-tool
威胁模型部分
模版部分
工具示例,
分析威胁
威胁建模的主要步骤
-
确定系统边界:确定系统或应用程序的范围和边界。
-
收集信息:收集有关系统和应用程序的信息,包括设计文档、代码、配置文件、数据流图等。
-
识别威胁:通过威胁建模工具和方法来识别威胁,例如数据泄露、身份验证漏洞、拒绝服务攻击等。
-
评估威胁:对识别的威胁进行评估,包括威胁的可能性和影响程度。
-
制定安全措施:制定相应的安全措施来降低系统或应用程序的威胁风险,例如加强身份验证、实施访问控制、加密数据等。
参考链接
1、知乎——关于网络安全威胁建模的12种方法介绍
2、Software Security | Trust Boundary Violation
3、microsoft_threat-modeling-tool