写在前边
1. 本文原文为felisha mouchous于2020年发表的《purple team playbook: threat modeling for security testing》,本文为译者对相关内容的翻译及实践记录,仅供各位学术交流使用。另出于易读性考虑,对部分字句有所删改。
2. 如各位需要引用,请做原文应用,格式如下所示:
[序号]felisha mouchous,‘purple team playbook: threat modeling for security testing’, 2020.
本节重点介绍商业和开源的威胁建模工具的选择。
2.2.1
安全开发生命周期 (sdl)
微软:“安全开发生命周期(sdl)由一组支持安全保证和合规性要求的做法组成。sdl通过减少软件中漏洞的数量和严重性,同时降低开发成本,帮助开发人员构建更安全的软件”。
作为生命周期的一部分,威胁建模有五个主要阶段:定义、绘制、识别、缓解和验证。为了简化威胁模型,他们有自己的威胁建模工具,使用stride模型评估威胁。结果是以数据流图(dfd)形式的可视化表示,可以帮助项目团队在开发过程中减轻风险。
图 5: sdl: 绘制图表工具
2.2.2
eop纸牌游戏
微软开发了一款名为“提升特权”(eop)的纸牌游戏,它使用stride威胁作为卡牌“套装”。我们首先需要一个系统来建模,然后将纸牌围在桌子边玩游戏,如果胜利者获得了“特权提升”,他们将获得更多的分数。
这些牌为初学者提供结构和提示,使新玩家能够根据手中的牌找到威胁。这是一种很好的非正式方式,可以向人们介绍威胁建模的工作原理,并让他们以创造性的方式思考解决问题。自游戏开发以来已经创建了一个在线版本,并可在github上使用。
|
图 6: eop – 威胁建模纸牌游戏
tondel和oyetoyan的一篇关于eop游戏有效性的论文得出结论,该游戏有助于人们了解安全,并鼓励人们通过游戏进行良好的安全讨论。有人指出,它可能不适合所有情况,因为它可能需要时间,而且只适用于某些项目。一些组织可能会选择这种卡片练习来帮助用户思考可能存在的安全威胁。然而,为了有效地建立威胁模型,需要一些更正式的东西,所以eop不应单独使用。
2.2.3
tutamantic工具
tutamen 威胁模型自动生成机是tutamantic公司的龙8app登录的解决方案,以用于自动识别威胁。它使用分类法,包括owasp top 10、stride、common weakness enumeration(cwe)和common attack patterns(capec)。关于这个威胁模型自动化工具的工作方式的文档有限,但如果它能够自动化使用不同威胁模型和攻击库,那么它似乎是一个有趣的工具。这也证明,没有一种威胁模型能够满足所有业务需求。
2.2.4
threatmodeler工具
threatmodeler工具是一种自动化威胁建模工具,通过识别、预测和定义运营it堆栈中的所有应用程序和设备的威胁来增强企业的sdlc。它使用一组攻击库,包括mitre capec。与tutamen威胁模型自动化一样,它也是一个威胁模型自动化工具。
threatmodeler对大型组织具有吸引力,因为它是一种已被许多组织采用的产品,并且会有专家支持威胁建模过程。有一篇文章基于gartner的报告认为“估计只有10%的组织将正式威胁建模作为其开发过程的一部分。然而,我们看到这一趋势正在迅速变化,自动化企业威胁建模继续成为2018年更广泛采用和实施威胁建模的驱动力”。尽管这个工具很有用,但它非常昂贵,所以组织可能会选择内部的工具,并创建自己的工具来满足他们的需求。
|
图 7: threatmodeler模型模板
2.2.5
seasponge 威胁模型工具
seaponge是mozilla项目中创建的一个工具。它提供了一个使用用户浏览器的威胁建模工具,因此无需安装任何东西。它使人们能够快速、轻松地绘制系统及其数据流的图表。这个工具的易用性很有吸引力,因为我们不需要安装它,还可以自定义建模菜单项,因此适合用以特定模型的建模。该工具可以提供一种低成本的方式来向组织展示可能面临的威胁。创建模型的人需要对组织基础设施有足够的了解,才能创建有效的模型。
|
图 8: seasponge 威胁模型工具示例
在前两节中,我们讨论了当前威胁模型的选择以及组织可用于威胁模型的工具。我们所讨论的绝不是所有模型和工具的详尽清单。例如,还有其他可用模型,如攻击模拟和威胁分析过程(pasta)模型,这是一个以风险为中心的模型,以制定与受保护资产价值相称的对策为中心。还有可链接性、可识别性、不可抵赖性、可检测性、信息披露、不知情、不合规性(linddun)模型,该模型侧重于对数据安全中的隐私问题进行建模。在表2中,我们总结了我们在前文中讨论的所有模型的主要发现。我们讨论了模型的优缺点以及我们对模型得出的结论。
总的来说,我们发现威胁建模在开发过程中以及对已建立的系统都很重要。我们很清楚,需要投入时间和专业知识以便为一个组织建立一个有效和有用的威胁模型。威胁模型也需要维护,选择适合组织需求的正确模型非常重要。关于组织可能购买的工具,这将取决于工具的成本和功能。
表 2: 威胁模型摘要
|
(未完待续)