在讨论了威胁建模之后。现在我们知道什么是威胁建模以及威胁建模的两种方法是什么 – 基于 DFD 的威胁建模集 1 和集 2 以及基于流程图的威胁建模。
在本文中,我们将详细讨论 Microsoft 威胁建模工具 2016。该工具可以:
- 可以为产品和服务创建 DFD
- 分析 DFD 自动生成潜在威胁列表
- 建议潜在的缓解措施来设计漏洞
- 生成报告,列出已识别和已缓解的威胁
- 为威胁建模创建自定义模板
Microsoft 威胁建模工具将 STRIDE 威胁分类方案应用于已识别的威胁。
STRIDE 是 Spoofing、Tampering、Repudiation、Information Disclosure、Elevation of Privilege 的首字母缩写词。
该工具可免费下载和使用。
您可以通过以下提到的链接从 Microsoft 官方网站下载该工具:
微软威胁建模工具
下载该工具后,接下来运行 ThreatModelingTool2016.msi 并按照步骤安装该工具。
运行该工具时有四种可用方案。
- 创建新的威胁模型:通过绘制图表创建系统的新模型。我们将详细讨论这种情况。默认情况下,新模型的模板是 SDL TM Knowledge Base(Core) (4.1.0.9)
- 修改现有威胁模型:打开现有模型并分析针对您系统的威胁。通过在初始屏幕上从最近打开的模型列表中选择所需的模型或导航到文件菜单中的打开选项,可以打开现有模型进行更改。
- 创建新模板:从头开始为您的威胁模型定义模板、威胁类型和自定义威胁属性。
- 修改现有模板:打开现有模板进行修改以更好地适应您的特定威胁分析
单击创建新模型选项以开始进行威胁分析。
主屏幕将包含三个窗格:绘图画布、模板、元素属性。
- 绘图画布:这是用户为要建模的系统绘制数据流图的空间。推荐的过程是从一个简单的图表开始,并添加详细信息来解释系统并显示所有信任边界。如果您使用子图,您可以将设计横向扩展到多个工作表中,并将高级元素扩展到它们的内部组件元素中。
- 模板:这显示了有助于更精确地绘制 DFD 的大量图标和组件。使用更具体的元素可以生成更精确的威胁。模板窗格显示按通用模板分类的模板的树视图。
以下是可用元素列表:
- 通用流程
- 操作系统进程:它意味着一个 Windows 进程。
- 线程:表示windows进程中的一个执行线程。
- 内核线程:它是windows内核中的一个执行线程。
- 本机应用程序:它是 Win32 或 Win64 应用程序的表示
- 托管应用程序:它是 .NET 应用程序的表示。
- 胖客户端:它是胖客户端的代表
- 浏览器客户端:它是浏览器客户端的表示。
- 浏览器和 ActiveX 插件:它是浏览器插件的表示
- Web 服务器:它是 Web 服务器进程的表示。
- Windows 存储进程:它是 Windows 存储进程的表示。
- Win32 Service:它是网络服务的一种表示。
- Web 应用程序:向用户提供 Web 内容。
- Web 服务:公开一个编程接口。
- 虚拟机:在 Hyper-V 分区上运行的虚拟机。
- 在非 Microsoft 操作系统上运行的应用程序:这些是在 Google 或 Apple 的操作系统上运行的 Microsoft 应用程序。
- 通用外部交互器
- 浏览器:它是外部网络浏览器的表示。
- 授权提供者:它是外部授权提供者的表示。例如 Facebook 等。
- 外部 Web 应用程序:它是向人类用户提供 Web 内容的外部 Web 应用程序(例如门户或前端)的表示。
- 外部 Web 服务:它是公开编程接口的外部 Web 服务的表示。
- 人类用户:它是人类用户的代表。
- Mega Service:一种在 Internet 上只有一个实例的大型服务,例如 Outlook.com 或 Xbox Live。
- Windows 运行时:表示应用程序调用非托管运行时库(如 CRT)的点。
- Windows .NET 运行时:表示应用程序调用 .NET Framework 的点。
- Windows RT 运行时:表示应用程序调用 WinRT 的点。
- 通用数据存储
- 云存储:它是云存储的代表。
- SQL 数据库:它是 SQL 数据库的表示
- 非关系数据库:它是非关系数据库的表示。
- 文件系统:它是文件系统的表示。
- Registry Hive:它是注册表的表示。
- 配置文件:INF、XML等文件。
- 缓存:它是本地缓存的表示
- HTML5 本地存储:它是 HTML5 本地存储的表示。
- Cookies:它是cookie存储的一种表示
- 设备:它是设备存储的表示。
- 通用数据流
- HTTP:它是HTTP数据流的表示
- HTTPS:它是 HTTP、TLS、SSL 数据流的表示
- 二进制
- IPSec:是IPSec数据流的表示。
- 命名管道:它是命名管道数据流的表示。
- SMB:它是服务器消息块 1.0 或服务器消息块 2.0 数据流的表示
- RPC 或 DCOM:它是远程过程调用或分布式 COM 数据流的表示。
- ALPC:使用高级本地过程调用端口的进程间通信。
- UDP:用户数据协议传输。
- IOCTL 接口:应用程序与设备驱动程序通信的接口。
- 通用信任线边界
- 互联网边界
- 机器信任边界
- 用户模式或内核模式边界
- 应用容器边界
- 通用信任边界边界
- CorpNet Trust Boundary:是企业网络信任边界的边界表示。
- Sandbox Trust Boundary Border:它是沙箱信任边界的边界表示。
- Internet Explorer 边界:它是 Internet 信任边界的弧形表示
- 其他浏览器边界:描述由 Google Chrome 和 Mozilla Firefox 实现的信任边界类型。
- 自由文本注释
- 通用流程
- 元素属性:属性或我们可以说的属性因元素而异。所有元素通用的唯一属性是名称,它标识每个元素和范围外属性,这意味着从威胁生成矩阵中删除元素及其交互,以便在列出潜在威胁时不会对其进行计数。
这些组件中的每一个都有某些可定制的属性,其中每个组件都有一个预定义的默认值,因此用户可以设置或不设置这些值。
在下一篇文章(即第 2 组)中,我们将讨论每个组件的属性列表以及如何生成威胁报告。
参考:
- Microsoft 威胁建模工具 2016 – 下载链接