九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

admin 2022年12月22日11:12:04评论123 views字数 3898阅读12分59秒阅读模式

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)



写在前边

1. 本文原文为Felisha Mouchous于2020年发表的《Purple Team Playbook: Threat Modeling for Security Testing》,本文为译者对相关内容的翻译及实践记录,仅供各位学术交流使用。另出于易读性考虑,对部分字句有所删改。


2. 如各位需要引用,请做原文应用,格式如下所示:
[序号]Felisha Mouchous,‘Purple Team Playbook: Threat Modeling for Security Testing’, 2020.


3.因文章整体内容较长,完整内容将会在本公众号拆分为多篇内容分别发出。本文为该系列的第二篇。
往期内容请参见合集紫队剧本: 安全测试的威胁建模


九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

二、威胁建模和安全测试

本章提供了有关威胁建模和安全测试的背景信息。在第一节中,我们将单独讨论威胁建模工具和技术,第二节将会讨论安全测试的主题。


2.1 威胁模型


在本节中,我们将探讨一些知名的威胁模型。


2.1.1


STRIDE



STRIDE是一种威胁分类模型,提供了一组带有定义的威胁类别,以便能够以系统地和可重复的方式对每个已识别的威胁进行分类。


威胁建模的STRIDE方法是由Loren Kehfelder和Praerit Garg发明的, 它代表了欺骗( Spoofing)、篡改( Tampering)、 抵赖(Repudiation)、信息披露(Information Disclosure)、拒绝服务(Denial of Service)和 特权提升 (Elevation of Privilege)。这个框架旨在帮助开发软件的人识别软件可能遇到的攻击类型。该模型的工作方式是,针对某个系统将会使用STRIDE模型中的每个单词来确定系统是否受到任何这些问题的影响。


例如“欺骗”,如果我们有门禁卡系统,有人复制或窃取有效的门禁卡,那么这对公司来说是一个有效的威胁,在设计和创建产品时需要加以考虑。表1描述了模型的工作原理以及在STRIDE建模过程中可以收集的信息的示例。


九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

表 1: STRIDE 图表


STRIDE模型在开发过程中非常有用,Microsoft提供了一整套安全实践和工具,作为其安全开发生命周期(SDL)的一部分。这意味着这是一个经过验证的过程,它还为开发人员在开始编码之前即解决问题提供了一个起点。另一方面,STRIDE的缺点是很难量化成本和有效性,而且它不会生成威胁列表。STRIDE也没有向我们提供使用此模型发现的问题的任何缓解措施,因此我们需要用其他信息来源补充。


2.1.2


攻击树



攻击树最初是由Bruce Schneier开发的,他说“攻击树提供了一种正式的、有条不紊的方式来描述基于不同的攻击的系统安全性。基本上,以树状结构表示对系统的攻击,目标作为根节点,实现目标的不同方式作为叶节点”。


攻击树是解决安全威胁的逻辑方法。例如,如果担心有人闯入房子,我们可以找出窃贼可能成功的不同方式,这将使我们能够想出办法来尝试并防止这种情况发生。为了使攻击树有效,它需要进行多次迭代,直到找到所有节点,以可以找到实现相同目标的几种方法。


要构建攻击树,我们必须从根节点开始,根节点可以是对手目标的组成部分。然后,我们可以由子节点来描述攻击者如何实现目标,例如他们如何破门而入。下面的节点可以描述他们如何实现上面的节点,例如打破一扇窗户,进入一扇锁着的门,然后实现获得访问权限的根目标。图2显示了攻击树中攻击节点的内容示例。


九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

图 2: 攻击节点


就企业成本而言,攻击树的创建成本很低,因此可以很好地用于尝试和了解如何对系统进行安全测试。然而,维护它是耗时的,因为需要不断更新,以确保它们在识别当前威胁方面仍然有效。


创建攻击树的门槛很低,因为类似于许多人熟悉的思维导图,而且很适合集思广益。当使用攻击树时,需要考虑一些事情,其中之一是模型的完整性,因为威胁在不断演变。然而,每个威胁模型都是如此,因为威胁在不断变化,所以需要框定一定的范围,并以可管理的方式发展。这些攻击树可能会变得过于复杂,从而失去作为威胁建模工具的有效性。


攻击树可以修改为攻击树和防御树。这是考虑攻击者和防御者能力的树型模型。这有助于了解如何减轻攻击影响。这种攻击树的新形式仍然存在同样的缺点,因为在防御形式中引入更细的粒度会增加攻击树的复杂性,并且根据系统的不同,攻击树的模型可能会变得太大而无法正确管理。当使用攻击树或攻击防御树时,重要的是要记住它们的用途,如果太复杂,那么应该使用其他模型或工具。


2.1.3


攻击库



攻击库提供了STRIDE所没有的粒度级别。例如,如果攻击树变得过于复杂,那么库可能会有用,因为它可能包含组织中许多系统的相关攻击。我们创建一个库的方法是查看受众是谁,例如,如果要将其用于来自特定攻击者的安全测试,那么我们将需要包含此类攻击者的已知攻击库。为了使它尽可能有用,我们还需要了解我们将要研究的细节级别和库的范围。对于安全测试攻击库,我们需要知道范围内的系统或网络类型,并决定需要多少攻击类型的详细信息。


为了辅助使用攻击库,我们可以使用MITRE的通用攻击模式枚举和分类(CAPEC)创建一个攻击库。CAPEC提供了大量已知攻击模式的列表,以便我们能够了解攻击者的行为,并对每种行为进行映射,以查看它们是否适用于您的应用程序或网络。


OWASP Top 10是另一个流行的库,广泛用于web应用程序安全测试以及培训开发人员在编码时注意这些问题。Kotenko和Doynikova的一篇论文评估了使用CAPEC生成网络安全评估攻击场景的情况,他们得出的结论是,他们制作的工具可以用于渗透测试,因为攻击场景为测试人员提供了有用的攻击向量来有效攻击。


使用攻击库非常有益,因为它“对那些不太熟悉攻击方式的人有用”。这又回到了威胁建模和让人们像攻击者一样思考的困难上。现在,不再需要像攻击者那样思考,而是有一个已知攻击的库,攻击库帮助员工了解有关攻击者行为的知识。虽然攻击库会因为丰富的可用信息而为企业带来许多好处,但它也可能会变得太过庞杂,因此我们必须适当地对其进行限制,否则库的效率会降低。


随着时间的推移,我们还需要维护库,因为一些攻击可能变得不那么重要,需要考虑更新攻击库。就像攻击树一样,需要一种迭代方法来保持相关性并尽可能减少新威胁的影响。


2.1.4


钻石模型



适用于入侵分析的钻石模型来自Sergio Caltagirone、Andrew Prendergast和Christopher Betz的论文。简单来说,钻石模型表明“敌方在某些基础设施上部署了对抗受害者的能力”。该模型由描述“事件”的菱形和表示对手流程的“活动线程”组成。核心特征包括,谁是“对手”,他们的“能力”在工具和技术方面是什么,谁是他们的“受害者”,即他们的目标资产,以及对手的“基础设施”是什么。图3显示了如何在菱形中显示事件的示例;它使用这四个角来显示攻击是如何展开的。


九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

图 3: 钻石模型示例


此模型针对安全防御方面的团队,他们可以使用该模型来绘制不同攻击者的行为,并制定防御措施以应对攻击。钻石模型还使用Lockheeds Martins Cyber kill chain来显示每个阶段会发生什么事件。


论文作者提出了一个有趣的关于威胁建模的观点,以及如何映射对手的行为,以显示他们进入系统的步骤以及最终目标。作者承认,就目前情况而言,这是一种手动威胁建模方法,下一步是自动化钻石模型建模。与我们在前面章节中讨论的威胁模型相比,钻石模型描述了一种显示攻击者如何在系统中进行攻击行为。与攻击树相比,它可以被视为一种更清晰的显示方式。另一方面,与其他威胁模型一样,钻石模型同样可能变得过于复杂,这取决于建模时的攻击者数量及其攻击能力。


2.1.5


通用漏洞评分系统 (CVSS)



通用漏洞评分系统(CVSS)由NIST开发,它为传达信息技术漏洞的特征和影响提供了一个开放的框架。CVSS可以以多种不同的形式使用,例如以CVE的形式传达新发布漏洞的影响。它还可以用于显示渗透测试期间发现的漏洞的影响。


CVSS使用图4所示的三个指标组来计算分数,包括基础指标、时态指标和环境指标。基础指标处理漏洞的复杂性以及对机密性、完整性和可用性的影响等问题 (CIA)。时态指标包括针对该问题是否存在有效利用或补救措施的详细信息。环境指标以获得一些背景信息,例如攻击范围和CIA指标的重要性。


为了计算CVSS分数,NIST提供了一个计算器,它解释了所有指标的含义,以帮助用户。用户可以使用CVSS计算器来确定其漏洞的风险。与其他威胁模型一样,计算它的人需要对漏洞及其如何影响组织资产有很好的了解。


九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

图 4: CVSS 度量组


总的来说,CVSS得分需要提供一个标准来显示漏洞的严重程度。CVSS通常不用作模型本身,通常与其他威胁模型一起使用。例如,它可以用于评估攻击树威胁模型中发现的攻击路径的风险。这将让更广泛的受众知道它是需要立即处理还是低风险问题。


CVSS分数与其他威胁模型有相同的缺点,分数取决于用户对漏洞的理解程度。此外,最后还需要重新计算单个组织的风险,因为虽然某个组织总体风险可能很高,但可能有足够的缓解措施可以降低风险。


(未完待续)



—  往期回顾  —


九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)



关于安恒信息安全服务团队
安恒信息安全服务团队由九维安全能力专家构成,其职责分别为:红队持续突破、橙队擅于赋能、黄队致力建设、绿队跟踪改进、青队快速处置、蓝队实时防御,紫队不断优化、暗队专注情报和研究、白队运营管理,以体系化的安全人才及技术为客户赋能。

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

原文始发于微信公众号(安恒信息安全服务):九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月22日11:12:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   九维团队-紫队(优化)| 紫队剧本: 安全测试的威胁建模(二)https://cn-sec.com/archives/1477071.html

发表评论

匿名网友 填写信息