kaiyun官方注册
您所在的位置: 首页> 通信与网络> 业界动态> 威胁建模的定义、价值与应用

威胁建模的定义、价值与应用

2022-11-10
来源:安全牛
关键词: 威胁建模

  目前,软件开发人员在兼顾软件性能、功能、易用性、架构和可观测性等的同时,还需要重点关注系统应用的安全问题。面对复杂的工作需要,软件专业人员可以采取工具进行协助,而威胁建模正是确保系统应用安全的工具之一。本文将主要对威胁建模的定义、价值以及威胁建模的应用等进行详细介绍。

威胁建模的定义

  威胁建模是识别并评估如何管理系统中的安全弱点的过程。安全弱点好比一场战斗,威胁建模能够帮助开发人员知道敌人可能在哪里发动攻击,将会受到多大的伤亡,从而帮助企业建立有效的防御体系。

  威胁建模的应用价值主要包括:

  更清楚地了解安全需求

  威胁建模将帮助企业明确精力应该优先投入在哪里、应该优先考虑哪些方面等。

  反馈更快速、修复更省钱

  威胁建模可以帮助企业尽早发现设计过程中的问题,在漏洞出现之前消除,这意味着不会失去客户的信任。

  增加信心

  恐惧未知会导致非理性的危险行为。整体安全常常给人以迷宫的感觉,但威胁建模可以帮助企业可以走出迷宫,让企业有信心迅速采取行动,推进创新的计划。

  改进产品质量

  安全历来是一种看不见的特性,很难量化。当开发人员急于向客户交付产品时,常常将安全抛在设计的后面。最近的许多数据泄露事件就是佐证。威胁建模让安全可以量化,被赋予相应的优先级。

威胁建模的类型与方法

  以资产为中心的威胁模型,侧重于系统的不同部分或资产(通常是攻击面或信任边界)。然后分析资产可能面临的各种潜在攻击途径。

  以攻击者为中心的威胁模型,让组织洞察威胁/攻击者的思维模式。他们在找什么?他们如何在系统中找到信息并利用它?然后组织把这些想法与可能有关的攻击面联系起来。

  以软件为中心的威胁模型,使用设计和图表来直观呈现威胁和攻击面。这是主流的威胁建模方法,可以更全面、更清晰地洞察漏洞。

  威胁建模有许多方法,但在团队选择一种或多种方法之前,有必要从更简单的方面入手,重点考虑关键问题:

  1. 我们在开发什么?

  先要了解我们在开发什么:新软件、物联网生态系统还是功能?为此创建数据流程图也很有用,然后我们可以标注系统的信任边界。

  2. 会出现什么问题?

  针对数据流图中的每个要素或联系列出潜在的威胁。在这一步还可以充分利用安全卡、STRIDE或杀伤链等方法。

  3. 应该如何做?

  根据系统的当前状态和潜在威胁,开始跟踪漏洞,并确定优先级。具体表现为需求中的恶意用户故事或测试用例。制定管理这些漏洞的措施:

  缓解:使系统更难被利用,比如默认要求身份验证才可访问应用程序。

  消除:尽量减少功能,以缩小应用程序的攻击面。

  转移:转移处理风险的责任。比如,利用API管理器来处理身份验证。

  接受:缓解、消除或转移风险可能成本过高;接受风险是最后的手段。我们仍需要将此记录下来,以便所有人意识到剩余风险。

  确保上面的第1步到第3步足够具体、可操作,以便将来针对发现的新威胁作修订调整。这好比敏捷方法中的回顾。数据流程图是活文档,我们可以定期更新、管理控制版本。

威胁建模的常见模型

  安全卡

  安全卡方法不是很全面,但可以对开发的系统和威胁的具体例子提出探索性问题。该方法由华盛顿大学的Tamara Denning、Batya Friedman和Tadayoshi Kohno于2013年开发,包括四个维度的探索性问题:

  对手的动机

  对手的资源

  对手的方法

  人员的影响

STRIDE模型

  微软的Praerit Garg和Loren Kohnfelder开发了STRIDE,这种方法列出了系统威胁的一般类别:

  欺骗:我们如何确保用户的真实性?

  篡改:我们如何核查数据的完整性?

  拒绝:我们如何审计系统中的操作,验证某人有没有企图做某事?

  信息泄露:我们如何避免机密信息被不应该看到的人看到?

  拒绝服务:我们如何防止资源被恶意耗尽?

  权限提升:我们如何阻止某人获得不应该被授权获得的额外权限?

DREAD

  DREAD用于量化威胁带来的风险,每个字母代表计算风险时考虑的因素。DREAD风险=损害+可重现性+可利用性+受影响用户+可发现性。DREAD在确定威胁优先级方面非常有用。如果企业面临众多威胁,又不清楚当前面临的风险,DREAD是明智的选择。

PASTA

  PASTA代表“攻击模拟和威胁分析流程”。它是2012年开发的一种以风险为中心的威胁建模方法。PASTA包括以下步骤:

  1. 定义业务目标:目前的里程碑或产品目标是什么?

  2. 定义技术范围:这些目标的故事图或书面功能需求是什么?

  3. 分解应用程序:如果需要,将应用程序的架构分解为可部署的构件、基础架构,甚至更小的组件。

  4. 威胁分析:查看信任边界和攻击面;可能会有哪些潜在的攻击?

  5. 弱点和漏洞分析:查看当前状态,看看已分析的威胁在哪个环节可能缺少防御。

  6. 攻击枚举和建模:模拟潜在的攻击途径。看看结果会怎样。

  7. 风险和影响分析:找出每个漏洞面临的风险,优先处理高风险漏洞。

  如果企业有不确定的潜在风险时,PASTA是一种全面的建模方法,非常有用。IT人员可以帮助描述组织安全的整体状况,并将安全列为设计的核心。

杀伤链

  杀伤链是一种军事技术,由洛克希德?马丁公司稍加改动用于网络安全。它描述了整条攻击链:侦察、武器化、投放、利用、安装、指挥和控制以及对目标实施的行动。它还描述了杀伤链每个阶段可能出现的步骤:检测、拒绝、破坏、降级、欺骗和遏制。

  杀伤链可以清楚地回答“会出什么问题?”和“我们该怎么做?”这类问题。一旦组织确定了特定的威胁、攻击面或信任边界,就可以对杀伤链和防御进行建模。

MITRE ATT&CK

  MITRE ATT&CK围绕收录已知威胁和历史攻击的资料库,组织可以将其应用于目前的系统中。没有什么比实际经历更能帮助防御了。在这种模式下,我们可以汲取以往教训,防止未来出现类似的安全问题。



更多信息可以来这里获取==>>电子技术应用-AET<<

二维码.png


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map