跳转至

11. SDL上线规定文档

作者:Lost Maniac

协作:


1. 概述

1.1. 编制目的

为了提升公司各业务线产品的安全质量,降低安全风险,进一步提升公司整体安全水平,结合公司现有产品设计、开发、测试及上线流程,特制定此《XX产品安全开发流程》。

1.2. 适用范围

此流程适用于 XX 所有业务线产品的安全设计、开发、测试及上线。

2. 什么是安全开发流程(SDL)?

SDL 的全称是 Security Development Lifecycle,即:安全开发生命周期。它是由微软最早提出的,是一种帮助解决软件安全问题的方法。SDL 中的方法,试图从安全漏洞产生的根源上解决问题。SDL 是一个安全保证的过程,通过对软件工程的控制,从而保证产品的安全性。它能够帮助企业以最小的成本提高产品的安全性,对企业安全的发展来说,可以起到事半功倍的效果。

3. 实施 SDL 的目的

实施 SDL 的核心目的只有一个,那就是通过在开发过程中加入安全控制的方法,提升各业务线项目、系统的安全性。避免因项目上线后存在安全漏洞被攻击者恶意利用而造成不必要的安全风险和损失。

4. 实施 SDL 的好处

  • 提前主动发现安全漏洞,降低安全风险和漏洞修复成本
  • 在项目开发前期就引入安全控制的方法,构建标准化安全开发流程,从根源上减少安全漏洞和降低安全风险
  • 保证所有项目在上线前都通知到安全团队

5. 如何实施安全开发流程

5.1. XX SDL 整体流程

整体流程

5.2. 项目立项

要求:需要保证所有项目在立项时都通知到安全团队。
通知方式:邮件+企业微信、立项会议

5.3. 需求分析

要求:所有需求必须通过安全评审,由安全团队来评估需求是否存在安全风险或是否需要设计安全功能;如果安全评审未通过,不允许进入下一步研发流程

安全评审流程:

安全评审流程

安全评审成果:安全评审报告 安全评审沟通方式:邮件+企业微信、jira安全评审提交

5.4. 设计

在设计阶段,由产品和研发团队自查,确认是否有违反《XX开发安全红线准则》的行为。

5.5. 编码实现

在编码实现阶段,研发工程师应遵循 《XX安全开发手册》

5.6. 测试验证

在开发工作完成后,应与功能测试同步进行安全测试,安全测试过程中发现的安全漏洞通过“jira XX安全团队漏洞提交”管理。

安全测试需求提交方式:邮件+企业微信、项目安全提测系统

5.7. 业务验收

在业务验收时,应同步进行安全验收,完成后由安全团队发布《XX项目安全验收报告》,如 果在安全验收过程中发现存在未修复的高危及严重级别安全漏洞,不允许进入上线发布环节。

5.8. 上线与维护

  • 如果未收到“通过安全验收”的报告,不允许私自上线发布项目。
  • 在项目上线前,由安全团队添加相应必要的安全监控、定期漏洞扫描。