【安全开发】SDLC落地难?以过来人的经验告诉你

     

       确实非常难

 

很久没写东西,大约在2年前左右,我通过“借鉴”各大乙方公司的胶片,出了一份《企业软件安全开发(SDLC)实践》,算是对SDL相关流程做了个科普。两年时间过去了,最近也有朋友一起交流SDL在企业当中的落地情况,现在回想起来,当初的那个胶片确实有些地方写的不够细致,经过这两年的实践,虽然我不能教会你成功落地的经验,但是总结了一些失败的关键点供大家参考,免得大家走弯路。俗话说的好“读万卷书不如行万里路,行万里路不如名师指路,名师指路不如靠自己悟”。虽然算不上名师,但是能够帮你识别一些弯路,这样你也能更好的理解名师指的正确的路。

 

1、最关键的点:安全人力不足或者不全面、公司财力又不够的情况下先做好基础防护工作先,SDL等人财都有的时候再考虑。(外包的不算)

2、管理好自己的预期和收获。我当时计划搞SDL的时候跟领导说了句SDL效果起码要三年时间,第一年先把整个流程梳理和规范制定,第二年将自动化流程纳入到开发过程,第三年根据实际情况进行持续优化。很明显,时间啪啪啪的打脸了。三年的时间过于保守,基本上一般的企业很难在3年有一个明显的效果,流程、制度、人员、上级支持都根本没办法完成这个目标。

3、各层级的支持。高层的支持包含高级管理层的口头支持,HR线的实际支持、IT线的具体支持。领导级的支持用来扯大旗,HR的支持用来做绩效纳入,IT线(开发、运维、安全)的具体行动支持用来具体落地。

4、规范的精细化管理。大家的时间都挺忙的,一篇编码规范几十上百页,一篇设计规范几十上百页,一篇安全测试规范几十上百页……,你自己都没有一个字一个字看全,怎么可能让人家主要工作不是安全的人去看那些破规范呢。多走一步,尽可能简化别人的时间。

5、自动化-说的比唱的好听。安全编码纳入开发流程,自动化完成编码规范要求,上线前自动化fuzz和黑盒测试,漏洞跟踪走开发jira单……,一切都是你的一厢情愿,单单一个编码规则自动化直接可以耗费好几个人的资源,全链路的自动化是一个美好的愿景,愿景需要一步步的去实现。

6、信息安全部自身能力的不足。安全开发涉及培训、需求、涉及、编码、测试、运维各个阶段,每个阶段有不同的技能要求,扪心自问是否有能力完成当中所有安全相关工作?除了一些大企业的人员配备足够,中小企业掂量掂量自己能做的东西先。

SDL安全开发体系的构建是一个复杂而又漫长的过程,遥想微软花了近十来年才算是比较成功落地在各个产品线,当中漫长的持续投入不是每个企业能够承受的了的。国内的话除了那些大型的顶尖企业,sdl不一定是你当前最好的选择,因为这是一个苦在当代,利在千秋的事情,没有多方面的支持是没办法让你苦完还有收获的。我觉得事物发展都是需要一个天时地利人和的最佳时机,自己应该好好结合自身企业的实际情况有针对性的解决问题为首要任务,等到大环境相对成熟的时候比较容易推动项目的成功。个人的努力固然重要,但是也要考虑历史的进程大概也就是这么回事吧。

 

后面我再找机会分享下SDL各个阶段容易走弯路的细节给到大家做参考吧

发表评论

电子邮件地址不会被公开。 必填项已用*标注