1.简介
SDL的全称是Security Development Lifecycle,即:安全开发生命周期。由微软最早提出,是一种专注于软件开发的安全保障流程。为实现保护最终用户为目标,它在软件开发流程的各个阶段引入安全和隐私问题。
2.流程
SDL大致如下,包括了以下七个阶段:
• 安全培训:
安全培训体系:安全意识+安全测试+安全开发+安全运维+安全产品
培训对象:开发人员、测试人员、项目经理、产品经理
培训内容:安全设计、威胁建模、安全编码、安全测试、隐私等
• 需求分析:
确定安全需求和投入占比,寻找安全嵌入的最优方式
项目确立前与项目经理或产品所有者进行沟通,确定安全的要求
• 系统设计:确定设计要求,分析攻击面,威胁建模
• 实现:使用标准的工具,弃用不安全的函数,静态分析(安全开发规范+代码审计)
• 验证:黑白盒测试,攻击面评估
• 发布:安全事件响应计划、周期性安全评估
• 响应:应急响应,BUG跟踪
安全培训 | 需求分析 | 系统设计 | 实施 | 验证 | 发布 | 响应 |
---|---|---|---|---|---|---|
核心安全培训 | 确定安全要求、创建质量门/错误标尺、安全和隐私风险评估 | 确定设计要求、分析攻击面、威胁建模 | 使用批准的工具、弃用不安全的函数、静态分析 | 动态分析、模糊测试、攻击面评析 | 事件响应计划、最终安全评析、发布存档 | 执行事件响应计划 |