威胁建模与 DevSecOps Plan
什么是威胁建模
威胁建模是一种通过识别资产、威胁、威胁行为者和漏洞,以降低系统安全风险的方法。其核心目标是提前识别问题,节约上线前安全审核和测试时间,降低系统后期的安全风险和交付风险,并尽早与安全团队讨论技术方案,提高设计质量。
威胁建模的好处
- 提前识别问题,节约上线前安全审核测试发现问题的修复时间。
- 在设计阶段识别安全风险,并将其纳入开发计划,降低系统后期的安全风险和交付风险。
- 尽早与安全团队对技术方案深入讨论,提高设计质量。
- 强化产品的安全性,提升市场竞争力。
威胁建模的参与者
威胁建模的总体思路
- 以资产(业务)为切入点
- 以应用为切入点
- 以攻击者为切入点
持续的结构化分析过程
- 创建威胁模型架构图:从整体上描述系统结构,理解系统业务,作为各种分析工作的基础。
- 识别威胁并确定各个威胁条目的状态:从攻击者的角度出发,综合分析攻击者可能采取的攻击类型以及对系统可能造成的影响。
- 针对识别的威胁创建消减措施:联合架构图和威胁识别的结果,从防守方的角度考虑应当采取哪些措施消减攻击带来的影响。
绘制威胁模型架构图
- 目的:以全局的视角理解系统面临的安全问题,用于生成威胁列表,辅助后续的分析工作。
- 要求:标明建模范围,记录业务信息和安全信息,分类分层,按照业务命名,标记高价值资产。
- 绘制步骤:识别用户和系统范围,识别基本组件和外部依赖,识别交互方式,识别安全边界,标记高价值资产,根据资产细化的需要补充细节。
识别威胁
- 威胁来源:威胁行为者的动机、每个用户、组件、安全边界、交互中的漏洞。
- 梳理威胁列表的方法:全面反映各种类型的威胁,准确反映威胁的当前状态,与“业务上下文”相结合。
- 如何选择参考资料:抽象模型(STRIDE)、细粒度模型(CAPEC)。
- 如何向团队解释威胁:先从整体上说明系统面临的威胁,说明时首先找到资产,然后围绕资产联系各个环节存在的问题及攻击者的攻击方式进行说明。
制定消解措施
- 什么是消解措施:针对系统架构中存在的缺陷/漏洞,需要进行重新设计或弥补,有时也存在必要的妥协机制,这些新增的安全控制、预防机制或处理规范都可以作为消解措施被记录下来,作为后续产品开发、运营工作的指导。
- 常见的消解措施:修复缺陷、安全控制、转移/替换、变更需求、监控/审计、预防措施、接纳/妥协(需经批准)。
- 复杂场景的消解措施:将具体威胁映射为一类或几类威胁,利用威胁对应的安全属性来确定常见的消减措施。
- 和团队讨论达成一致:描述消解措施,并且和团队就消解手段,具体方式与优先级达成一致。
威胁建模落地总结
- 消解措施有多种形式,请根据业务实际灵活选择。
- 消解措施不是法律建议!如果和法律条款相关请一定咨询法务。
- 一定要和团队达成一致。避免消解措施破坏业务。
- 消解措施的三大思路:企业规范、现有消解库、安全属性。
总结
威胁建模是一种重要的安全方法,通过识别资产、威胁、威胁行为者和漏洞,提前识别问题,降低系统安全风险,提高设计质量,强化产品的安全性。威胁建模的参与者包括产品经理、开发团队和安全团队,其总体思路是持续的结构化分析过程,包括创建威胁模型架构图、识别威胁并确定各个威胁条目的状态、针对识别的威胁创建消减措施。消解措施有多种形式,需要根据业务实际灵活选择,并与团队达成一致,避免消解措施破坏业务。