对于软件安全研发过程,不同的项目会采用不同的过程模型,使用不同的工具,会有不同的门控要求及不同的输出物,下面简单介绍下我所理解的软件安全开发过程
一、软件安全开发全景图
首先我们先根据软件开发生命周期(SDL)画出相应的过程模型,其中分为计划,需求分析,设计,开发,测试,发布阶段,之后考虑在过程模型中加入安全的元素及活动,构成我们整个的软件安全开发生命后期模型。
其中,为了达成我们的软件安全生命周期模型,我们定义了模型的活动,标准&规范,活动要素,活动产出,工具&系统&人(角色)组成:
相关活动:软件开发生命周期过程中的各个阶段的安全相关活动,用以保证各环节中安全相关融入到产品中,保证产品的完整安全开发过程,提升产品安全竞争力;
标准&规范:即在各阶段进行各项活动时,需要遵守的各种标准&规范,作为各项活动的部分输入,以确保产品的安全能力是符合相关行业和国家及国际的要求的;
活动要素:即在个阶段进行各活动的主要元素,包括活动的定义,注意事项,输入输出等;
活动产出:即在各阶段进行相关活动后,得出的一些产物,以进行安全过程审计,活动持续改进证据,产品阶段性的安全保证;
工具&系统&人(角色):即在各阶段进行相关活动时所需要的支撑系统,使用的工具即技术,相关活动的主要进行角色等;