在RSA 2019大会上,DevSecOps 是热词之一,大会还特设了DevSecOps Day来探讨这一主题。组委会以Comcast公司的DevSecOps实践为例,分析了DevSecOps发展过程中的难题,并给出一些参考建议。
Comcast的DevSecOps实践
Comcast是美国三大运营商之一,是传统的电信巨头企业。近几年,Concast才开始推进软件相关的布局与发展。目前,软件业务已经成为COmcast的重要业务之一,全公司有数千名开发者整天与代码打交道。在这样的环境中,推行并实践DevSecOps其实存在一些难度,但Comcast却做出了一些成效,这其实离不开其首席产品与信息安全官Noopur Davis的战略部署。
Davis 认为,DevSecOps要求工程团队全方位自主负责生产过程中的产品性能。在三年前刚加入Comcast时,她就明确将DevSecOps提到了优先级,并迅速建立规则并推行。由于Comcast公司的软件业务历史不长,更容易接纳新的开发模式,整个团队也认可新的理念,为实践DevSecOps创造了先决条件。
随后的事件,大概可以分为以下几步:
- 获取董事会的支持;
- 确立安全成熟度模型;
- 组建新社群;
- 建立一系列软件开发生命周期原则性指南
这些原则性指南包括:
在产品开发初期就纳入安全考量,不等到后期补救; 不仅仅依赖安全专家,而是赋能工程团队,让他们也具备安全能力,并对安全开发流程负责; 安全地实现功能,而不仅仅关注安全功能; 持续学习提升; 关注文化浸润与转变,弱化强迫性政策
基于这些原则,Davis及其团队创建了新的实践模式,要求开发团队进行信息搜集调查、自我评估、设立计划并执行以及设置重新评估流程。而他们设置的安全成熟度模型也进一步明确在不同场景中都要进行代码分析流程。
此外,对团队成员也要及时评估,经常运用培训、宣传、沟通等方法建立更好的DevSecOps文化,让更多人接受并实践。企业内部的组织架构也要合理调整,让安全人员融入各个团队和环节。
从Davis在Comcast公司实施DevSecOps的经验中,我们也许可以总结出一些参考。作为CIO或者CISO,在履职初期就应当抓住时机,梳理业务并及时建立可执行的机制。当然,需要注意的是,要让团队支持并接受DevSecOps的理念,让理念能够融入公司的文化当中。这离不开合理的评估与培训。
公司规模有大有小,不一定能完全实践案例中的环节。Davis也为想要实施DevSecOps的企业提供了建议:首先要找公司中找到有意愿实践DevSecOps的同事,共同谋划;然后找到愿意融入安全的DevOps团队;最后确立能够将安全融入DevOp流程的策略。在实践过程中,需要建立安全成熟度模型,与更多团队沟通联动,选择合适的工具。另外,在六个月的周期内最好能产出成果、树立榜样,才能走得更远。
理念的壁垒难以打破
DevSecOps作为安全领域中逐渐步入成熟期的技术体系,从最初的理念到如今少量的成功实践案例,中间经历了大量的探索与发展。现如今,很多企业已经意识到DevSecOps的重要性并想要有所实践,但仍然面临大量挑战。
正如前文的案例所强调的那样,企业组织对于DevSecOps的接受程度,以及整个企业文化中的安全意识,是影响DevSecOps实践的重要因素。技术能让安全融入DevOps过程,但人、流程以及文化才能推动DevSecOps常态化。很多组织不愿意接受DevSecOps的原因是他们认为一旦考虑到安全,整个开发运营流程的效率会降低。这样的担心与DevSecOps理念发展早期安全与多个环节割裂的情形有关。一直以来,安全部门常常作为一个独立团队存在,且与开发和运营分割,很多开发人员和运营人员都没有接受过基本安全培训。由此造成的理念与意识壁垒,一时间很难打破。
DevOps Connect
RSA 2019大会特设的DevSecOps Day以“DevOps Connect”为主题,期望通过CI/CD(持续集成/持续交付)并有效度量,实现效率提升。演讲嘉宾认为,DevSecOps的奥义是在DevOps中融入Sec,因此其基于DevOps架构,并在相应阶段增加安全性检查,集成到CI/DI的流程中,并扩展现有的DevOps工具与实践。
DevOps的核心是“持续整合集成与持续交付”,而DevSecOps的核心在于“安全关口左移”。总体来说,DevSecOps要想成功实践,需要能力集成,持续学习以及多方面的融合。
此外,现场演讲者也强调了评估(度量)机制对于效率提升、减少组织间不信任或冲突的重要性。安全专家Larry Maccherone提出了实践DevSecOps的九大关键因素。
安全意识 安全编码 威胁建模 第三方导入代码分析 代码编写分析 团队合作协议 高危脆弱性清理 同业人员评审 安全评估
这九大关键因素中,安全意识、评审、评估以及团队合作协议等都对应着企业对DevSecOps的理念修正以及文化融合。正如本文第二部分所说,理念与文化的壁垒,一时间难以打破,需要重视且持续改进。
综合威胁模型和风险缓解、持续的安全自动化等,是很多企业风险管理者对DevSecOps的期待。其中,自动化需要通过多种工具实现。现场演讲者也推荐了一些参考工具,此处列出以供参考。
工具推荐
- PowerShell
- PowerShell DSC
- REST API
- CloudFormation
- ARM Templates
- Azure Automation:
- Chef:https://learn.chef.io/#/
- Puppet:https://learn.puppet.com/category/self-paced-training
- NetOps:https://f5.com/education/super-netops-training
学习书目推荐
Learn Windows PowerShell in a Month of Lunches, 3rd Edition – By Don Jones and Jeffery Hicks Pro PowerShell Desired State Configuration – By Ravikanth Chagani Implementing DevOps with Microsoft Azure – By Mitesh Soni Effective DevOps with AWS – By Nathaniel Felsen Windows Server 2019 & PowerShell All-in-One Desk Reference For Dummies (Release date: April 30, 2019) – By Sara Perrott
*参考来源:rsaconference,rsaus19,转载请注明来自FreeBuf.COM