【转】威胁建模的12种方法

作者: NATALIYA SHEVCHENKO       

系统的威胁可能来自组织外部或内部,并且有可能产生破坏性的后果。网络攻击可能会使得系统失效或导致敏感信息泄漏,导致消费者对系统提供者失去信任。为了防止系统缺陷被利用,管理员可以使用威胁建模方法来构建防御措施。

      在本文中总结了12种可用的威助建模方法。

      威胁建模方法用于创建系统的抽象潜在攻击者的概况,包括他们的目标和方法可能出现的潜在威胁的目录。许多威胁建模方法已经被开发出来,可以将它们组合起来以创建更强大、更全面的潜在威胁视图。并不是所有的方法都是全面的,有些是抽象的,有些则是以人为中心的,一些方法专门针对风险或隐私问题。

       威胁建模应在开发周期的早期进行,这样可以尽早发现并解决潜在的问题,以降低成本高昂的修复工作。使用威胁建模来考虑安全需求可以推动主动的架构决策,从一开始就有助于减少威胁。   

       威助建模在信息物理系统领域特别有用
       网络物理系统将软件技术集成到物理基础架构中,例如智能汽车,智能城市或智能电网。尽管具有创新性,但网络物理系统很容易受到传统物理基础设施制造商可能不会考虑的威胁的影响。在网络物理系统上执行威胁建模有助于捕获各种威胁类型的威胁。
      本文总结的12种威胁建模方法来自不同的来源,针对过程的不同部分。没有一种威胁建模方法优于另一种,组织应根据项目的特定要求选择适用的方法。

      我鼓励对这些方法有更多详细信息感兴趣的读者阅读有关同一主题的SEI白皮书。

      一、STRIDE和相关派生
       STRIDE发明于1999年,并于2002年被Microsot采纳,是目前最成熟威胁建模方法。

       STRIDE方法随着时间的推移不断发展,包括新的特定于威胁的表以及STRIDE-per-Element和STRIDE-per-interaction的变体。
       STRIDE评估系统详细设计。它对就地系统进行建模。通过构建教据流程图(DFD) ,STRIDE用于标识系统实体,事件和系统边界。STRIDE根推其名称应用一组通用的已知威胁,这是一个助记符号,如下表所示:,如下表所示:

       STRIDE已成功应用于cyber-only网络和yber-physical系统,尽管Microsoft不再维护STRIDE,但仍使用威胁建模工具将它作为Microsoft安全开发生命周期(SDL)的一部分实施。微软还开发了一种类似的方法,称为DREAD,它也是一种助记符(潜在损害,可复制性,可利用性,受影响的用户,可发现性),用一种不同的方法来评估威胁。

      二、PASTA
        攻击模拟和威助分析流程(PASTA) 是2012年开发的以风险为中心的威助建模框架。

       它包含七阶段,每个阶段都有多个活动,如下面的图1所示:

               PASTA方法旨在将业务目标和技术要求结合在一起。它在不同阶段使用了多种设计和启发工具。通过让关键决策者参与进来,并要求来自运营,治理,体系结构和开发的安全输入,将威胁建模过程提升到战略级别。PASTA被广泛视为以风险为中心的框架,它采用了一个以攻击者为中心的视角以威胁枚举和评分的形式产生以资产为中心的输出。

       三、LINDDUN
       LINDDUN(可链接性,可识别性,不可否认性,可检测性,信息泄露,不了解,不遵守规定)专注于隐私问题,可用于数据安全。LINDDUN由六个步骤组成(请参见图2) ,它提供了一种系统的隐私评估方法。

        LINDDUN从系统的数据流开始,该数据流定义了系统的数据流,数据存储,数据处理和外部实体。通过系统地选代所有模型元素并以威助类别的角度对其进行分析,LINDDUN用户可以确定威胁对系统的适用性并构建威胁树。

       四、CVSS
        通用漏洞评分系统(CVSS)捕获漏洞的主要特征并给出数字严重性评分。CVSS被NIST开发了并且从CVSS特别兴趣组有支持和贡献的事件响应和安全小组(第-)的论坛维护。CVSS为用户提供了不同网络和网络物理平台内的通用标准化评分系统,可以通过在线获得的计算器来计算CVSS分数,如图3所示,CVSS由三个度量标准组(基本,时间和环境)组成,每个评估组中都有一组度量标准。

CVSS分数是由分析师为每个指标分配的值得出的。指标在文档中进行了详细说明。CVSS方法通常与其他威胁建模方法结合使用。

      五、Attack Trees (攻击树)
        使用Attack Trees对威助进行建模是纯网络系统,网络物理系统和纯物理系统上最古老,应用最广泛的技术之一。Attak Trees最初是作为独立方法应用的,此后已与其他方法和框架结合使用。
Attack Trees是以树的形式描述对系统的攻击的图。树的根是攻击的目标,叶是实现该目标的方法。每个目标都表示为一棵单独的树。因此,系统威胁分析会生成一组Attack Trees。参见图4中的示例。

       

对于复杂的系统,可以为每个组件而不是整个系统构建Attack Trees。管理员可以构建Attack Trees,并使用它们来通知安全决策,确定系统是否容易受到攻击以及评估特定类型的攻击。
近年来,此方法经常与其他技术结合使用,并在诸如STRIDE,CVSS和PASTA之类的框架内使用。

     六、Persona non Grata
       Pesona non Grata (PnG)力于攻走者的动机和技影,它将用户述为可用系统的的原型,并泊分析人是从非预期使用的鱼度查看系统参见图5中的示例。
PnG可以帮助可视化对方的威胁,这可以在威胁建模的早期阶段提供帮助。这样做的目的是向系统的潜在攻击者介绍技术专家,并检查攻击者的技能,动机和目标。这种分析有助于专家从攻击者的角度了解系统的漏洞。PnG非常适合使用角色的敏捷方法。

七 Security Cards (安全卡)
        安全卡可识别异常和复杂的攻击。它们不是一种正式的方法,而是一种集思广益的技术,借助一系列的帮助(请参见图6中的示例),分析人员可以回答有关攻击的问题,

例如
谁会攻击?
为什么系统会受到攻击?
有什么资产值得关注?
如何实施这些攻击?

此方法使用一副42张卡片组来促进威胁发现活动: “人类影响(9张卡片),"对手的动机” (13张卡片),
“对手的资源” (11张卡片) 和"对手的方法”(9张卡片)。每个维度内的不同类别如表2所示:

八、hTMM
        该混合威助建模方法(hTMM)由SE在2018年开发出它包括的组合SQUARE(安全质量要求的工程方法),安全卡,和PNG活动,该方法的目标特征包括没有误报,没有被忽略的威胁,无论谁在进行威胁建模都可以得到一致的结果以及成本效益。
该方法的主要步骤是:
确定要进行威胁建模的系统;
根据开发人员的建议应用安全卡;
删除不太可能的PnG (即:即不存在真实的攻击载体);
使用工具支持来汇总结果;
继续使用正式的风险评估方法。

九、定量威胁建模方法
       这种混合方法包括atack trees,STRIDE和协同中应用的CVSS方法组成。它着在解决针对网络物理系统的威胁建模的一些紧泊问题,这些威胁在其组件之间具有复杂的相互依存关系
定量威胁建模方法(定量TMM)的第一步是为STRIDE的五个威助类别构建组件攻击树。此活动显示攻击类别和低级组件属性之间的依赖关系。之后,将应用CVSS方法,并为树中的组件计算分数。

十、Trike
Trike被创建为使用威胁建模作为一种技术的安全审核框架。它从风险管理和防御的角度着眼于威胁建模。与许多其他方法一样,Tike以定义系统开始。分析人员通过枚举和理解系统的参与者,资产,预期的行为和规则来构建需求模型。此步骏将创建个参与者-资产-行动矩阵,其中列代表资产,行代表参与者。矩阵的每个单元都分为四个部分,一个部分用于CRUD的每个操作(创建,读取,更新和删除)。在这些单元格中,分析人员分配以下三个值之允许的操作,不允许的操作或带规则的操作。一个规则树被附加到每个单元格。
定义需求后,将构建数据流程图(DFD)。每个元素都映射到参与者和资产的选择,分析人员通过DFD进行选代,识别威胁,这些威胁可分为两类之一:特权提升或拒绝服务。每个发现的威胁都将成为攻击树中的根节点。

为了评估可能涌过CRUD影响资产的政击风险,Trke根据其概率对每个操作使用了5分制。根据假定参与者对资产造成的风险(较低的数字=较高的风险),对参与者进行了五点评估。此外,对于参与者在每种资产上可能执行的每个动作,他们都会在三维尺度上(总是,有时,永远不会)评估参与者。

十一、VAST建模
       可视化、敏捷,简单的进攻(VAST)建模方法基于自动威助建模平台ThreatModeler。它的可扩展性和可用性允许它在整个基架构中的大型组织中采用,从而为不同的利益相关者提供可行且可靠的结果。
       认识到开发团队和基础架构团队之间在操作和关注方面的差异,VAST需要创建两种类型的模型:应用程序威胁模型和操作威胁模型。应用程序威胁模型使用流程流程图来表示体系结构的观点。从攻击者的角度基于DFD创建操作威胁模型。这种方法允许将VAST集成到组织的开发和DevOps生命周期中。

十二、OCTAVE
       在操作上关键威胁,资产和漏洞评估(八度) 方法是网络安全的基于风险的战略评估和规划方法。它由S的CERT部门于2003年创建,并于2005年进行了完善。OCTAVE专注于评估组织风险,而不是解决技术风险。它的主要方面是操作风险,安全实践和技术。
如图7所示,OCTAVE具有三个阶段。
建立基于资产的威胁配置文件。 (这是组织评估。)
识别基础结构漏洞。 (这是对信息基础结构的评估。)
制定安全策略和计划。 (这是对组织关键资产和决策风险的识别。)

   

        总结并展望未来
       威助建模可以帮助您提高产品的安全性和可信度。这篇文章个绍了12种威胁建模方法。有些常单独使用,有些通常与其他方法结合使用,有些方法是不同方法如何组合的示例。
       要选择最话合您项目的方法,您需要考虑要针对的任何特定领域风险,安全性,隐私),执行威胁建模的时间,拥有威胁建模的经验以及涉及的程度表3总结了每种威胁建模方法的功能。这些方法都可以在敏捷环境中使用,这取决于sprint的时间框架以及重复建模的频率。

另外一篇文章:

一文了解威胁建模 - FreeBuf网络安全行业门户

作为风险管理策略的一部分,识别系统面临的安全威胁是缓解潜在漏洞的重要步骤。但就其本身而言,识别威胁并不足以抵御攻击。

IT团队和安全工程师必须通过利用威胁建模来更进一步,以主动、系统地评估和防御组织面临的各种威胁。下文将介绍威胁建模的含义、工作原理、主流威胁建模框架、工具以及最佳实践。

什么是威胁?

威胁是一个或一组恶意行为者认为妥协解决方案是有价值的。不同的威胁行为者将有不同程度的动机和技能来利用漏洞。而漏洞的可用性将取决于对现存事物的了解、所需的访问级别以及已实施的任何缓解措施。

出于讨论目的,我们将假设以下主要威胁行为者:

高级持续威胁(APT)——高能力、高积极性、高容量,包括直接或间接由国家支持的团体,例如一些有组织的犯罪集团(OCG);

组织的犯罪集团(OCG)——能力不等、动机不同、容量有限,非国家支持的团体;

动机型外部个体——能力不等、动机不同、容量有限,不同的赞助体

内部威胁——可以直接访问解决方案的设计、实施、操作或使用的人员。

什么是威胁建模?

威胁建模是一种基于工程和风险的方法,用于识别、评估和管理安全威胁,旨在开发和部署符合企业组织安全和风险目标的更好软件和IT系统。它可以分为几个不同的阶段:

威胁识别:团队通过了解自己的系统可能容易受到哪些威胁来开始威胁建模。

威胁评估:识别威胁后,团队评估每个威胁,以确定它们变成真正攻击的可能性,以及这种攻击的影响。

缓解计划:一旦威胁得到充分评估,组织就能确定可以采取哪些步骤来防止每个威胁变成成功的攻击;

缓解实施:然后组织可以实施缓解策略以提供针对威胁的主动防御;

反馈和改进:最后一步是确定整个威胁建模过程的运行情况,然后采取措施进行改进。如果团队未能预见到导致攻击的某些威胁类型,或是没有实施适当的威胁缓解措施,那么在此阶段可以着手解决这些问题。

通过遵循这些步骤,团队可以采取系统的、高度结构化的方法来识别威胁,作为其软件开发生命周期的一部分。他们还能获得主动威胁响应能力,而非坐等实际攻击开始再计划响应措施。

威胁建模可应用于任何类型的IT资源。您可以在应用程序、服务器、本地环境、公共云等上执行威胁建模。

威胁建模还可用于帮助管理任何类型的威胁——从DDoS和勒索软件攻击到内部威胁和意外的数据泄露,威胁建模技术是在风险引发现实安全事件之前提前进行预防的有效方法。

也就是说,威胁建模技术可能会因您关注的资源和威胁类型而异。例如,适用于本地环境的威胁管理策略,在某些重要方面与适用于公共云的威胁管理策略不同,因为组织与云服务提供商建立了责任共担模型,因此需要不同的缓解策略。

威胁建模的意义

通过对安全威胁进行系统的、结构化的响应,威胁建模有一系列优势:

威胁优先级——有些威胁比其他威胁更严重。例如,针对开发/测试环境的威胁可能不如影响生产系统的威胁那么严重。 评估每个威胁的潜在严重性有助于团队确定在缓解过程中优先考虑哪些威胁。

主动响应——如上所述,威胁建模允许组织采取主动的方法进行威胁管理。他们可以比攻击者领先一步,而非等待攻击发生然后才做出响应;

识别新的威胁类型——随着攻击者不断发现新的漏洞并开发新的漏洞利用技术,威胁形势正在不断变化。通过允许团队评估可能影响他们的现有威胁,威胁建模能够帮助企业领先一步识别新兴威胁;

改进安全态势——有时缓解威胁的最佳方法是更改您的系统设计。例如,也许您有一个面向公众的资源,可以将其移到防火墙后以缓解基于网络的安全风险。在这些情况下,威胁建模可帮助企业采取措施强化其基础安全态势并减少攻击面。

更有效地利用资源——可用于IT安全的资源总是有限的。通过启用系统化的威胁管理方法,威胁建模可帮助企业从现有资源中获取最大程度的保护力度。

沟通——威胁建模使团队更容易以一致、集中的方式就威胁进行沟通。与其只关注可能影响各自管理的特定系统的威胁,每个工程师和开发人员团队可以在整个组织内共享威胁评估信息和见解,并共同努力缓解它们。

证明对安全性的承诺——执行威胁建模的简单行为有助于证明企业非常重视安全。这对于审计和合规目的可能很重要,尤其是在合规要求包括需要组织采取合理措施来保护敏感数据和应用程序的情况下。

威胁建模最佳实践

最有效的威胁建模策略需要植根于以下几个核心最佳实践:

与其他团队合作

在许多企业中,IT组织分为不同的团队,每个团队管理自己的系统和资源。

与其让每个团队创建自己的威胁模型并根据需要缓解威胁,不如努力在整个组织内就威胁建模进行协作。很可能一个团队面临的一些威胁也会影响其他团队。在威胁建模方面进行协作可以更有效地利用资源,同时还允许团队分享可能促成更有效的威胁缓解策略的见解。

整体地评估威胁

通常情况下,对一种资源的威胁可能会导致对下游资源的间接威胁。例如,如果攻击者破坏应用程序,对应用程序的威胁也可能危及应用程序访问的数据。

出于这个原因,重要的是要整体地评估威胁,而非孤立地评估。评估每个威胁的潜在严重性,不仅要根据它所威胁的主要资源,还要根据它可能对企业造成的整体损害。

同样地,需要采取措施在多个层面减轻威胁。例如,如果针对应用程序安全的威胁对数据安全造成了间接损害,那么您可以在应用程序和数据中采取措施来帮助缓解威胁。您可能需要对应用程序进行双重身份验证以降低违规风险,同时还需要实施数据的异地备份,以便在应用程序违规允许攻击者访问数据的情况下,您能拥有一份干净的副本并以此拒绝赎金勒索。

全面思考威胁

将威胁建模重点放在与最近备受瞩目的攻击相关的威胁上,或者您的企业过去面临的威胁上,这可能听起来很合理。但是,最好的威胁建模策略需要涵盖可能影响业务的每一个威胁——无论它的新闻价值如何,或者它过去是否曾转化为现实攻击。在识别威胁时,不仅要查看网络安全博客以了解最近的违规情况,还要查看威胁数据库和威胁情报报告,以深入了解您的团队可能不会考虑的威胁类型。

在开发生命周期的早期执行威胁建模

创建威胁模型的最佳时间是在项目或应用程序开发实践开始时。那时,在您的系统中建立威胁防御能力相对更容易。

如果您等到已经编写了代码,或者(更糟)等到它已经部署到生产环境中,您可能会发现实施最佳威胁缓解措施要困难得多。这样做可能需要更改您的代码,这意味着您必须重新构建、重新测试和重新部署,这无疑是一个耗时且低效的过程。

超越应用程序进行思考

在执行威胁建模时,很容易只关注应用程序,而非应用程序所在的更广泛的环境。毕竟,应用程序通常是您用户体验的核心。其他一切都只是陪衬。

但在安全性方面,环境任何层和开发生命周期任何阶段的威胁都可能变成漏洞。这就是为什么您不仅应该考虑您的应用程序,还应该考虑针对托管它们的服务器或云基础设施的威胁。如果您在容器中部署应用程序,那么还必须考虑对容器注册表、容器映像和容器编排工具的威胁。并且不要忘记可能影响数据的威胁,例如配置不当的IAM角色可能会将您的云存储桶暴露给公众。

威胁建模方法

有多种方法可用于帮助团队构建其威胁建模流程:

攻击树(Attack tree):使用这种方法,可以将威胁建模为一组路径(或树),以确定哪些资源会受到与每个威胁相关的攻击的影响。当拥有大量高度相互依赖的资源,并且想知道哪些直接和间接威胁会影响每个资源时,攻击树非常有用。

安全卡(Security card):安全卡技术采用开放式方法进行威胁建模。它基于一组42张卡片,询问有关组织面临的威胁问题。通过处理这些卡片,团队可以思考他们面临的威胁以及缓解这些威胁的策略。

PASTA(攻击模拟和威胁分析流程):PASTA技术专注于帮助团队根据业务优先级评估威胁。它首先确定业务目标和支持它们所需的技术资源。然后,团队确定哪些威胁可能会影响这些资源——进而,他们会发现可能危及业务优先级的威胁。它由七个步骤组成,且每个步骤都非常复杂,由多个子步骤组成,但是总体顺序如下:

定义目标;

定义技术范围;

应用程序分解;

威胁分析;

漏洞和弱点分析;

攻击建模;

风险与影响分析

STRIDE:是威胁建模之父,最早于90年代末由微软提出。STRIDE代表六种威胁,每种威胁都违反了 CIA的变体的特定属性:

欺骗(Spoofing),冒充真实性的他人或计算机;

篡改数据(Tampering),破坏完整性;

抵赖(Repudiation),或无法将您执行的操作链接到您,这违反了不可抵赖性;

信息泄露(Information Disclosure),违反机密性;

拒绝服务(Denial of Service),违反了可用性;

特权提升(Privilege Escalation),违反授权;

STRIDE方法背后的核心概念是按类型划分威胁,然后根据威胁所属的类别对每个威胁做出响应。

威胁建模工具

威胁建模工具集成了一组核心功能,用于在单个平台内发现、分析和缓解威胁。威胁建模工具的主要功能包括:

威胁情报数据:威胁情报是关于已知威胁的信息。它通常是从主要漏洞数据库中收集的,例如NIST国家漏洞数据库和MITRE的通用攻击模式枚举和分类(CAPEC)。

威胁可视化:大多数威胁建模工具都提供可视化功能,例如将威胁映射到IT环境不同部分的图表,以帮助团队分析威胁。

威胁监控:监控功能(例如仪表板)允许团队跟踪他们已识别的威胁并验证威胁是否得到有效缓解。

报告:通过生成有关威胁的报告,组织可以跟踪其威胁识别和缓解效果。

许多软件供应商提供的工具都具有旨在帮助团队执行威胁建模的功能。 例如,Microsoft威胁建模工具是一种可下载的Windows桌面应用程序,是一种流行的选择;ThreatModeler是一个类似的基于Web的威胁建模平台;OWASP的Threat Dragon和pytm工具是广泛使用的开源威胁建模工具。

威胁建模用例

想要了解如何将威胁建模付诸实践,了解一些常见的用例或实际威胁建模示例可能会很有帮助。

云威胁建模

当工作负载从本地迁移到云端时,面临的威胁可能会发生巨大变化。缺乏物理安全性的问题基本上消失了,但出现了诸如不安全的IAM配置之类的新威胁。

团队可以使用云威胁建模,来帮助识别和管理在云迁移期间和之后影响工作负载的风险。通过这种方式,云威胁建模使他们能够预测如果坚持使用与本地相同的安全策略将无法解决的风险。

网络威胁建模

网络传播的威胁在范围和形式上可能会有很大差异,具体取决于网络的配置方式以及它们对公共互联网的暴露程度。使用虚拟网络等云服务无疑又为网络威胁增加了另一层复杂性。

专注于网络的威胁建模提供了一种评估和管理这些威胁的方法。它还可以帮助团队了解其网络架构固有的安全优势和劣势,并采取措施进行改进。

容器的威胁建模

将工作负载从虚拟机转移到容器也会带来新的威胁,例如恶意软件可能潜入容器映像或不安全的容器注册表访问控制。对这些威胁进行建模使团队能够识别、理解并采取措施缓解可能影响容器化环境的特殊威胁。

结语

简而言之,威胁建模使企业能够领先于安全威胁,无论威胁采取何种形式或针对哪种类型的资源。虽然威胁建模需要一些前期的时间投资,但当它允许团队主动响应威胁时,将产生巨大的好处。相较于不加以控制可能带来的高昂攻击代价,还是值得投入的!

原文链接:

https://cloudsecurityalliance.org/blog/2022/04/21/threat-modelling-what-it-is-and-why-it-matters/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值