UML软件工程组织

Web 应用程序威胁建模一览
来源:Microsoft 作者:J.D. Meier, Alex Mackman, Blaine Wastell

摘要:本文简要介绍主要的输入、输出以及为 Web 应用程序创建威胁模型的步骤。
本页内容
活动概述 活动概述
活动摘要表 活动摘要表

活动:Web 应用程序的威胁建模

目的:确定方案中的相关威胁和漏洞,以帮助您构建应用程序的安全设计。

输入:

主要用例和使用方案

数据流

数据架构

部署关系图

输出:

威胁列表

漏洞列表

活动概述

威胁建模的五个主要步骤如图 1 所示。应该通过重复执行步骤 2 至步骤 5 来逐步细化威胁模型。随着应用程序开发周期的向前推进,您会发现有关应用程序设计的更多内容,并能够添加更多细节。


图 1. 重复执行的威胁建模过程

威胁建模的五个步骤是:

步骤 1:确定安全目标。目标清晰有助于您将注意力集中在威胁建模活动上,以及确定后续步骤要做多少工作。

步骤 2:创建应用程序概述。逐条列出应用程序的重要特征和参与者有助于在步骤 4 中确定相关威胁。

步骤 3:分解应用程序。全面了解应用程序的结构可以使您更轻松地发现更相关、更具体的威胁。

步骤 4:确定威胁。使用步骤 2 和 3 中的详细信息来确定与您的应用程序方案和上下文相关的威胁。

步骤 5:确定漏洞。检查应用程序的各层以确定与威胁有关的弱点。使用漏洞类别来帮助您关注最常出现错误的区域。

活动摘要表

表 1 归纳威胁建模活动,并展示每个步骤的输入和输出。

表 1:活动摘要及输入和输出
输入 步骤 输出

业务需求

安全策略

兼容性要求

步骤 1:确定安全目标

主要安全目标

部署关系图

用例

功能说明

步骤 2:创建应用程序概述

带有端对端部署方案的白板样式关系图

主要方案

角色

技术

应用程序安全机制

部署关系图

用例

功能说明

数据流关系图

步骤 3:分解应用程序

信任边界

入口点

出口点

数据流

常见威胁

步骤 4:确定威胁

威胁列表

常见漏洞

步骤 5:确定漏洞

漏洞列表

 

 

版权所有:UML软件工程组织