DevSecOps兴起与发展
随着敏捷开发(Agile Development)在工业界的普遍使用与深入,DevSecOps概念应运而生。DevSecOps旨在帮助企业跨越传统安全管理的滞后性与开发流程的敏捷性之间的鸿沟,使安全能够融入结合到DevOps的流程中,以更小的成本实现企业的业务目标。这种安全与DevOps流程的结合具有革命性的意义,具体表现在以下几个方面。
安全角色的变革:安全人员是以降低企业风险为目标的。在DevSecOps的模式下,安全的实现需要有新的控制与管理手段,比如代码审核,动态漏洞扫描等。
赋予开发人员更多的安全责任:在传统安全管理架构中,开发人员与安全人员的目标往往是不一致的。随着DevSecOps的引入,安全成为了开发人员,安全人员以及管理人员等所有人的责任。培训开发人员完成更多安全的工作是切实可行的。
在更早的阶段引入安全与开发质量管理:安全在开发流程中的“左移”并不是新的概念,但DevSecOps的实践使传统安全向持续性安全的转变成为可能。
站在历史的角度看DevSecOps,它已经成为企业应用敏捷方法中最火的实践模式之一。DevOps打破了信息与技术的孤岛,协同各个跨职能组织,通过协作、亲和、自动化、规模化[1]实现高质量的业务成果。DevSecOps继承了这种软件工程文化,它指导团队统一软件开发、部署、安全和运营等多个部门进行协作。DevSecOps的成功来自于多个部门的参与,让开发、部署、安全、测试和运营等团队可以顺畅地在一起协同工作。
DevSecOps同时打破了团队的竖井,它通过迭代的方式,实现了安全的自动化流水线,也实现了企业全面敏捷化的安全转型。
站在发展的角度看DevSecOps,它对DevOps进行了发展与延伸。许多人把DevSecOps叫DevOps2.0。DevSecOps的这种发展与延伸,随着自动化部署技术的发展以及云原生应用的普及,要求企业更关注安全,站在安全的角度,实现在数字化转型的时代基于业务的敏捷安全。
DevSecOps实现模式
从实践角度我们总结了几种DevSecOps的实现模式:
反思性安全(Reflexive Security)
反思性安全(Reflexive Security)是DevSecOps的核心内容,即:一种动态的、交互式的、整体的、有效的信息安全管理策略。它代表了从现有协作概念和实践中推断出来的普遍实践,并提供了一套影响组织网络安全态势的广泛含义和易于理解的原则。这种方法特别适用于在资源和人员限制下运营的组织。【2】
反思不仅仅是“复盘”或“回顾”已发生的活动,其核心是要找到其中的“问题”以及可能的“答案”。
反思性安全的核心目标是保护自动化过程中内部和外部的安全性。
DevSecOps白皮书精要解读
云安全联盟大中华区发布《DevSecOps-的六大支柱:自动化》,针对DevSecOps提出了六大支柱,分别为集体责任、培训和流程整合、实用的实施、建立合规与发展的桥梁、自动化、度量、监控、报告和行动等内容。
DevSecOps的核心意味着要把安全管理思想全面地覆盖到整个框架中软件开发生命周期中,实现基于安全性的自动化是关键的核心问题。在DevOps名著《持续交付》中就指出应将几乎所有事情自动化【4】。
《CSA DevSecOps 软件交付流水线》
CSA 软件交付流水线中涉及多个流程,包括软件开发、变更管理、配置管理和服务管理,可能会应用持续集成、持续交付和持续监控的概念。 开发和运维使用的工具包括源代码控制、构建、持续集成、容器化、配置管理、编排和监控。
CSA 软件交付流水线每个阶段都应嵌入适当的自动化安全控制。基于CSA软件交付流水线中建议的阶段,应包括但不限于:
CSA 的自动化支柱可以使用安全的交付流水线并通过在其中应用安全控制来实现业务价值输出。其中应用风险优先的方法进一步允许优化持续交付和处理非自动化安全检查机制,使企业达到世界级的稳定性、可靠性、可用性和安全性。
DevSecOps展望
DevSecOps今天已经成为业界的重要发展趋势,DevSecOps也是CSA高级云安全专家课程(CSA ACSE)的核心内容,是践行共享安全责任的协作表现,DevSecOps意味着从一开始就考虑应用程序和基础设施安全,实现自动化安全质量门禁。只有基于DevOps整合IT的合作文化,才能构建DevSecOps集成安全性、开发和运营实现自动化流水线,帮助企业实现其数字化转型的业务目标。
参考文献
【1】《Effective DevOps:Building a Culture of Collaboration, Affinity, and Tooling at Scale》-中国电力出版社出版
【2】支柱5:自动化-CSA DevSecOps白皮书
【3】《学会提问》-机械工业出版社出版
【4】《持续交付》-人民邮电出版社出版
致谢
《DevSecOps的六大支柱:自动化》由CSA工作组专家编写,CSA大中华区秘书处组织翻译并审校。
组长:李岩
翻译组:伏伟任、何国锋、何伊圣、贺志生、江楠、江泽鑫、陆琪、余晓光
研究协调员:卜宋博
感谢以下单位的支持与贡献:
中国电信研究院、华为、腾讯
本文作者:
李岩,CSA数字化安全(CCSK、CDSP、CBP、CCPTP)首批讲师、EXIN数字化转型课程(DevOps,业务敏捷,Scrum、看板、人工智能,云计算、云服务、云安全)首批讲师、ITIL数字化运营首批全系列讲师,PMI-ACP敏捷项目管理首批讲师。
陆琪,爱立信云安全资深专家,CISSP认证安全专家,CSA大中华区云原生安全工作组专家成员。