【SDL最初实践】开篇

2019-01-02 16:16:47 浏览数 (1)

01

写作背景

记得在之前参加面试时,被问到SDL,勉强把其流程稍加解释的给背了出来,面试官一脸不屑的样子记忆犹新。因为那时负责的是乙方安服技术团队,针对甲方推崇但又没几家实际落地并做好的SDL,的确缺少经验。后来,在网上找了很多相关资料,但大多都是没血没肉的理论指导性文章,落地的案例寥寥无几。再后来,主动联系了当初的面试官,请教他们公司的SDL如何开展,得到的回复却是:这玩意儿真正落地的公司比较少,都是一二线互联网公司在玩;外面那些paper都太形而上了,没有落地空间,有些概念可以参考,跟领导吹吹牛逼是可以的。

时至今日,工作方向已由应用安全转向负责基础安全。经过近一年的演变,公司落地版的SDL已稍见雏形,各个环节已基本打通并稳定,期间的各种经验和心得甚为宝贵,于是乎计划着编写这一系列的文章,或许可以在SDL案例缺失的时间里,给同行朋友带来一丝参考与思考。由于是最初实践,肯定存在一些不足甚至错误,烦请指正并热烈讨论。

02

SDL概况

安全开发生命周期(SDL)即SecurityDevelopment Lifecycle,是微软提出的从安全角度指导软件开发过程的管理模式。在传统软件开发生命周期的各个阶段增加了一些必要的安全活动,软件开发的不同阶段所执行的安全活动也不同,每个活动就算单独执行也都能对软件安全起到一定作用。

只要是在做应用安全,肯定都会接触到SDL中的某一环或几个环节,是否有必要全部串联起来或填补空白环节,几乎是决定于当前的工作状态(工作量、工作计划)与业务形态(业务是否迭代频繁,安全检查发生改变后是否会明显影响到业务)。

03

SDL流程

SDL的核心理念就是将安全考虑集成在软件开发的每一个阶段:需求分析、设计、编码、测试和维护。从需求、设计到发布产品的每一个阶段都增加相应的安全活动,以减少软件中漏洞的数量并将安全缺陷降低到最小程度。微软的流程为:

04

我眼里(落地版)的SDL流程

结合实际情况与资源,可以分为这样的七部分:

该实践基于作者以及所在安全团队边学边推行的最初实践,服务于物流行业一家由传统转型互联网的公司,同样面临安全起步较晚且安全团队人数较少,安全开发能力欠佳。但凭借内外部资源、公司内部系统项目、安全事件推动等因素,已基本实现所有新业务系统、旧业务系统功能大变更,均按照SDL推行。


0 人点赞