新闻详细
CSA发布| 务实的DevSecOps实施解读(上) 之 DevSecOps黄金流水线与关键角色
  • 2024.04.17
  • 4554

云安全联盟大中华区发布DevSecOps的六大支柱:务实的实现(以下简称“报告”)该报告中的 DevSecOps 实施指南被组织成一系列实际职责和活动,旨在帮助数字安全领导者在开始进行DevSecOps时做出务实决策。

 


 

01 DevSecOps发展历史

 

DevSecOps是“开发(Dev)、安全(Sec)和运营(Ops)”的缩写,其核心取自于DevOps这一火热的概念【《DevSecOps定义编年史:通过DevSecOps定义看DevSecOps发展》:https://www.douban.com/note/853429102/?_dtcc=1&_i=3562116x9VVG95】。

DevOps代表了云原生文化取向、自动化方法和新兴技术平台的融合。DevSecOps的核心理念是将安全性嵌入到整个软件开发生命周期中,使安全成为IT团队(包括开发、运维和安全团队)的共同责任。

 

随着时间的推移,DevSecOps的概念也逐渐发展和完善。它强调在软件开发的早期阶段就引入安全性,确保安全防护贯穿整个应用开发过程。通过固化流程、加强不同人员之间的协作,以及利用工具和技术手段,将可以自动化、重复性的安全工作融入到研发体系内,使安全属性嵌入到整条流水线。

 

02 DevSecOps黄金流水线

 

黄金流水线(Golden Pipeline)这一概念基于安全工作前移、安全工作和现有工作的无缝对接这两个方面提出的。黄金流水线(Golden Pipeline)特指一套通过稳定的可落地的安全的方式,自动化地进行应用CI/CD的流水线体系。

 

《持续交付:发布可靠软件的系统方法》由Jez Humble和David Farley在2011年编写在持续交付的框架中,流水线是一个至关重要的概念。它代表了从代码编写、测试、构建到部署的整个过程,确保软件从开发到生产环境的顺畅流转。通过流水线,可以自动化地执行一系列任务,包括代码集成、构建、测试、部署等,从而提高软件交付的效率和质量。

 

其中工具链自动化的支撑程度是缩短调度成本、实现快速迭代的关键,为DevSecOps提供了一种便于理解和落地的实现方式,从Golden Pipeline开发流程体系来看,DevSecOps开发安全主要包括Golden-Gate安全门(门禁)、AST应用安全测试、SCA第三方组件成本分析、RASP运行时应用自保护等多个关键安全活动。

 

DevOps元素表为实施DevOps提供了详尽的框架和步骤,DevOps不仅仅是一系列技术和工具的组合,更是一种文化和协作方式的转变。DevOps元素表强调了这一点,提醒团队在实施DevOps时要注重打破传统角色壁垒,促进跨部门、跨角色的紧密协作。通过加强沟通和合作,团队可以更有效地应对挑战,实现快速、可靠的软件交付。【《DevOps元素表》https://digital.ai/learn/devops-periodic-table/】

 

根据报告建议流水线不仅仅具有黄金流水线(Golden Pipeline)的功能,需要组合安全的软件生命周期阶段,融入安全人员、安全文化、安全流程和安全技术(CPPT)的组合推动DevSecOps更好地实施。在将安全性纳入到软件开发生命周期 (SDLC) 中时,组织有多种工具和解决方案可供选择。然而,这些通常存在一些问题:要么难以部署、实施和扩展,要么无法提供有助于减轻实际安全风险的可行见解。由于每个 SDLC 在结构、流程、工具和整体成熟度方面都不同,因此没有通用的二元蓝图来实施 DevSecOps。【二元蓝图: 《DevSecOps的六大支柱:务实的实现》】

 

详见《DevSecOps的六大支柱:务实的实现》

 

03 DevSecOps实施关键角色

 

《凤凰项目》这本书通过讲述一个虚构的IT运维团队如何挽救一家面临破产危机的跨国制造企业的故事,生动地展示了如何在现实世界中实施敏捷开发与运维。其中描述的安全专家负责评估安全风险,并提供相应的安全建议和解决方案。

 

在凤凰项目模式中,【凤凰项目模式:《凤凰项目》是2015年人民邮电出版社出版的图书,作者是基恩·金,书中讲述了一位IT经理临危受命,在DevOps黄金三步工作法理念的支撑下,最终挽救了一家具有悠久历史的汽车配件制造商的故事。小说揭示了管理现代IT组织与管理传统工厂的共通之处,通过DevOps帮助企业实现了业务目标,并帮助企业实现成功的故事。】安全专家需要与开发、运维团队紧密协作,确保在整个软件开发和部署过程中,安全人员的充分参与才能使流水线更加的安全可靠。

 

人员、流程和工具是三个缺一不可的关键要素。人员方面,首先领导层一定要去重视,领导的作用是很大的,只有领导重视了,才会有相应的流程、规范,才会去招聘相应的人员、做相关的培训、采购工具。做安全一定是自上而下的。其实我们的程序员的安全储备是不够的,对于安全开发、安全编码的培训是非常重要的。开发不是说功能实现了就可以了,一定要高质量。

 

除了安全性,在其他方面也有代码质量的体现。根据报告建议组织具有如下角色推动DevSecOps更好地实施。具体角色如下表所示:
 



 

04 安全冠军对于DevSecOps成功的影响

 

其中安全冠军对于很多企业非常重要。安全冠军在组织中负责维护和确保安全。他们的职责包括监测和预防潜在的安全威胁,制定和执行安全政策和措施,调查和应对安全事件,提供安全培训和意识教育,以及与其他部门合作,确保组织的安全性。

 

安全人员还负责评估和改进组织的安全风险,提供安全建议和解决方案,并参与应急响应和危机管理。他们的目标是保护组织的人员、资产和信息免受任何形式的威胁和损害。安全冠军可以通过宣传、管理和实施安全态势,让您的开发团队作为安全团队的扩展成员来帮助弥合这一差距。他们的职责包括:
 

 

05 课程推荐

 

CSA 数字安全人才体系2.0

 

DevSecOps专家认证(Certified DevSecOps Professional) 课程的价值主要体现在提升安全性、促进团队协作、加速软件交付、培养全栈人才和提高企业价值等方面。对于希望在软件开发和运维领域获得更多竞争优势的企业和个人来说,是个不错的选择。

 

致谢
 

《DevSecOps的六大支柱:务实的实现(The Six Pillars of DevSecOps: Pragmatic Implementation)》由Lead Author编写,并由CSA大中华区专家组织翻译并审校。(以下排名不分先后):

中文翻译组组长:李岩

中文翻译组组员:何伊圣、陈宏伟、殷铭、贺志生、吴嘉雯、高亚楠、伏伟任、江澎、江泽鑫、余晓光、谢绍志、屈伟、江楠、王岩、王贵宗、王彪、苏泰泉、欧建军、林艺芳、张坤

(以上排名不分先后)

本文作者:李岩(北京老李)

本网站使用Cookies以使您获得最佳的体验。为了继续浏览本网站,您需同意我们对Cookies的使用。想要了解更多有关于Cookies的信息,或不希望当您使用网站时出现cookies,请阅读我们的Cookies声明隐私声明
全 部 接 受
拒 绝