2019年12月4日

draw.io中的威胁建模分析漏洞怎么使用?

使用draw.io中的威胁建模分析漏洞

  • 查看大图
  • 威胁建模的过程流程图

威胁建模,尤其是在IT中,变得越来越普遍。公司越来越意识到将其基础架构和设备连接到互联网的风险。随着更多的设备,机器,传感器,监视器和应用程序被添加到公司的基础架构中,潜在的漏洞将会更多。

根据维基百科,威胁建模应回答:

  • 我最容易受到攻击的地方是哪里?
  • 最相关的威胁是什么?
  • 我需要怎么做才能抵御这些威胁?

威胁建模中使用的图类型

使用几种不同的图表类型更容易以视觉方式表示漏洞,所有这些类型都可以使用draw.io创建。

数据流程图(DFD)

威胁建模DFD与系统工程师使用的DFD类似,但有一些其他形状。运营或基础设施威胁模型(OTM)是一种特定类型的数据流程图,可直观显示独立的,分组的和共享的组件如何通过连接路径相互通信以及与外部实体进行通信。

威胁建模的示例数据流程图

工艺流程图(PFD)

敏捷团队使用它们来构建应用程序威胁模型(ATM)。敏捷软件开发团队可以通过严格检查用于将代码的构建块连接在一起的通信协议来分析其应用程序和功能。

威胁建模的示例流程图

攻击树

对基础结构中的一个组件或资产进行分层可视化,使您可以探索如何受到攻击。它们在国防和航空航天领域已经使用了数十年,用于分析对其电子系统的威胁,现在在其他领域越来越流行。优先级最低的威胁(影响最小)位于子叶节点中,并且当您向上遍历父节点到达树的根时,威胁的优先级会增加。

用于威胁建模的示例攻击树图

在draw.io中打开所有这些图

创建draw.io自定义库以进行威胁建模

draw.io中的自定义库使您可以轻松收集经常使用的形状。

这些自定义库文件(文件扩展名为.xml)可以轻松地与您的同事共享。可以将自定义库添加到Confluence应用程序的draw.io中,以便公司中的每个人都可以使用您的自定义形状库。这对于确保所有图表都遵循公司的风格非常有用。

非常感谢Michael Henrikson,他解释了为什么他喜欢使用draw.io和他的自定义库进行威胁建模。Michael包括一个针对DFD和攻击树的自定义库,并在其博客文章中提供了示例图。

从GitHub下载Michael的Attack.xml和DFD.xml自定义库

迈克尔·亨里克森(Michael Henrikson)的DFD和攻击树自定义draw.io形状库

迈克尔·亨里克森(Michael Henrikson)的DFD和攻击树自定义draw.io形状库

如何在draw.io中打开自定义形状库

要加载自定义形状库,请单击文件>从以下位置打开库>…在文件选择对话框中找到并选择设备上的自定义库(文件扩展名为.xml),然后单击选择

对于DFD中的图例,建议使用“实体关系”形状库中的ER表1复合形状。这使得添加额外的资产,安全控制和威胁参与者变得更加容易。要在实体中复制一行,请先选择它,然后按CTRL + EnterCMD + Enter

容器形状-实体关系表1

如何打开其他draw.io形状库

例如,要加载“实体关系”形状库,请单击左面板底部的“ 更多形状 ”。在“软件”部分中,单击“ 实体关系”旁边的复选框以启用此形状库,然后单击“ 应用”

启用实体关系形状库

如何在draw.io中创建自己的自定义形状库

要创建新的自定义库,请单击文件>新建库>…,然后选择要保存自定义库文件的位置。输入库的名称,然后单击“ 保存”。新的自定义库将出现在左面板的顶部。

如何在自定义形状库中添加和删除形状

将形状从绘图画布拖动到自定义库上,或在画布上选择一个形状,然后单击库名称右侧的加号图标。

要从库中删除形状,请单击铅笔图标以编辑库,然后单击要删除的形状右上角的十字。通过单击形状名称并输入新名称来重命名形状。

编辑自定义库

从这里,您还可以将形状库导出到另一个位置,通过URL添加图像,以及导入存储在其他形状库中的形状。

单击保存以保存更改。

使用draw.io桌面进行安全的威胁建模

因为威胁建模图包含有关您的应用程序和基础结构的高度敏感的数据,所以请确保它们的安全性并使用draw.io桌面。

draw.io桌面可以在强大的防火墙之后甚至是脱机使用–无需外部通信来传输图表数据。

下载并安装最新版本的draw.io桌面