软件开发全生命周期安全管理规范--模板

软件开发全生命周期安全管理规范

版权声明

本文中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均XX公司所有,受到有关产权及版权法保护。任何个人、机构未经XX公司的书面授权许可,不得以任何方式复制或引用本文的任何片断。

适用性声明

本模板用于XX公司一般性软件开发性项目的安全管理指导规范。

目录

一. 概述 1
二. 适用范围 1
三. 关于本文档 1
3.1 概述 1
3.2 相关人员 2
四. 管理规范总则 2
4.1 软件开发全生命周期安全管理框架 2
4.2 体系文件概述 3
五. 需求阶段 4
5.1 安全定级 4
六. 设计阶段 4
七. 开发阶段 5
7.1 一级系统 5
7.2 二级系统 6
7.3 三级系统 6
八. 测试阶段 6
8.1 一级系统 7
8.2 二/三级系统 7
九. 上线阶段 7
9.1 一级系统 7
9.2 二/三级系统 7

概述

XX公司软件开发全生命周期管理规范(以下简称xxSDL)是一个管理XX公司应用系统开发项目,构建更安全的软件和解决安全合规要求的同时降低开发成本的管理过程。xxSDL的核心理念就是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段每都增加了相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。XX公司为了提高公司内部研发项目的安全管理的运作,开发出一套适用于自己的xxSDL管理规范,旨在于:
1、对软件开发项目制定统一安全工作指导标准,保证软件系统的整体安全性符合公司要求;
2、保障各级业务系统的稳定安全的运行且最小程度的受到安全攻击性威胁;
3、规范从需求到软件系统上线各个阶段的安全集成,旨在开发出安全的软件应用;
4、提高软件系统的抗信息安全风险的能力,从而提高企业的抗信息安全风险能力;
5、提高企业的项目管理过程中减少软件中的漏洞数量并降低安全缺陷的能力。

适用范围

本规范适用于XX公司一般性信息系统的软件研发类项目的安全管理规范。本规范所涉及的文档,流程仅限于XX公司IT科的项目运作指导使用,本规范最终解释权归XX公司IT科所有。
关于本文档
概述
xxSDL是基于微软提出的SDL安全开发管理过程,做了一定的适用于XX公司的修订。xxSDL管理的目的并不是取代传统的项目管理或者信息系统安全管理,而是在软件开发的不同阶段增加一些标准的安全活动。这并不会是严格意义的要求,实际上每个活动就算单独执行也都能对软件安全起到一定作用,当然缺少特定的安全活动也可能对软件的安全性带来影响,需要基于实际情况而定。
主要内容包括:
1.需求阶段——《应用系统安全定级指南》及《应用安全权重表》使用流程,《安全需求识别表使用规范》及安全需求识别表使用流程;
2.设计阶段——《应用安全设计规范》及安全设计需求描述、检查等过程;
3.编码阶段——《应用安全编码规范》及代码审计相关流程;
4.测试阶段——《应用安全基线》及《应用安全测试指南》的使用流程;
5.上线阶段——《应用上线安全指南》及相关工作流程;
6.运行阶段——安全监测与应急响应相关工作流程。
相关人员
使用人员:整套xxSDL体系涉及软件项目开发过程中的所有角色,一般包括:项目管理人员、开发方、安全管理人员、安全测试人员、安全运维人员。
维护人员:本文档原则上由安全管理人员统筹,联合流程管理、项目管理、安全测试、安全运维人员联合制定修改。

管理规范总则

软件开发全生命周期安全管理框架
XX公司软件开发全生命周期安全管理规范(简称xxSDL)结合XX公司的实际情况与XX 集团对安全相关标准的制定,并结合国情而设计出来的,适用于XX公司IT科使用的软件开发项目的管理框架。
为了更有效的对保证整个项目过程中安全威胁的降低,并结合实际情况,本规范主要集中在需求阶段、设计阶段、开发阶段、测试阶段和上线阶段,通过对相应阶段的流程制定与规范的使用,最终达到提高软件系统的安全性的目的。
XX公司软件开发全生命周期安全管理框架如图:
注释:这里根据自己公司实际情况结合SDL流程画一个图

体系文件概述

各类体系相关文件整体功能定义:
1)《软件开发全生命周期安全管理规范》:作为整个xxSDL体系一级文档使用,定义和指导二级文档的使用要求及使用规范;
2)《应用系统安全定级指南》:作为整个xxSDL体系二级文档使用,定义和指导使用三级文档《应用系统安全权重表》对应用系统做安全定级评定;
3)《安全需求识别表使用规范》:作为整个xxSDL体系二级文档使用,定义软件项目需求过程中的安全需求,并指导产出三级文档《安全需求识别表》及其使用规范;
4)《应用安全设计规范》:作为整个xxSDL体系二级文档使用,定义软件项目设计过程安全设计要求,并指导产出三级文档《安全设计检查表》及其使用规范;
5)《应用安全编码规范》:作为整个xxSDL体系二级文档使用,为软件项目开发阶段提供安全编码建议与参考;
6)《安全API使用指南》:作为整个xxSDL体系二级文档使用,为软件项目开发阶段提供API接口安全编码建议与参考;
7)《应用安全基线指南》:作为整个xxSDL体系二级文档使用,定义软件项目开发阶段与测试阶段软件安全基线要求,并为编写安全测试用例提供基线要求定义;
8)《应用安全测试指南》:作为整个xxSDL体系二级文档使用,为软件项目测试阶段提供安全测试用例编写指导及具体的操作方法;
9)《应用安全上线指南》:作为整个xxSDL体系二级文档使用,为软件项目正式上线阶段指定安全相关要求与流程。

需求阶段

需求发起方提交需求给相应的产品部门,需求发起方可以是运营部门、产品部门或者用研部门等,网络安全人员找到可对接的产品经理沟通需求事宜。获取原始《需求分析报告》。根据《应用系统安全定级指南》设定安全等级,并根据《安全需求识别表使用规范》出具安全需求识别表。需求阶段工作流程概述如下:
注释:这里根据自己公司情况画一个需求段工作流程图

安全定级

全新开发软件系统:
企业安全运维人员需要在软件项目需求阶段依据《应用系统安全定级指南》指导使用《应用系统安全定级权重表》对软件项目进行安全定级,不同安全级别对应的软件项目xxSDL流程也将不同,安全运维人员需要在需求阶段确定待开发的应用系统的安全级别,并启动相应的流程。
老旧功能更新软件系统:
功能更新类型的应用开发项目,企业安全运维人员参考之前项目设定的安全级别,如若不存在,依据《应用系统安全定级指南》指导使用《应用系统安全定级权重表》对软件项目进行安全定级,再启动相应的流程。

设计阶段

设计阶段安全工作是在开发方深入了解安全需求后给出概念设计阶段即要参与的事情。根据安全等级的不同,给出相应的安全设计规范,并要求开发方出具详细设计相关文档。并根据相应的安全设计检查表进行检查,老旧系统功能升级由于设计模式固定,可跳过此安全流程(设计阶段的安全指标可以根据开发方不同决定是否将其纳入需求阶段作为技术参数使用)。设计阶段安全工作流程如下:
注释:这个结合SDL,结合公司你赶快画一个设计阶段工作流程图

开发阶段

开发阶段安全工作主要是要求开发方编写代码时满足XX公司《应用系统编码规范》。并根据软件系统安全级别不同,要求是否同步进行代码审计、事后代码审计、要求开发方使用封闭式开发环境等等。不论是全新开发系统还是老旧系统升级,均需满足相应编码规范。开发阶段安全工作流程如下:

一级系统

1.要求开发方按照XX公司的《应用系统编码规范》编写代码,并符合一级安全设计标准。

二级系统

1.要求开发方按照XX公司的《应用系统编码规范》编写代码,并符合二级安全设计标准;
2.要求在编码完成阶段进行阶段,出具代码审计报告。

三级系统

1.要求开发方按照XX公司的《应用系统编码规范》编写代码,并符合三级安全设计标准;
2.建议开发方在编码阶段进行阶段性代码审计;
3.要求开发方在编码完成阶段出具第三方权威机构的代码审计报告;
4.要求开发方进行封闭式开发并且禁止任何项目信息出厂。

测试阶段

测试阶段安全工作主要是根据软件系统安全级别不同、不论是全新开发系统还是老旧系统升级,均根据《 应用系统安全基线文档》、参考《应用系统安全测试指南》制定出安全测试用例并进行相应的安全测试,输出安全测试报告。测试阶段安全工作流程如下:

注释:结合SDL和自己公司情况画一个设计阶段流程图

一级系统

1.测试阶段无安全性活动要求

二/三级系统

1.二/三级系统需要参与安全性渗透测试,出具安全测试报告,并对修复进行复测。

上线阶段

本上线阶段为正式上线阶段,该阶段安全工作主要是根据软件系统安全级别的不同,制定不同的工作流程,上线阶段安全工作流程如下:

注释:结合SDL和自己公司情况画一个上线阶段流程图

一级系统

1.一级系统上线需要对部署环境进行安全基线检查;
2.一级系统上线需要进行漏洞扫描并出具漏洞扫描报告。

二/三级系统

1.二/三级系统上线需要对部署环境进行安全基线检查;
2.二/三级系统上线需要进行漏洞扫描并出具漏洞扫描报告;
3.二/三级系统上线检查开发阶段代码审计和测试阶段安全测试报告是否符合上线要求。

你可能感兴趣的:(信息安全管理,安全,网络,运维)