基于EA进行威胁建模

微信扫一扫,分享到朋友圈

基于EA进行威胁建模

什么是威胁建模

开始威胁建模过程之前,我们先了解下基本概念吧

威胁建模是一种结构化方法,它是分析系统可能存在的威胁漏洞,然后建立模型,根据模型,以量化的方式从下到上迭代的计算各个威胁值,然后根据威胁值进行系统分析评估。

为什么要进行威胁建模

随着计算机系统的广泛应用,在软件开发过程中,遭到越来越多的威胁,例如硬件系统被攻击或破坏,软件系统中的程序代码被篡改,用户隐私被泄露等问题,针对这些问题,进行威胁建模可以用来:

如下是对图上的说明:

 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

    后记

    希望您读了此文后有所受益。

    如果您有经验乐于分享,欢迎投稿给我们。

    如果您对我们的培训、咨询和工具感兴趣:

  • 课程: 基于UML和EA进行分析设计
  • 课程: MBSE(基于模型的系统工程)  
  • 课程: 基于模型的需求管理)方法与实践
  • 课程: 基于SysML和EA进行系统设计与建模  
  • 课程:企业架构建模
  • 课程: 系统架构建模方法与案例
  • 课程:领域驱动的建模与设计
  • 课程:基于模型的设计
  • 课程:业务建模与业务分析
  • 建模工具: EA
  • 基于模型的需求管理工具: iSpace
  • 咨询方案: MBSE(基于模型的系统工程)
  • 咨询方案: 基于UML的模型驱动的开发
  • 代拍如何“割韭菜”?: 起底粉丝经济下的灰色产业链

    上一篇

    男女主木头人,特效刷新认知,你告诉我这是翻拍的《孝庄秘史》?

    下一篇

    你也可能喜欢

    基于EA进行威胁建模

    长按储存图像,分享给朋友