什么是威胁建模
开始威胁建模过程之前,我们先了解下基本概念吧
威胁建模是一种结构化方法,它是分析系统可能存在的威胁漏洞,然后建立模型,根据模型,以量化的方式从下到上迭代的计算各个威胁值,然后根据威胁值进行系统分析评估。
为什么要进行威胁建模
随着计算机系统的广泛应用,在软件开发过程中,遭到越来越多的威胁,例如硬件系统被攻击或破坏,软件系统中的程序代码被篡改,用户隐私被泄露等问题,针对这些问题,进行威胁建模可以用来:
尽早发现安全漏洞
增加安全的防护
设计和交付更安全的产品
解决其他技术无法解决的问题
......
因此,进行威胁建模对用户有着重要意义,如下就是威胁建模示意图:
如下是对图上的说明:
1. 风险场景:指的是会遭受外部攻击的环境
2. 资产损失:被攻击后造成的损失(根据资产的价值和数量来定义)
3. 威胁群体:如果遭受攻击,哪些资产会受到威胁
4. 威胁事件的频率:在给定时间范围内攻击者将对资产采取行动的可能性
5. 威胁能力:攻击者能够对资产进行威胁的级别。
6. 安全强度:如果遭受到攻击,安全性有多大
7. 脆弱性:评估威胁发生的可能性 |
EA中威胁建模有什么
在EA中提供了风险分类技术,它包含丰富的风险分类元素,可以帮助用户对风险和威胁进行建模。
下图是在EA中进行威胁建模的一个完整视图:
在图中我们可以看到,要进行威胁建模,可以用到工具箱中的元素、关系。
如下是威胁建模的元素列表
元素列表 |
说明 |
|
Asset Loss :资产损失
Assumption:假设
Contact Frequency:接触频率
External Loss :外部损失
Loss:损失
Loss Event Frequency:损失事件频率
Loss Magnitude: 损失量
Organizational Loss:组织损失
Probability Of Action:作用概率
Resistance Strength:动作安全强度
Risk Scenario:风险情景
Risk:风险
Risk Management Decision:风险管理决策
Threat : 威胁
Threat Agent: 威胁代理
Threat Capability:威胁能力
Threat Community:威胁群体
Threat Event Frequency:威胁事件频率
Threat Response:威胁响应
Vulnerability:脆弱性 |
如下是威胁建模的关系列表
关系列表 |
说明 |
|
Affect:影响
Deny Access:拒绝访问
Destruction:破坏
Disclose:公开
Loss Flow:敏感信息透露
Misuse:滥用
Modify:修改
Unauthorized Access:未授权访问
|
如何在EA中进行威胁建模
在EA中可以通过两种方式创建威胁模型:
1、 使用模型模板创建视图
具体操作步骤如下:
1.
首先打开模型向导
2. 在模型向菜单中选择Strategy
3. 在Strategy的下级菜单中选择Risk Analysis,显示Risk Analysis
4. 选择Threat Community Pattern打开,如图3
5. 创建模型图例,然后然后在此视图基础上进行编辑。 |
2.以创建图表的方式创建威胁模型
具体操作步骤如下:
1.首先打开或新建一个模型
2.在模型中添加图,类型选择Strategy
3.在Strategy的下级菜单中选择Risk Analysis,然后找到对应的图类型创建
4.创建元素时,可在Risk Analysis工具箱中选择元素进行创建 |
在EA中进行威胁建模示例
接下来看一下如何在EA中进行威胁建模呢?我们使用一个简单的用户登录网站的例子,分析下威胁建模过程,这里用如下四个步骤来介绍:
1. 预设场景
首先用户使用浏览器登录Web应用系统,登录时检查是否为HTTPS请求,用户提交用户名和密码到服务器,从后台数据库查询是否为正确的输入,如果用户名和密码正确,则认证成功,登录用户自己的首页界面。
2. 图表化场景
如下是使用EA中的数据流图对一个具体的场景进行描述,过程如下:
如下是用户登录数据流图上的元素说明:
外部实体:用户
数据流:登录请求,HTTPS请求,用户名验证,用户密码查询,返回查询结果
描述过程:检查是否是HTTPS请求,检查用户名是否存在,检查密码是否正确,登陆失败处理
数据存储:数据库 |
3.识别威胁:
绘制完数据流图以后,就是对数据流中的每个元素可能面临的威胁逐个进行分析,我们使用EA中提供的“风险分类”技术对风险和威胁进行分析建模,如下图所示:
如下是基于EA对威胁进行分析建模的元素说明:
1.风险场景:指的是Web登陆系统
2.资产损失:网站被植入木马入侵,造成网站系统故障
3.威胁群体:用户或攻击者
4.威胁事件频率:网站被入侵的频率为30%
5.威胁能力:用户提交登陆信息时,可能存在威胁,攻击者可能伪造用户登录
6.安全强度:用户登录安全强度为80%,其中包括攻击者故意在输入密码时植入错误参数,植入密码
7.脆弱性:网站被植入密码,被攻击的脆弱性达到50% |
4.缓解措施
威胁描述 |
缓解措施 |
攻击者仿冒用户登录网站 |
1.
短信提醒
2. 身份验证
3. 指纹等其他认证方式 |
攻击者绕过当前的认证方式,仿冒用户登录 |
1.增加图形验证码
2.密码增加复杂度要求 |
攻击者通过中间人窃取用户密码 |
1.登录请求HTTPS
2.密码传输前先做一次加密 |
攻击者窃取正常用户的会话,仿冒用户登录
web 网站 |
设置密码长度大于
24 位,通过安全随机数生成 |
威胁建模在系统设计和软件设计过程中都是非常重要的,希望此文对大家了解和使用威胁建模起到帮助作用
。后续请继续关注我们,有更多文章,视频可供大家参考.
如果您希望了解更多信息:
下载 pdf版:
《基于EA进行威胁建模》
本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
|