企业级SDLC的落地思考

本文详细介绍了微软的SDL(安全开发生命周期),强调了安全在软件开发过程中的重要性。SDL通过七个步骤,包括培训、需求分析、设计、开发、测试、部署和响应,确保安全贯穿整个开发流程。文章还讨论了如何在企业中推动SDL落地,提出了基于现有制度、灵活变通和选择性覆盖的策略。最后,SDL的落地需要开发人员的支持和安全人员的高效协作,通过自动化工具可以提高效率。
摘要由CSDN通过智能技术生成

目录

前言

SDL 中的基础概念

什么是 SDL?

​1. 培训

2. 需求分析

3. 设计

4. 开发

5. 测试

6. 部署

7. 响应

如何推动 SDL 落地?

1. 我们要基于现有的制度拓展 SDL。

2. 我们在落地 SDL 的时候要灵活变通,不要生搬硬套。

3. 在 SDL 的覆盖面上,我们也可以有所取舍。

总结

思考题


前言

企业级安全漏洞的源头是人员,无论是开发,运维,测试,还是非技术的人,哪怕是客服等,当员工出现稍微的懈怠,黑客就有可乘之机。因此,如何保障更“安全”,是安全防护工作中最关键的一环。 2004年,微软提出SDLC(Security Development Lifecycle,安全开发生命周期)。因为对安全和隐私的考虑贯穿了整个软件的开发进程,SDL旨在帮助开发人员写出更“安全”的代码,在解决安全合规需求的同时,也能减少由安全问题带来的损失。SDL 本质上是一个宏观指导性质的框架。它成为了很多公司建设安全开发体系的参照标准。各自依据微软的 SDL 标准,结合自身的实际情况,衍生出了适合公司自身发展的 SDL。


SDL 中的基础概念

软件开发中的经典概念:软件开发生命周期 DLC(Software Development Life Cycle)。SDL 是以软件开发生命周期为基础发展成的安全框架,所以,了解 DLC 能够帮助我们更好地认识 SDL。 DLC 将软件开发过程分为 5 个阶段:需求分析、设计、开发、测试和部署。DLC 对 5 个阶段的具体描述,都是以业务功能为核心进行展开的,并没有涵盖安全的工作。这显然不安全。 我们都知道,安全问题对公司的威胁是客观存在的。因此,很多公司将安全纳入到测试的工作中。但是,这种做法会导致两个问题: 第一,安全问题要等到软件开发完成后才能发现。这个时候,因为一个安全隐患(不是 BUG),让开发人员重启开发流程,推动上会遇到较大的阻力; 第二,只能关注到最终完成的软件,往往会导致安全人员因为对业务了解不足,漏过一些安全隐患。这些问题的出现,让业内亟需一个能够更好地满足安全需求的软件开发流程,SDL 也就应运而生了。


什么是 SDL?

SDL 的出现不是为了颠覆传统的 DLC 框架,而是希望在 DLC 中加入足够清晰的安全需求,以此来为软件开发的过程提供完整的安全防护。SDL 的标准执行流程有 7 个步骤:安全培训、需求分析、设计、开发、测试、部署和响应。流程如下图:

1. 培训

在 SDL 中,安全培训是第一步。之所以会这么设计,就是因为很多公司都对安全人员给予了过高的期望,认为他们能够解决一切的安全问题,而忽略了对开发、测试、运维等人员的安全意识培训。这就导致安全人员一直处于一个“救火”的状态,无法从根本上杜绝安全问题的产生。 因此,SDL 中明确提出:开发、测试、运维和产品经理每年至少进行一次安全培训。培训的内容包括安全概念和框架、威胁评估、Web 安全、安全测试、安全合规以及隐私保护等


2. 需求分析

SDL 要求在需求分析的过程中,我们必须把安全防护的需求考虑进来。在需求分析阶段,安全人员提出的防护需求主要包括三个方面。

安全标准:为软件制定对应的安全标准。比如,各等级漏洞修复期限,对敏感数据进行加密存储、需要进行二次认证等。

安全指标:定义软件在上线时需要满足安全指标。比如,在上线时,软件必须经过安全测试,且不允许存在任何中高危漏洞

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值