先决条件—— 威胁建模 基于DFD的威胁建模 是可视化表示正在建模的系统的方法之一,另一种是基于流程图的威胁建模。通过使用这种方法,威胁建模团队将能够通过系统地跟踪系统中的数据流,识别系统中的关键流程以及这些流程面临的威胁。该方法包括以下步骤:
null
- 将系统视为对手
- 描述系统的特征
- 识别威胁
让我们逐一详细讨论这些步骤。
1.将系统视为对手: 这是使用基于DFD的方法对系统进行建模时首先要做的事情。 这一步包括从对手的角度分析系统。攻击者可以看到并访问哪些进程和功能。使用这些公开的服务,对手制定了攻击系统的目标。 以下是一系列步骤:
- 确定入口/出口点—— 入口点是指数据进入应用程序的点,出口点是指数据离开应用程序的点。为了进行威胁建模,需要为出入境点记录以下内容:
- 数字ID:为每个入口点和每个出口点分配一个数字ID,以便与威胁和漏洞进行交叉引用。
- 名称:应为每个入口和出口点指定一个名称,并确定其用途。
- 描述:写一个描述,解释在该进入/退出点上到底发生了什么,并确定在该点上退出的信任级别。
- 确定资产—— 对手的主要目标是获取资产。资产还充当对手的传递点,因为一个资产经常与系统中的其他资产交互。因此,识别系统中需要保护的资产以防止未经授权的访问非常重要。这项任务由一组安全专家完成。为了记录资产清单,他们收集了以下数据:
- 数字Id:应为每个资产分配一个数字Id,以便与威胁和漏洞进行交叉引用。
- 名称:为已识别的资产指定一个名称。
- 描述:写一篇关于资产为什么需要保护的解释。
- 确定信任级别—— 为每个入口/出口点分配信任值,以定义外部实体访问和影响系统的权限。在确定信任级别时,需要记录以下数据:
- 数字Id:应为每个信任级别分配一个数字Id,以便与威胁和漏洞进行交叉引用。
- 名称:为每个信任级别指定一个名称。
- 描述:写一篇描述,更详细地解释信任级别,并概述其目的。
2.描述系统的特征: 描述系统的特征意味着收集系统的背景信息,并确定需要解决的领域。需要收集以下背景信息:
- 使用场景—— 识别使用场景非常重要,因为忽略这些场景可能会导致漏洞。使用场景通常由架构师和最终用户确定。安全测试团队可以使用这些工具进行安全测试和识别攻击路径。使用场景是指在配置、安全目标和非目标方面如何使用或不使用系统或不使用系统的情况/环境。使用场景需要记录以下数据:
- 数字标识:每个使用场景都应该有一个唯一的标识号。
- 描述:写一篇描述,解释以下两点。首先是对使用场景的描述,其次是提及是否支持使用场景。
- 外部依赖性- 外部依赖是指对外部资源和安全策略的依赖。识别这些漏洞非常重要,因为如果忽略来自外部依赖的威胁,它可能会成为有效的漏洞。需要记录以下数据:
- 数字Id:每个外部依赖项都应该分配一个数字Id。
- 描述:写一个描述,给出外部依赖项的详细信息。
- 外部安全注释引用:一个组件的外部安全注释可以与应用程序中其他组件的外部依赖项交叉引用。
- 外部安全说明- 外部安全注释是向用户提供有关系统安全性和集成信息的一种手段。外部安全注释用于验证外部依赖关系,并可用于缓解威胁 .如果是外部安全注释,需要记录以下信息:
- 数字标识:每个安全注释都应分配一个唯一的标识号。
- 描述:写一篇描述,解释关于笔记的细节。
- 内部安全注意事项: 这些解释了在设计和实现系统安全性时所做的妥协。在识别内部安全注释时,需要记录以下信息:
- 数字Id:每个已识别的内部安全注释都应分配一个唯一的数字Id。
- 描述:写一篇描述,解释什么是安全妥协,为什么会妥协
- 实施假设- 这些是在设计阶段收集的,列出了稍后将实现的功能的细节。在确定内部实施假设时,需要记录以下数据:
- 数字Id:每个确定的内部实现假设
- 描述:写一篇描述,解释实现这些功能的过程。
- 对系统进行建模—— 在对系统进行威胁建模时,最重要的一点是通过对手的眼睛来观察系统。可视化表示允许查看子系统的操作以及它们如何协同工作。本节介绍如何使用数据流图(DFD)对系统建模。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END