摘要:本文简要介绍主要的输入、输出以及为
Web 应用程序创建威胁模型的步骤。
本页内容
活动:Web 应用程序的威胁建模
目的:确定方案中的相关威胁和漏洞,以帮助您构建应用程序的安全设计。
输入:
• |
主要用例和使用方案
|
• |
数据流
|
• |
数据架构
|
• |
部署关系图
|
输出:
活动概述
威胁建模的五个主要步骤如图 1
所示。应该通过重复执行步骤 2 至步骤
5
来逐步细化威胁模型。随着应用程序开发周期的向前推进,您会发现有关应用程序设计的更多内容,并能够添加更多细节。
图 1.
重复执行的威胁建模过程
威胁建模的五个步骤是:
• |
步骤 1:确定安全目标。目标清晰有助于您将注意力集中在威胁建模活动上,以及确定后续步骤要做多少工作。
|
• |
步骤 2:创建应用程序概述。逐条列出应用程序的重要特征和参与者有助于在步骤
4 中确定相关威胁。
|
• |
步骤 3:分解应用程序。全面了解应用程序的结构可以使您更轻松地发现更相关、更具体的威胁。
|
• |
步骤 4:确定威胁。使用步骤
2 和 3
中的详细信息来确定与您的应用程序方案和上下文相关的威胁。
|
• |
步骤 5:确定漏洞。检查应用程序的各层以确定与威胁有关的弱点。使用漏洞类别来帮助您关注最常出现错误的区域。
|
活动摘要表
表 1
归纳威胁建模活动,并展示每个步骤的输入和输出。
|
步骤 1:确定安全目标
|
|
|
步骤 2:创建应用程序概述
|
• |
带有端对端部署方案的白板样式关系图
|
• |
主要方案
|
• |
角色
|
• |
技术
|
• |
应用程序安全机制
|
|
• |
部署关系图
|
• |
用例
|
• |
功能说明
|
• |
数据流关系图
|
|
步骤 3:分解应用程序
|
|
|
步骤 4:确定威胁
|
|
常见漏洞
|
步骤 5:确定漏洞
|
|
|