步骤 3 - 修复
已完成
- 6 分钟
在修复阶段,需要决定如何处理所有威胁。 每个 STRIDE 威胁都对应到一项或多项安全控制,这些控制措施提供不同的功能和类型供你选择。
目标
- 根据优先级框架或安全漏洞标准衡量每个威胁。
- 在 bug 管理服务中将每个威胁作为任务或工作项进行跟踪。
- 生成对应于 STRIDE 威胁的安全控制建议
- 通过选择一项或多项安全控制类型和功能来应对每个威胁。
- 解决任务。
重要
如果不完成此阶段,就找不到安全控制来帮助降低风险或正确跟踪每个威胁。
设置威胁跟踪工作流
设置威胁跟踪工作流,该工作流可确定威胁的优先顺序并创建任务来处理这些威胁。
确定威胁的优先级
首先,根据优先级框架或安全 bug 栏来衡量每个威胁。 此过程可帮助你计划资源来解决对组织而言更重要的问题。
此过程使用三个关键变量:
变量 | 说明 |
---|---|
影响 | 使用 STRIDE 类别来确定影响。 |
严重性 | 使用内部 bug 栏或优先级框架来分配最坏情况下的严重性。 |
风险 | 对安全控制有效性和实现成本进行计算。 |
提示
Microsoft 工程师使用内部安全 bug 栏,为威胁分配“严重”、“重要”、“中等”、“低”或“信息”严重性等级。 请咨询安全团队,确认如何确定问题的优先级。
创建任务
接下来,在 Azure DevOps Services 等 bug 管理解决方案中添加每个威胁。 部分优点包括:
- 进一步确定问题责任人
- 有效跟踪历史记录
- 让你能够使用标准化模板来进行优先级和解决方案演练
评价安全控制的有效性和成本
查看对应于 STRIDE 威胁的每项安全控制建议。 记下最有效和成本最低的建议。 以下是一些示例:
威胁 | 安全控制 | 安全控制示例 |
---|---|---|
欺骗 | 身份验证 | 通过发送和接收使用数字签名进行签名的消息,确保消息完整性并验证来源。 |
篡改 | 完整性 | 验证输入以防止处理恶意有效负载和错误处理意外行为。 |
否认性 | 不可否认性 | 创建和保护包含用户操作和时间戳的安全日志。 |
信息泄露 | 机密性 | 应用访问控制列表,以确保合适的用户可以访问适当的数据。 |
拒绝服务 | 可用性 | 使用弹性资源管理不断增加或减少的使用量。 |
权限提升 | 授权 | 使用尽可能少的访问量运行服务。 |
提示
您可能会遇到可以同时减少或完全消除多个威胁的安全控制。 例如,使用 SSL/TLS 创建安全传输通道,以帮助防止恶意数据修改或泄露。
安全控制措施类型和功能
安全控制具有不同的类型和功能。 结合使用时,它们有助于保护系统的安全,并创建多个安全保护层,也称为深层防御。
你可以选择一种或多种安全控制类型:
- 物理的,例如摄像头
- 技术类型,如加密
- 管理类型,如策略
这些类型有一项或多项安全控制功能:
函数 | 说明 |
---|---|
预防 | 降低威胁的概率或影响,如防火墙。 |
侦探 | 识别发生的攻击,如监视。 |
纠正 | 控制系统如何响应其受到的攻击,如系统修补程序。 |
恢复 | 可通过备份等方式从攻击中恢复系统。 |
遏制 | 可以像使用最低权限原则一样,防止攻击者访问系统。 |
为每个问题添加安全控制详细信息
在 bug 管理解决方案中为每个问题添加详细信息,然后使用以下其中一个解决方案解决各个问题。 它们在不同组织之间存在略微差异:
决议 | 说明 |
---|---|
缩减 | 通过使用 bug 修复或重新设计来减轻或消除威胁影响和严重性。 |
传输 | 将问题分配给另一个系统或团队。 |
避免 | 去除系统中包含问题的部分。 |
接受 | 在没有解决方法的情况下接受风险。 此解决方案需要授权风险决策者的批准。 此决定可能基于威胁严重性。 严重威胁可能需要高级领导的批准,而深层防御风险可能需要高级工程师批准。 与你的团队交流以获得战略指导。 |