DevSecOps是2017年美国RSA大会新出现的一个概念,大会甚至专门为这个概念和方向设置的议题和讨论会。DecSecOps是一种全新的安全理念与模式,即“每个人都对安全负责”,从DecOps的概念延伸和演变而来,其核心理念安全是整个IT团队(包括开发、运维及安全团队)每个人的责任,需要贯穿从开发和运营整个业务生命周期每一个环节才能提供有效保障,通过加强内部安全测试,主动搜寻安全漏洞,及时修复漏洞、控制风险,实现与业务流程的良好整合。来自Garnter研究公司的分析师David认为,当今的 CIO 应该修改 DevOps 的定义,使之包括安全理念变成为 DevSecOps。DevSecOps是糅合了开发、安全及运营理念以创建解决方案的全新方法”。
此次在DecSecOps专题研讨会分享《下一代安全需要你!》的DecSecOps机构总监Shannon Lietz对DevSecOps的概念做了比较细致的解释和说明,她认为DevSecOps是通过初始创建和依据真实有效反馈的持续改进实现产品价值、运维、安全等各方面需求的一种实践,这种实践方式可以更快地完成更安全软件。DevSecOps是一套体系化的方法论,由战略驱动,一套流程与工具支撑,通过开发、运维和安全团队共同努力将安全和合规作为属性嵌入软件。
图1
笔者认为DevSecOps的出现将对应用及IT基础设施的安全管理产生极其深远的意义,DevSecOps的广泛应用将标志着应用及IT基础设置的安全管理进入到一个全新的时代,将安全作为管理对象的一种属性,从应用和IT基础设施开发开始进行全生命周期的安全管理,构建一个安全属性很高的应用或IT基础设施,而不仅仅是通过安全为应用和IT基础设施提供保障。笔者认为,DevSecOps的应用将彻底改善企业和机构在应用和IT基础设施的安全现状。
过去安全开发跟安全运营总是割裂开,回顾企业和组织机构以往对应用及IT基础设施安全管理的态度和内容,我们可以将其简单地划分为两个阶段——“安全事故管理阶段”和“安全风险与合规管理阶段”。
第一阶段,企业和组织机构对应用和IT基础设施的安全管理聚焦在安全灾害事故管理上,通过快速发现和响应安全灾害事故抑制事故影响面、减少损失。
第二阶段,频繁发生的安全灾害事故促使主管机构、企业和组织机构对应用系统和IT基础设施开始进行安全风险和合规的管理,希望能做到防患于未然。当前,合规和安全风险管控仍然是全世界大多数企业信息安全业务领域的主要的目标。
由于绝大部分企业IT部门会采用开发团队负责价值交付、运维团队负责可用性保障、安全团队负责安全保障的方式完成IT业务的管理,导致大部分企业和机构的安全、开发和运维部门业务目标相互独立、割裂,有时甚至是对立和冲突,最终导致安全风险的闭环管理时间周期长、成本高。要实现安全风险彻底闭环管控,有必须采用DevSecOps的理念,将开发、运维和安全有效整合在一起,做到安全问题,人人有责。
DevSecOps的实践可能会颠覆企业现有的IT开发与运营模式,如今DevSecOps有希望让二者展开协作。为了确保能开发出安全性高的应用和IT基础设施,安全领域工作范围需要贯穿开发和运营环节,有可能会颠覆现有的开发和运营的模式。RSA大会DevSecOps研讨专题演讲嘉宾Chris Carlson做了比较详细的介绍。
如图2和图3所示,传统安全运营工作与DevSecOps模式下安全运营工作最核心的区别在于两点:
图2
图3
而MITRE提出从攻击视角进行协同,MITRE是一家美国非营利性研究机构。他们提出,开发阶段的安全目标是预防导致漏洞的安全问题;运营阶段的安全目标是通过保护已部署系统的基础设施、配置与使用,防止系统出现安全问题。所以,最终目标是使所有的运营软件没有漏洞,彻底安全。安全开发与安全运营的共通之处是都需要了解攻击者攻击软件的方法,这是两者的核心问题。尽管如此,两个领域在抽象化水平和目的等具体需求上各有不同,但又相互协同。安全开发需要从理论上了解攻击者的意图,以全面提高安全,而并非针对单个实例。安全运营需要详细掌握攻击者的具体攻击行为,以识别、了解攻击,预估其影响,规划缓解方案。安全开发提供的是自上而下视角,安全运营则是自下而上视角,两者达到平衡后,每个领域都可以解决自己的需求,同时为另一领域主要关注的问题提供重要输入。
图4
此次RSA大会上,来自甲方、乙方和第三方机构都讲述DevSecOps实践的难点,大致可分成三类问题。
第一类问题是战略与文化的挑战,对传统开发模式和安全运营模式来说,DevSecOps实质上是一种颠覆性的模式变革,其实践的推动首先需要CIO从战略高度推动。第二类是文化与观念转变,实现DevSecOps需要改变过去只有安全人员对安全负责的态度和观念,必须能让开发团队、运维团队和安全团队认识到每个人都需要对安全负责。
第二类问题是人员技能与知识结构的调整,DevSecOps实践需要开发人员、运维人员和安全人员通力合作,能站在对方的视角客观看待问题。具体到开发人员而言,不仅仅需要开发技能,还需要对运维及安全有了解,对运维人员和安全人员也是一样,需要各自扩充不同领域的通用技能与知识。
图5
第三类问题是流程与工具的对接。DevSecOps达到初始目标需要实现快速迭代,在开发和运营的过程上需要高度自动化。开发、运维、安全工作的工具和流程需要无缝对接。这对大多数企业而言,需要是个艰巨的挑战。
图6
通过此次RSA大会的DevSecOps专题研讨,我们不难发现在海外DevSecOps仍然在初始阶段,各个领域的专家仍在研讨阶段,DevSecOps暂时还没有一个通用化的标准或实践指南,此次交流上也仅有1~2个实践案例进行分享。在国内,虽然DevSecOps仍然是个全新的理念,但是在我国运营商行业、能源行业和金融行业早在2~3年前就提出过三同步要求(同步规划、同步建设、同步运营)并在IT建设项目开始实践。三同步要求与DevSecOps的核心理念在实质上完全相同,我们可以理解在项目实践上其实国内要领先或早于国外。
目前,我国传统企业和互联网企业对互联网的应用水平已经逐步达到世界领先的水平。笔者相信未来在中国由业务驱动的DevSecOps实践会走在欧美甚至世界的前端,引领其发展。
本文转载自:RSA2017浅谈下一代应用及IT基础设施的安全管理模式--DevSecOps | 绿盟科技博客,有少量修改。