编辑推荐: |
本文种介绍了12种威胁建模方法,来自不同的来源,针对过程的不同部分。希望本文对大家有帮助。
来自于SEI,由火龙果软件Anna译、推荐。 |
|
如今,几乎所有软件系统都面临各种威胁,并且随着技术的变化,威胁的数量也在增加。利用软件漏洞的恶意软件在2018年第二季度增长了151%,到2021年,网络犯罪造成的损失每年将达到6万亿美元。威胁可以来自组织外部或组织内部,并且可能产生破坏性后果。攻击可能会完全禁用系统或导致敏感信息泄漏,从而削弱消费者对系统提供者的信任。为了防止威胁利用系统缺陷,管理员可以使用威胁建模方法来通知防御措施。在本文中,我总结了12种可用的威胁建模方法。
威胁建模方法用于创建
系统的抽象
潜在攻击者的概况,包括他们的目标和方法
可能出现的潜在威胁的目录
许多威胁建模方法已经被开发出来。可以将它们组合起来以创建更强大,更全面的潜在威胁视图。并不是所有的方法都是全面的,有些是抽象的,有些则是以人为中心的,一些方法专门针对风险或隐私问题。
威胁建模应在开发周期的早期进行,这样可以尽早发现并解决潜在的问题,以防止成本高昂的修复工作。使用威胁建模来考虑安全需求可以导致主动的架构决策,从一开始就有助于减少威胁。威胁建模在信息物理系统领域特别有用。
网络物理系统将软件技术集成到物理基础架构中,例如智能汽车,智能城市或智能电网。尽管具有创新性,但网络物理系统很容易受到传统物理基础设施制造商可能不会考虑的威胁的影响在具有各种利益相关者的网络物理系统上执行威胁建模有助于捕获各种威胁类型的威胁。
本文总结的12种威胁建模方法来自不同的来源,针对过程的不同部分。没有一种威胁建模方法优于另一种。组织应根据项目的特定需求选择使用哪种方法。我鼓励对这些方法有更多详细信息感兴趣的读者阅读有关同一主题的SEI白皮书。
STRIDE和相关派生
STRIDE于1999年发明,并于2002年被Microsoft采纳,是目前最成熟的威胁建模方法。STRIDE随着时间的推移不断发展,包括新的特定于威胁的表以及STRIDE-per-Element和STRIDE-per-interaction的变体。
STRIDE评估系统详细设计。它对就地系统进行建模。通过构建数据流程图(DFD),STRIDE用于标识系统实体,事件和系统边界。STRIDE根据其名称应用一组通用的已知威胁,这是一个助记符号,如下表所示:,如下表所示:
表1:STRIDE威胁类别
STRIDE已成功应用于cyber-only网络和cyber-physical系统。尽管Microsoft不再维护STRIDE,但仍使用威胁建模工具将它作为Microsoft安全开发生命周期(SDL)的一部分实施。微软还开发了一种类似的方法,称为DREAD,它也是一种助记符(潜在损害,可复制性,可利用性,受影响的用户,可发现性),用一种不同的方法来评估威胁。
PASTA
攻击模拟和威胁分析流程(PASTA)是2012年开发的以风险为中心的威胁建模框架。它包含七个阶段,每个阶段都有多个活动,如下面的图1所示:
图1:改编 自威胁建模w/PASTA:以风险为中心的威胁建模案例研究
PASTA旨在将业务目标和技术要求结合在一起。它在不同阶段使用了多种设计和启发工具。通过让关键决策者参与进来,并要求来自运营,治理,体系结构和开发的安全输入,将威胁建模过程提升到战略级别。PASTA被广泛视为以风险为中心的框架,它采用了一个以攻击者为中心的视角以威胁枚举和评分的形式产生以资产为中心的输出。
LINDDUN
LINDDUN(可链接性,可识别性,不可否认性,可检测性,信息泄露,不了解,不遵守规定)专注于隐私问题,可用于数据安全。LINDDUN由六个步骤组成(请参见图2),它提供了一种系统的隐私评估方法。
图2:LINDDUN步骤
LINDDUN从系统的数据流开始,该数据流定义了系统的数据流,数据存储,数据处理和外部实体。通过系统地迭代所有模型元素并从威胁类别的角度对其进行分析,LINDDUN用户可以确定威胁对系统的适用性并构建威胁树。
CVSS
通用漏洞评分系统(CVSS)捕获漏洞的主要特征并产生数字严重性评分。CVSS被NIST开发了并且从CVSS特别兴趣组有支持和贡献的事件响应和安全小组(第一)的论坛维护。CVSS为用户提供了不同网络和网络物理平台内的通用标准化评分系统。可以通过在线获得的计算器来计算CVSS分数。
如图3所示,CVSS由三个度量标准组(基本,时间和环境)组成,每个评估组中都有一组度量标准。
图3:CVSS v3.0指标组
CVSS分数是由分析师为每个指标分配的值得出的。指标在文档中进行了详细说明。CVSS方法通常与其他威胁建模方法结合使用。
Attack Trees(攻击树)
使用Attack Trees对威胁进行建模是纯网络系统,网络物理系统和纯物理系统上最古老,应用最广泛的技术之一。Attack
Trees最初是作为独立方法应用的,此后已与其他方法和框架结合使用。
Attack Trees是以树的形式描述对系统的攻击的图。树的根是攻击的目标,叶是实现该目标的方法。每个目标都表示为一棵单独的树。因此,系统威胁分析会生成一组Attack
Trees。参见图4中的示例。
图4:Attack Trees示例
对于复杂的系统,可以为每个组件而不是整个系统构建Attack
Trees。管理员可以构建Attack Trees,并使用它们来通知安全决策,确定系统是否容易受到攻击以及评估特定类型的攻击。
近年来,此方法经常与其他技术结合使用,并在诸如STRIDE,CVSS和PASTA之类的框架内使用。
Persona non Grata
Persona non Grata(PnG)致力于攻击者的动机和技能。它将用户描述为可能滥用系统的原型,并迫使分析人员从非预期使用的角度查看系统。参见图5中的示例。
PnG可以帮助可视化对方的威胁,这可以在威胁建模的早期阶段提供帮助。这样做的目的是向系统的潜在攻击者介绍技术专家,并检查攻击者的技能,动机和目标。这种分析有助于专家从攻击者的角度了解系统的漏洞。
PnG非常适合使用角色的敏捷方法。
图5:非Grasta角色的例子
Security Cards(安全卡)
安全卡可识别异常和复杂的攻击。它们不是一种正式的方法,而是一种集思广益的技术。借助一系列的帮助(请参见图6中的示例),分析人员可以回答有关攻击的问题,例如
谁会攻击?
为什么系统会受到攻击?
有什么资产值得关注?
如何实施这些攻击?”
图6:安全卡示例
此方法使用一副42张卡片组来促进威胁发现活动:“人类影响”(9张卡片),“对手的动机”(13张卡片),“对手的资源”(11张卡片)和“对手的方法”(9张卡片)。每个维度内的不同类别如表2所示。
表2:安全卡尺寸
hTMM
该混合威胁建模方法(hTMM)由SEI在2018年开发出它包括的组合SQUARE(安全质量要求的工程方法),安全卡,和PNG活动。该方法的目标特征包括没有误报,没有被忽略的威胁,无论谁在进行威胁建模都可以得到一致的结果以及成本效益。
该方法的主要步骤是
确定要进行威胁建模的系统。
根据开发人员的建议应用安全卡。
删除不太可能的PnG(即:即不存在真实的攻击载体)。
使用工具支持来汇总结果。
继续使用正式的风险评估方法。
定量威胁建模方法
这种混合方法包括attack trees,STRIDE和协同中应用的CVSS方法组成。它旨在解决针对网络物理系统的威胁建模的一些紧迫问题,这些威胁在其组件之间具有复杂的相互依存关系。
定量威胁建模方法(定量TMM)的第一步是为STRIDE的五个威胁类别构建组件攻击树。此活动显示攻击类别和低级组件属性之间的依赖关系。之后,将应用CVSS方法,并为树中的组件计算分数。
Trike
Trike被创建为使用威胁建模作为一种技术的安全审核框架。它从风险管理和防御的角度着眼于威胁建模。
与许多其他方法一样,Trike从定义系统开始。分析人员通过枚举和理解系统的参与者,资产,预期的行为和规则来构建需求模型。此步骤将创建一个参与者-资产-行动矩阵,其中列代表资产,行代表参与者。
矩阵的每个单元都分为四个部分,一个部分用于CRUD的每个操作(创建,读取,更新和删除)。在这些单元格中,分析人员分配以下三个值之一:允许的操作,不允许的操作或带规则的操作。一个规则树被附加到每个单元格。
定义需求后,将构建数据流程图(DFD)。每个元素都映射到参与者和资产的选择。分析人员通过DFD进行迭代,识别威胁,这些威胁可分为两类之一:特权提升或拒绝服务。每个发现的威胁都将成为攻击树中的根节点。
为了评估可能通过CRUD影响资产的攻击风险,Trike根据其概率对每个操作使用了5分制。根据假定参与者对资产造成的风险(较低的数字=较高的风险),对参与者进行了五点评估。此外,对于参与者在每种资产上可能执行的每个动作,他们都会在三维尺度上(总是,有时,永远不会)评估参与者。
VAST建模
可视化、敏捷,简单的进攻(VAST)建模方法基于自动威胁建模平台ThreatModeler。它的可扩展性和可用性允许它在整个基础架构中的大型组织中采用,从而为不同的利益相关者提供可行且可靠的结果。
认识到开发团队和基础架构团队之间在操作和关注方面的差异,VAST需要创建两种类型的模型:应用程序威胁模型和操作威胁模型。应用程序威胁模型使用流程流程图来表示体系结构的观点。从攻击者的角度基于DFD创建操作威胁模型。这种方法允许将VAST集成到组织的开发和DevOps生命周期中。
OCTAVE
在操作上关键威胁,资产和漏洞评估(八度)方法是网络安全的基于风险的战略评估和规划方法。它由SEI的CERT部门于2003年创建,并于2005年进行了完善。OCTAVE专注于评估组织风险,而不是解决技术风险。它的主要方面是操作风险,安全实践和技术。
如图7所示,OCTAVE具有三个阶段。
建立基于资产的威胁配置文件。(这是组织评估。)
识别基础结构漏洞。(这是对信息基础结构的评估。)
制定安全策略和计划。(这是对组织关键资产和决策风险的识别。)
图7:OCTAVE阶段
总结并展望未来
威胁建模可以帮助您提高产品的安全性和可信度。这篇文章介绍了12种威胁建模方法。有些通常单独使用,有些通常与其他方法结合使用,有些方法是不同方法如何组合的示例。
要选择最适合您项目的方法,您需要考虑要针对的任何特定领域(风险,安全性,隐私),执行威胁建模的时间,拥有威胁建模的经验以及涉及的程度表3总结了每种威胁建模方法的功能。这些方法都可以在敏捷环境中使用,这取决于sprint的时间框架以及重复建模的频率。
表3:威胁建模方法的功能
|