网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

基于DFD的威胁建模 | 第1部分

更新时间:2026年03月27日   作者:spoto   标签(Tag):

先决条件 – 威胁建模
基于DFD的威胁建模方法这是一种以可视化方式来表示所建模系统的方法,另一种方法是基于流程图的威胁建模。通过这种方法,威胁建模团队能够系统地识别系统中的关键流程以及这些流程面临的威胁。该方法的步骤如下:
 

  1. 将系统视为一个对手
  2. 描述该系统的特征/特点
  3. 识别这些威胁


让我们逐一详细讨论这些步骤。
将系统视为一个对手: 
这是在使用基于DFD的方法对系统进行建模时,首先要做的事情。
这一步骤涉及从攻击者的角度来分析系统。也就是,哪些流程和功能是可见的,且可以被攻击者所利用。利用这些暴露出来的服务,攻击者可以制定出攻击系统的目标。
以下是需要遵循的一系列步骤:
 

  1. 确定进出点——“入口点”指的是数据进入应用程序的地点;“出口点”则指的是数据离开应用程序的地点。在威胁建模过程中,需要记录与入口点和出口点相关的信息。
    • 数字ID:为每个进入点和退出点分配一个数字ID,以便与威胁和漏洞进行关联。
    • 名称:每个出入口都应被赋予一个名称,同时还需要明确其用途。
    • 描述:请详细说明在那个入口/出口处究竟发生了什么,同时指出在该点处存在的信任等级。
  2. 识别这些资产。对手的主要目标是获取对某个资产的访问权限。而资产本身也扮演着“中转站”的角色,因为一个资产通常会与系统中的其他资产发生交互。因此,识别出那些需要被保护、防止未经授权访问的资产是非常重要的。这项任务由一组安全专家来负责完成。为了记录这些资产的信息,他们会收集以下数据:
    • 数字ID:每个资产都应被分配一个数字ID,以便与威胁和漏洞进行关联。
    • 名称:为所识别的资产指定一个名称。
    • 描述:请说明为什么某种资产需要得到保护。
  3. 确定不同的信任级别。每个进入/退出点都被分配了信任值,这些信任值用于确定外部实体访问和操控系统的权限。在确定信任级别时,需要记录以下数据:
    • 数值ID:应为每个信任级别分配一个数值ID,以便与威胁和漏洞进行关联。
    • 名称:为每一个信任级别分配一个名称。
    • 描述:请详细阐述信任级别的含义,同时说明其目的。


2. 描述该系统的特点/功能: 
对系统进行描述意味着需要收集关于该系统的背景信息,并识别出需要解决的问题所在。在收集背景信息的过程中,还需要考虑以下几个方面:

  1. 使用场景 –确定使用场景非常重要,因为忽视这些场景可能会导致系统出现漏洞。通常,使用场景是由架构师和最终用户来确定的。这些场景可以被安全测试团队用来进行安全测试,从而发现潜在的攻击途径。所谓“使用场景”,指的是系统在配置和安全目标方面会被如何使用或不会被使用的各种情况/环境。为了记录这些使用场景,需要收集以下数据:
    • 数字ID:每个使用场景都应被分配一个唯一的识别号码。
    • 描述:请写出关于以下两点的说明。首先,需要描述该工具的使用场景;其次,需要说明该使用场景是否得到了支持。
  2. 外部依赖关系——外部依赖关系指的是对外部资源及安全政策的依赖。识别这些依赖关系非常重要,因为如果忽视了来自外部依赖关系的威胁,那么这些威胁就有可能变成真正的漏洞。需要记录以下数据:
    • 数字ID:每个外部依赖项都应被分配一个数字ID。
    • 描述:请详细描述该外部依赖项的相关信息。
    • 外部安全注释:来自某个组件的外部安全注释可以与应用程序中其他组件所依赖的外部资源进行交叉引用。
  3. 外部安全注意事项 –外部安全说明的作用在于向用户提供有关系统安全性和集成性的信息。这些说明可用于验证系统的外部依赖关系,同时还可以作为应对威胁的缓解措施。
    如果涉及到外部安全方面的注意事项,那么以下信息需要被记录下来:
    • 数字标识:每张安全票据都应被分配一个唯一的识别号码。
    • 描述:请写出一段描述,详细说明这份便条的详细信息。
  4. 内部安全注意事项:这解释了在设计和实施系统安全性时所做出的妥协。在识别内部安全问题时,需要记录以下信息:
    • 数字ID:每个被识别的内部安全记录都应被分配一个唯一的数字ID。
    • 描述:请写出一份说明,说明发生了什么安全漏洞,以及为何会发生这种漏洞。
  5. 实施假设——这些信息是在设计阶段收集的,其中列出了之后需要实现的功能的详细信息。在确定内部实现方式时,还需要记录以下数据:
    • 数值ID:每个已确定的内部实现假设
    • 描述:请写出一份说明,详细介绍实现这些功能的步骤。
  6. 对系统进行建模——在系统威胁建模过程中,最重要的是要从攻击者的角度来思考整个系统。通过可视化方式,可以清晰地了解各个子系统的运作方式以及它们如何协同工作。本节将介绍如何使用数据流图来对系统进行建模。
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料