通过对部分安全公司外部主页、安全产品(如:vmware vcloud)、本公司安全产品(进行安全检测,发现公司产品在系统自身安全上重视度不够。觉得有必要在软件开发上制定自己的安全开发模型。现根据owasp测试框架及软件的生命周期安全模型从以下3个方向简谈下软件安全开发模型的建设设想,以作为抛砖引玉之用。
制定安全策略(安全指导性政策)
整体安全风险管理策略
安全风险管理:针对每个阶段涉及到的安全问题,评价其危害、发生频度,决定处理策略 ,采取处理措施,跟踪处理结果,并对安全问题进行动态监管;
需求阶段安全策略
架构设计安全策略
概要设计安全策略
详细设计安全策略
编码阶段安全策略
测试、验收阶段安全策略
运维阶段安全策略
系统至少二备份(一备份用于安全检测),工作系统实时安全监控,安全检测用备份系统定期、不定期安全检测、渗透测试。
开发安全设计
需求分析阶段安全设计
安全需求审计
安全需求提炼
架构设计阶段安全设计
架构安全设计
物理架构安全、技术架构安全、逻辑架构安全
架构安全审计
概要设计阶段安全设计
总体安全设计
各功能模块输入、输出接口安全措施设计,确定系统整体、模块间安全对象及可能的安全影响;
总体安全设计审计
详细设计阶段安全设计
详细安全设计
模块内函数、业务逻辑安全设计;
详细安全设计审计
模块内函数、业务逻辑安全设计文档、资料、算法审计;
编码阶段阶段安全设计
安全功能的代码实现
模块输入、输出接口,模块内涵数、业务逻辑安全设计代码实现;
系统模块、单元白盒法代码审计
源码自动审计工具分析模块、单元源码,审查是否存在漏洞;
编码安全设计评审
代码评审、编码者阐述代码逻辑及意图,评审团评价其对前期各安全设计阶段的安全设计的符合度;
审查源码自动审计结果;
测试、验收阶段安全设计
模糊测试、安全工具黑盒测试
模糊测试外部输入接口,安全检测工具检测系统整体安全状况,渗透测试验证
测试、验收阶段安全审计
审计测试验收阶段安全策略执行情况
运维阶段安全设计
安全检测、渗透测试运维
运维阶段安全审计
安全策略执行情况、安全监控、检测、测试工作执行情况审计;
风险管理
需求安全风险管理
架构设计阶段安全风险管理
总体设计阶段安全风险管理
详细设计阶段安全风险管理
编码阶段安全风险管理
编码阶段发现的安全问题的风险管理;
测试、验收阶段安全风险管理
测试阶段发现的安全问题的风险管理;
运维阶段安全风险管理