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--,每周原创一篇技术干货。 

【应用安全】S-SDLC安全开发生命周期的更多相关文章

  1. 软件开发生命周期(SDLC)

    一.简介 软件开发生命周期又叫做 SDLC(Software Development Life Cycle),它是集合了计划.开发.测试和部署过程的集合.如下图所示 : 二.五个阶段 1.分析阶段: ...

  2. 【PMP】项目生命周期和开发生命周期

    一.定义 项目生命周期:指项目从启动到完成所经历的一系列阶段. 开发生命周期:项目生命周期内通常有一个或多个阶段与产品.服务或成果的开发相关,这些阶段称为开发生命周期. 二.生命周期 预测型生命周期( ...

  3. 【应用安全】微软的安全开发生命周期(SDL)

    0x01 SDL介绍 安全开发生命周期(SDL)即Security Development Lifecycle,是一个帮助开发人员构建更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程. ...

  4. 【转】VS 安全开发生命周期(SDL)检查

    前面在学习使用google的protobuf时在VS2012中一直无法编译编译通过,经过查找一些资料原来发现,并不是protobuf的问题,而是自己在使用VS2012时,没有完全了解VS2012的强大 ...

  5. iOS开发——生命周期

    为了处理好应用程序的挂起.暂停等情况下的数据保存,或对应添加所需处理,我们必须了解ios生命周期. 但是不要去背去记,做个实验就好. - (BOOL)application:(UIApplicatio ...

  6. SDL -安全开发生命周期

    1.学习SDL https://www.cnblogs.com/whoami101/p/9914862.html 2.学习SDL https://blog.csdn.net/whatday/artic ...

  7. 用SVN进行团队开发协作生命周期详解

    目录 前言 面向人群 背景 解决方案 团队开发生命周期 创建新项目 创建分支 切换分支 合并代码 正式版本发布 bug修复 结束语 前言 查找了SVN的相关知识无论是园子里还是百度都只有一些理论,而有 ...

  8. DevOps生命周期,你想知道的全都在这里了!

    在大多数情况下,软件应用程序开发由于其规范性和复杂性而变得很耗时. 为了在短时间内交付高质量应用程序,软件开发人员正在遵循一套通用的实践,称为DevOps生命周期. 那么,DevOps在软件应用程序开 ...

  9. 软件测试生命周期(STLC)的8个阶段的详细信息

    一.演化 ♦1960年代的趋势: ♦1990年代的趋势: ♦2000年代的趋势: 测试的趋势和能力正在发生变化.现在要求测试人员更加注重技术和流程.现在的测试不仅仅局限于发现错误,而且范围更广,从项目 ...

随机推荐

  1. IAAS、SAAS 和 PAAS 的区别、理解

    通俗的讲: 如果你是一个网站站长,想要建立一个网站.不采用云服务,你所需要的投入大概是:买服务器,安装服务器软件,编写网站程序.现在你追随潮流,采用流行的云计算,如果你采用IaaS服务,那么意味着你就 ...

  2. 斗鱼宣布获C轮15亿融资 直播行业进入资本时代

    今天,斗鱼直播宣布完成C轮15亿人民币融资,本轮融资由凤凰投资与腾讯领投,深创投.国家中小企业基金.红土成长等跟投.2016年3月,斗鱼曾获得1亿美元(约合6.7亿元人民币)B轮融资,腾讯出资4亿人民 ...

  3. windows 启动关闭Oracle监听和服务

    经常要用数据库,让他自己启动的话,开机太慢,所以用命令启动方便点.    1.开启:     在运行中输入cmd,进入控制台,lsnrctl start回车,提示启动监听成功后 net start O ...

  4. java try-with-resource语句使用

    定义 JDK7之后,Java多了个新的语法:try-with-resources语句, 可以理解为是一个声明一个或多个资源的 try语句(用分号隔开), 一个资源作为一个对象,并且这个资源必须要在执行 ...

  5. 奇怪吸引子---LorenzStenflo

    奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...

  6. Cannot generate C# proxy dll with JNI4NET tool, running batch file as trusted assembly?

    From: https://stackoverflow.com/questions/41042368/cannot-generate-c-sharp-proxy-dll-with-jni4net-to ...

  7. 从YOLOv1到YOLOv3,目标检测的进化之路

    https://blog.csdn.net/guleileo/article/details/80581858 本文来自 CSDN 网站,作者 EasonApp. 作者专栏: http://dwz.c ...

  8. [C++] const与重载

    下面的两个函数构成重载吗? void M(int a){} //(1) void M(const int a){} //(2) 下面的呢? void M(int& a){} //(3) voi ...

  9. KVM虚拟化管理 virt manager常用操作

    部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...

  10. Shell获取某目录下所有文件夹的名称

    查看目录下面的所有文件: #!/bin/bash cd /目标目录 for file in $(ls *) do echo $file done 延伸的方法,查看目录下面的所有目录 #!/bin/ba ...