前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用于威胁建模的 Draw.io

用于威胁建模的 Draw.io

作者头像
Khan安全团队
发布2022-01-19 16:43:36
1K0
发布2022-01-19 16:43:36
举报
文章被收录于专栏:Khan安全团队Khan安全团队
  • 支持数据流图 (DFD) 和攻击树:我相信这些对于威胁建模至关重要。序列图也是一个优点。
  • 令人愉快且易于使用:它必须易于创建图表,并且没有奇怪的错误使其笨拙或繁琐。这很重要,不仅是为了我自己的理智,也是为了让开发人员采用这种做法。如果你不为他们提供一个好的工具,他们可能不会这样做。
  • 免费和跨平台:它必须是免费的,并且可以在 Windows、Mac 和 Linux 上运行。如果该工具仅适用于 Windows,或者您必须兼顾许可证,那么在组织中引入威胁建模会变得更加困难。
  • 不是基于 Web 或“云”的:感觉应该是一个合适的桌面应用程序,并且存储应该是很好的旧本地文件。云(又名别人的计算机)可能很好,但不适用于威胁建模。基于文件的存储还可以轻松地将图表检查到版本控制中并使其与代码相邻。

我检查了很多不同的工具,但没有一个能满足要求。许多人没有 DFD 和攻击树的元素,Microsoft 威胁建模工具只能在 Windows 上运行,Threat Modeler是基于 Web 的,Threat Dragon使用起来很尴尬,而Dia又旧又笨重而且有问题。

我对我的发现感到非常失望,所以我搔了搔痒,开始开发一个新的基于 Electron 的应用程序,我希望它非常适合我,也希望能适合其他人。对此进行初步研究时,我遇到了mxgraph项目,它似乎是完美的核心图表组件。然后我看到它被用作一个名为draw.io的工具的一部分,幸运的是,它非常适合,有一些配置和定制......

draw.io 中的 DFD 和攻击树

Draw.io 没有提供用于 DFD 和攻击树的专用库,但它拥有所有元素。它们只是分布在几个不同的库中。在使用该工具一段时间后,我发现自定义元素并将它们添加到可以导出以便于重用的自定义库中非常容易。我创建了两个新库,其中包含 DFD 和攻击树所需的一切,并将它们放在 Github 上

数据流图

这些是库中可用的元素dfd.xml

除了经典的 DFD 元素外,该库还包含一个注释元素、资产标签、威胁参与者、安全控制和方便的表格,用于直接在图表中记录它们。

为了向您展示这一切如何协同工作,我创建了一个简单的虚构系统图:

攻击树

这些是库中可用的元素attack-tree.xml

为了向您展示它们如何协同工作,我重新创建了经典的Open Safe攻击树:

设置

  1. 为您的操作系统下载并安装 draw.io
  2. 克隆或下载Github 存储库
  3. 打开 draw.io 应用程序并创建一个新的空白图表
  4. 单击文件菜单,然后单击打开库...
  5. 导航到放置 Github 存储库的位置并打开其中一个 XML 文件

恭喜!您现在已准备好威胁模型。为了让 draw.io 变得更好,我建议通过单击Extras菜单并选择 Minimal 主题来打开 Minimal 主题

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • draw.io 中的 DFD 和攻击树
  • 数据流图
  • 攻击树
  • 设置
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档