【应用安全】S-SDLC安全开发生命周期
0x01 S-SDLC简介
OWASP Secure Software Development Lifecycle Project(S-SDLC)是OWASP组织首个由OWASP中国团队独立发布并主导的研究项目,并在全球范围内正式发布。S-SDLC被越来越多的企业所重视,纷纷开始实施。
S-SDLC是安全软件开发生命周期,是一套完整的,面向Web和APP开发厂商的安全工程方法。帮助软件企业降低安全问些,提升软件安全质量。S-SDLC的理念来源于微软SDL,最终目标是帮助用户减少安全问题,并使用该方法从每个阶段提高总体安全级别。
0x02 项目描述及目标
S-SDLC定义了安全软件开发的流程,以及各个阶段需要进行的安全活动,包括活动指南,工具、模板等,主要包括:
培训:提供安全培训体系,包含安全意识培训,安全基础知识培训,安全开发生命周期流程培训和安全专业知识培训;
需求阶段:如何对软件产品的风险进行评估,建立基本的安全需求
设计阶段:提供安全方案设计及威胁建模
实现阶段:提供主流编程语言的安全编码规范,安全函数库以及代码审计方法
测试阶段:基于威胁建模的测试设计,Fuzzing测试,渗透测试
发布/维护阶段:建立漏洞管理体系
项目目标:
(1)制定面向Web和APP开发企业的安全开发流程
制定动态的安全开发流程,对安全活动及活动要求进行分级,不同类型的软件,可以根据产品的风险及可用的投入资源来确定开发过程中要执行的安全活动,明确活动的输入,输出,执行者及依赖关系;
(2)制定及开发安全基础培训课程
制定安全培训体系,确定不同的角色需要接受的培训内容及培训的周期;开发基础性的培训课程;
(3)根据实践经验,输出各个安全活动的方法指导及模板,主要的安全活动有:安全风险评估、设计Review、威胁建模、基于威胁建模的测试
(4)制定WEB应用/移动应用安全设计指南
(5)制定安全编码(C/C++、JAVA、PHP,C#)
(6)将OWASP现有项目,如开发指南、测试指南融合到软件全开发体系中;
0x03 S-SDLC实践
不少厂商为满足企业软件安全开发的需求,推出了S-SDLC安全咨询,推出了基于“平台+工具+服务”的一体化解决方案。
SecZone S-SDLC解决方案V2.0全景图:
[图片来源于: http://www.seczone.cn/2018/08/01/s-sdlc%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88v2-0/]
1、安全培训
根据行业企业实际需求,定制安全培训
2、安全需求
在项目需求分析阶段引入安全需求,使系统具备一定的安全功能而提高系统安全性是此阶段安全活动的目标。本阶段的安全需求由业务需求提出方提出,研发团队和安全团队共同参与完成安全需求分析。
安全人员需要从业务的角度思考安全风险,然后通过自身丰富的安全攻防经验,更好的挖掘和规避安全风险问题,形成安全需求清单。
3、安全设计
在设计阶段阶段,仔细考虑系统的安全设计和用户隐私问题。
4、安全开发
定制开发者的开发规范,并将安全技术方案开发规范中让安全方案实际落地,便于开发者写出安全的代码。
4、安全测试
基于《Owasp Testing Guide v4》测试框架,构建WEB应用安全测试规范,输出渗透测试报告。
5、安全部署/运维
漏洞、补丁安全事件管理
安全基线,对操作系统、数据库、中间件制定安全加固规范
最后
欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。