当前位置: 首页 > 科技观察

了解威胁建模

时间:2023-03-12 20:13:28 科技观察

作为风险管理策略的一部分,识别系统的安全威胁是缓解潜在漏洞的重要一步。但就其本身而言,识别威胁并不足以抵御攻击。IT团队和安全工程师必须更进一步,利用威胁建模来主动和系统地评估和防御组织面临的各种威胁。以下部分将介绍什么是威胁建模,它是如何工作的,主流的威胁建模框架、工具和最佳实践。什么是威胁?威胁是一个或一组恶意行为者,他们看到了受损解决方案的价值。不同的威胁参与者将有不同程度的动机和技能来利用漏洞。漏洞的可用性将取决于对现有内容的了解、所需的访问级别以及已实施的任何缓解措施。出于本次讨论的目的,我们将假设以下主要威胁行为者:高级持续性威胁(APT)–能力强、攻击性强、数量多,包括直接或间接由国家支持的团体,例如一些有组织的犯罪集团(OCG);有组织犯罪集团(OCG)-能力不平等、动机不同、能力有限、非国家支持的团体;有动力的外部人员-能力不平等、动机不同、能力有限、发起人不同内部威胁-那些可以直接访问解决方案的设计、实施、操作或使用的人。什么是威胁建模?威胁建模是一种基于工程和风险的方法,用于识别、评估和管理安全威胁,目的是开发和部署更好的软件和IT系统,以满足组织的安全和风险目标。它可以分为几个不同的阶段:威胁识别:团队通过了解他们的系统可能容易受到哪些威胁来开始威胁建模。威胁评估:识别威胁后,团队评估每个威胁以确定它们成为真正攻击的可能性,以及此类攻击的影响。缓解计划:一旦对威胁进行了全面评估,组织就可以确定可以采取的步骤,以防止每个威胁变成成功的攻击;缓解实施:组织随后可以实施缓解策略,以主动防御威胁;反馈和改进:最后一步是确定整个威胁建模过程的运行情况,然后采取措施进行改进。如果团队未能预见到导致攻击的某些类型的威胁,或者没有实施适当的威胁缓解措施,则这是可以解决的阶段。通过遵循这些步骤,团队可以采用系统的、高度结构化的方法来识别威胁,并将其作为其软件开发生命周期的一部分。他们还获得了主动威胁响应能力,而不是在计划响应之前等待实际攻击开始。威胁建模可应用于任何类型的IT资源。您可以对应用程序、服务器、本地环境、公共云等进行威胁建模。威胁建模还可用于帮助管理任何类型的威胁——从DDoS和勒索软件攻击到内部威胁和意外数据泄露,威胁建模技术是在风险导致现实世界安全事件之前预防风险的有效方法。也就是说,威胁建模技术可能会因您关注的资源和威胁类型而异。例如,本地环境的威胁管理策略与公共云的威胁管理策略在某些重要方面有所不同,因为组织与云服务提供商具有共同责任模型,因此需要不同的缓解策略。威胁建模的意义威胁建模通过对安全威胁的系统化、结构化响应具有许多优势:威胁优先级排序-有些威胁比其他威胁更严重。例如,针对开发/测试环境的威胁可能没有影响生产系统的威胁严重。评估每个威胁的潜在严重性有助于团队确定在缓解过程中优先考虑哪些威胁;主动响应——如上所述,威胁建模允许组织采取主动的方法来管理威胁。他们可以先于攻击者一步,而不是等待攻击发生再做出响应;识别新的威胁类型——随着攻击者不断发现新的漏洞并开发新的利用技术,威胁形势也在不断变化。通过允许团队评估可能影响他们的现有威胁,威胁建模可以帮助企业在识别新威胁方面领先一步;改善他们的安全状况-有时,减轻威胁的最佳方法是更改??系统设计。例如,您可能有一个面向公众的资源,可以将其移到防火墙后面以减轻基于网络的安全风险。在这些情况下,威胁建模可以帮助组织采取措施加强其底层安全态势并减少攻击面;更有效地使用资源——可用于IT安全的资源总是有限的。通过启用系统的威胁管理方法,威胁建模可帮助组织从现有资源中获得最大程度的保护;沟通——威胁建模使团队更容易以一致、集中的方式就威胁进行沟通。每个工程师和开发人员团队都可以在整个组织内共享威胁评估信息和见解,并共同努力缓解这些威胁,而不是只关注可能影响他们管理的特定系统的威胁;展示对安全的承诺-执行威胁建模帮助证明企业认真对待安全的简单行为。这对于审计和合规性目的可能很重要,尤其是在合规性要求包括要求组织采取合理步骤来保护敏感数据和应用程序的情况下。威胁建模良好实践最有效的威胁建模策略需要植根于以下核心良好实践:(1)与其他团队协作在许多企业中,IT组织被划分为不同的团队,每个团队管理自己的系统和资源.与其让每个团队创建自己的威胁模型并根据需要减轻威胁,不如努力在整个组织的威胁建模方面进行协作。一个团队面临的一些威胁很可能也会影响到其他团队。在威胁建模方面进行协作可以更有效地利用资源,同时还允许团队共享可能导致更有效的威胁缓解策略的见解。(2)整体评估威胁。通常,对一种资源的威胁可能会导致对下游资源的间接威胁。例如,如果攻击者破坏应用程序,则对应用程序的威胁也可能破坏应用程序访问的数据。因此,重要的是要全面而不是孤立地评估威胁。评估每个威胁的潜在严重性,不仅要根据它威胁的主要资源,还要根据它可能对企业造成的总体损害。同样,需要采取措施在多个层面减轻威胁。例如,如果对应用程序安全的威胁导致对数据安全的附带损害,您可以在应用程序和数据中采取措施来帮助减轻威胁。您可能需要在您的应用程序上实施双因素身份验证以降低违规风险,并实施数据的异地备份,以便在应用程序违规允许攻击者访问数据时,您有一个干净的副本拒绝赎金要求。(3)从整体上思考威胁将威胁建模的重点放在与最近备受瞩目的攻击相关的威胁上,或者您的企业过去面临的威胁上,这听起来很合理。但最好的威胁建模策略需要涵盖可能影响业务的每一个威胁——无论其新闻价值如何,也无论它是否在过去转化为现实世界的攻击。在识别威胁时,不仅要检查网络安全博客以了解最近的违规行为,还要检查威胁数据库和威胁情报报告,以深入了解您的团队可能不会以其他方式考虑的威胁类型。(4)在开发生命周期的早期进行威胁建模创建威胁模型的最佳时间是在项目或应用程序开发练习开始时。那时,在您的系统中构建威胁防御相对容易。如果您等到代码编写完毕,或者(更糟)等到代码部署到生产环境中,您可能会发现实施最佳威胁缓解措施要困难得多。这样做可能需要更改您的代码,这意味着您必须重建、重新测试和重新部署,这是一个耗时且效率低下的过程。(5)超越应用程序思考在进行威胁建模时,很容易只关注应用程序而不是应用程序所在的更广泛的环境。毕竟,应用程序通常是用户体验的核心。其他一切都只是陪衬。但就安全性而言,环境任何层和开发生命周期任何阶段的威胁都可能成为漏洞。这就是为什么您不仅应该考虑您的应用程序,还应该考虑对托管它们的服务器或云基础设施的威胁。如果您在容器中部署应用程序,您还必须考虑对容器注册表、容器镜像和容器编排工具的威胁。并且不要忘记可能会影响您的数据的威胁,例如配置不当的IAM角色可能会将您的云存储桶暴露给公众。威胁建模方法有几种方法可用于帮助团队构建他们的威胁建模过程:(1)攻击树:使用这种方法,威胁被建模为一组路径(或树)以确定哪些资源受到影响与每个威胁相关的攻击。当您拥有大量高度相互依赖的资源并且想知道哪些直接和间接威胁影响每个资源时,攻击树很有用。(2)安全卡:安全卡技术采用开放的方式进行威胁建模。它基于一组42张卡片,询问有关组织面临的威胁的问题。通过处理这些卡片,团队可以思考他们面临的威胁和缓解威胁的策略。(3)PASTA(ProcessforAttackSimulationandThreatAnalysis):PASTA技术专注于帮助团队根据业务优先级评估威胁。它首先确定业务目标和支持这些目标所需的技术资源。然后,该团队确定哪些威胁可能会影响这些资源,进而确定可能危及业务优先级的威胁。它由七个步骤组成,每个步骤都相当复杂,由多个子步骤组成,但总体顺序如下:定义目标;界定技术范围;应用分解;威胁分析;脆弱性和脆弱性分析;攻击建模;风险和影响分析。(4)STRIDE:威胁建模之父,于1990年代后期由微软首先提出。STRIDE代表六种威胁,每一种都违反了CIA变体的特定属性:欺骗,假装真实的另一个人或计算机;篡改,破坏完整性;否认,或无法将您执行的行为链接到您,这违反了不可否认性;信息泄露,违反保密规定;拒绝服务,违反可用性;提权,违反授权;STRIDE该方法背后的核心概念是按类型对威胁进行分类,然后根据威胁所属的类别对每个威胁做出响应。威胁建模工具威胁建模工具集成了一组核心功能,用于在单个平台内发现、分析和缓解威胁。威胁建模工具的主要功能包括:威胁情报数据:威胁情报是有关已知威胁的信息。它通常是从主要的漏洞数据库中收集的,例如NIST国家漏洞数据库和MITRE的常见攻击模式枚举和分类(CAPEC)。威胁可视化:大多数威胁建模工具都提供可视化功能,例如将威胁映射到IT环境不同部分的图表,以帮助团队分析威胁。威胁监控:仪表板等监控功能使团队能够跟踪他们已识别的威胁并验证它们是否得到有效缓解。报告:通过生成威胁报告,组织可以跟踪他们的威胁识别和缓解有效性。许多软件供应商提供的工具具有旨在帮助团队执行威胁建模的功能。例如,可下载的Windows桌面应用程序MicrosoftThreatModelingTool是一种流行的选择;ThreatModeler是一个类似的基于网络的威胁建模平台;OWASP的ThreatDragon和pytm工具是广泛使用的开源威胁建模工具。威胁建模用例要了解如何将威胁建模付诸实践,查看一些常见用例或真实世界的威胁建模示例可能会有所帮助。(1)云端威胁建模当工作负载从本地迁移到云端时,它面临的威胁可能会发生巨大变化。缺乏物理安全性的问题已基本消失,但出现了新的威胁,例如不安全的IAM配置。团队可以使用云威胁建模来帮助识别和管理云迁移期间和之后影响工作负载的风险。通过这种方式,云威胁建模使他们能够预测如果他们坚持与本地部署相同的安全策略将无法解??决的风险。(2)网络威胁建模网络传播的威胁在范围和形式上可能有很大差异,这取决于网络的配置方式以及它们对公共互联网的暴露程度。虚拟网络等云服务的使用无疑给网络威胁增加了另一层复杂性。以网络为中心的威胁建模提供了一种评估和管理这些威胁的方法。它还可以帮助团队了解其网络架构的固有安全优势和劣势,并采取措施进行改进。(3)容器的威胁建模将工作负载从虚拟机转移到容器也带来了新的威胁,例如恶意软件可能潜入容器镜像或不安全的容器注册表访问控制。对这些威胁进行建模使团队能够识别、理解并采取行动来减轻可能影响容器化环境的特定威胁。结论简而言之,威胁建模使组织能够领先于安全威胁,无论它们采取何种形式或以何种类型的资源为目标。虽然威胁建模需要一些前期投资,但当它允许团队主动应对威胁时,它会产生巨大的好处。比起不去控制可能造成的高额攻击成本,还是值得投入的!原文链接:https://cloudsecurityalliance.org/blog/2022/04/21/threat-modelling-what-it-is-and-why-it-matters/