Microsoft-Threat-Modeling-Tool威胁建模工具介绍

1、工具安装

前期准备:

1)预装Windows操作系统,因为该工具仅适用于Windows
2)需要安装.NET Framework 4.7.1及其以上版本
3)下载代理程序后,需要联网进行安装

下载安装

1)下载地址:https://aka.ms/threatmodelingtool
2)双击安装包,在弹出的框中点击“安装”
3)等待下载,直到安装完成

2、工具模块

该工具主要有以下五个模块:创建模型、打开模型、阅读使用指南、创建一个新的模板、打开一个模板。由于该工具内置的模板已经足够使用,因此常用的模块只有创建模型与打开模型。

1)创建模型。如下图所示,建议使用内置的SDL TM Knowledge Base模板,其他两个模版在特殊情况下才会使用到。

Microsoft-Threat-Modeling-Tool威胁建模工具介绍

2)打开模型。打开一个已经存在的模型。

Microsoft-Threat-Modeling-Tool威胁建模工具介绍

3、工具导航

工具页面如下图所示,首先了解下各个菜单项的功能,熟悉主要使用的一些功能。

Microsoft-Threat-Modeling-Tool威胁建模工具介绍
*菜单项(以从左到右顺序):

标签 详细说明
File 新建、打开、保存、另存为、退出等
Edit 撤销、回退、复制、剪切、粘贴等
View 分析视图、设计视图、放大、缩小、各功能模块图等
Setting 启用威胁、禁用威胁等
Diagram 添加关系图、删除关系图、选择关系图标签等
Reports 创建报告等
Help 帮助工具等
DiagramReader 读取生成的结果等

符号菜单项(以从左到右顺序):

标签 详细说明
打开 打开新文件
保存 保存当前文件
设计 打开设计视图
分析 打开分析视图
添加关系图 添加关系图选项卡
删除关系图 删除关系图选项卡
复制 复制
剪切 剪切
粘贴 粘贴
撤销 撤销
回退 回退(撤销的反义词,撤销刚发生的撤销)
放大 放大画布
缩小 缩小画布
反馈 给微软反馈问题

模具:

模具就是威胁建模中所使用的单位,例如一个APP、一个服务器、一个数据库或者一个请求。它们共同构成了一个系统运行的拓扑。通过这个庞大的拓扑,威胁建模工具能够分析出其中的安全隐患。

模具有如下几类:

类别 举例
通用模具 web服务器、虚拟机、移动APP
外部交互 浏览器、用户、大型服务
数据存储 云存储、数据库、文件系统、缓存
数据流 HTTPS、SMB、UDP
信任线边界 网络边界、机器信任边界、用户模式与核心模式边界
信任框边界 办公网信任边界、沙盒信任边界、网络浏览边界
文本注释 常规文本注释

模具属性:

每个模具都有一些特定的属性,比如一个APP它的代码类型是否受管控、运行方式是本地还是网络、是否有认证机制、是否有授权机制等,一个HTTPS请求来源是否经过验证、是否传输XML数据、是否做了伪造保护等。

一个系统所有模具的连接构成了一个系统运行的拓扑,而每一个模具的属性则加深了这个拓扑的精确性和真实性。如果这个模具仅仅是默认的属性,那么威胁建模的结果并不能反应出这个系统的真实结果。

每个模具都有不同的属性,除了信任边界外,所有其他模具都包含三个常规选择:

模具属性 详细信息
模具名称 主要用于对该模具起容易辨识的名字
超出范围 如果选择此选项,该元素会从威胁生成矩阵中移除
超出范围原因 告知选择超出范围的原因和理由

4、工具使用

1)构建威胁建模

该工具使用起来是非常简单的,但威胁建模是一个较为复杂和困难的工作,其难点在于对业务系统的了解度,如果对系统逻辑非常了解,那么很快就能完成一个系统的威胁建模,反之,如果对系统逻辑一知半解,那么完成一次威胁建模就需要多方协作配合,这就成了一个复杂的过程。

在进行威胁建模时,只需进行以下几步:

1、将左边的模具栏的模具,拖动到画布上
2、双击画布上的模具,即可看到该模具的属性,修改其属性值
3、按业务系统逻辑继续添加对应模具,并修改新模具的属性值
4、最终构成了完整的业务系统逻辑图

示例如下所示:

Microsoft-Threat-Modeling-Tool威胁建模工具介绍
2)威胁分析与处理

在构建完成业务系统逻辑图之后,就不再添加新的模具了,除非又有新的规划需要增加新业务。此时则需要对业务系统的威胁进行分析与处理,标明威胁的状态,填写备注信息,因为并不是所有威胁都是真实存在的。

威胁分析与处理的具体步骤如下:

1、点击分析视图,进入威胁分析模式
2、逐个点击工具辨识出的威胁,判断该威胁是真实存在,还是误报,或者是已经有了缓解措施
3、对该威胁选择对应的状态
4、填写对应的说明
5、点击生成报告,即可生成HTML格式的威胁建模报告,便于交付实施人员或审计人员,也便于后续回顾和阅读。
6、后续处理。对于误报、不适用或者是已经做了缓解措施的威胁,可以无视该威胁;对于真实存在且没有做任何缓解措施的威胁,应当考虑如何对其进行规避

示例如下所示:

Microsoft-Threat-Modeling-Tool威胁建模工具介绍