不只是DevOps,更需要DevSecOps
2019-12-05 来源:多智时代
DevOps作为软件开发过程管理领域的新思维,已经被越来越多的IT企业所接受。不得不说,DevOps所带来的业务效率提升是毋庸置疑的,“1天10次部署”、“15分钟从完成补丁到上线”已经逐渐成为更多企业用于评价开发和运维的新标准。
在前不久结束的RSA 2017大会上,安全连接DevOps(开发运维一体化)成为大会的一个热点话题,这也就是DevSecOps。
一、什么是DevSecOps?
“DevSecOps”,是一种全新的安全理念与模式,从DevOps的概念延伸和演变而来,其核心理念为安全是整个IT团队(包括开发、运维及安全团队)每个人的责任,需要贯穿从开发到运营整个业务生命周期的每一个环节。
过去由于绝大部分企业IT部门会采用开发团队负责价值交付、运维团队负责可用性保障、安全团队负责安全保障的方式完成IT业务的管理,导致大部分企业和机构的安全、开发和运维部门业务目标相互独立、割裂,有时甚至是对立和冲突,最终导致安全风险的闭环管理时间周期长、成本高。
二、如今DevSecOps有希望让二者展开协作
DevSecOps的实践可能会颠覆企业现有的IT开发与运营模式。在RSA 2017大会DevSecOps研讨专题演讲嘉宾Chris Carlson做了比较详细的介绍。
传统安全运营工作与DevSecOps模式下安全运营工作最核心的区别在于两点:
(传统模式下,安全运营主体工作)
(DevSecOps模式下安全运营工作的具体内容)
1)新模式里安全工作前移(Shift Left)
采用安全在软件开发前期介入的方式降低解决安全问题的成本,前期介入的内容包括对开发、维护人员的安全意识培训、安全开发规范的培训、安全需求(非功能需求)的导入、前期的代码审计工作、基于白盒的安全测试、渗透测试等内容。在运营阶段增加的内容与前期开发阶段类似,主要内容集中在对新安全需求实现情况的验证以及软件整体安全评估。IBM的研究人员曾公开过统计数据,在产品的发布以后修复安全问题的成本是在设计阶段解决成本的4到5倍,而在运维阶段修复安全问题其成本将达到甚至超出100倍。虽然在DevSecOps模式中,安全工作环节增加了,但是从软件整个生命周期的开发与维护成本来看,提前发现问题会导致安全成本大幅降低。
2)安全与开发工作的对接
为了避免安全工作(例如:测试与评估、安全策略的部署等)成为开发瓶颈,使得应用系统在最短周期内实现其应有的价值和安全属性。DevSecOps采用快速迭代的开发方式,这就需要实现安全与开发工作实现无缝对接,将安全工作导入现有的开发工作流程和工具中,包括将安全需求导入至统一需求管理流程与工具、安全测试工作与持续集成/持续部署(CI/CD)对接、安全测试结果导入至缺陷管理工具等诸多环节。
而MITRE提出从攻击视角进行协同
MITRE是一家美国非营利性研究机构。他们提出,开发阶段的安全目标是预防导致漏洞的安全问题;运营阶段的安全目标是通过保护已部署系统的基础设施、配置与使用,防止系统出现安全问题。所以,最终目标是使所有的运营软件没有漏洞,彻底安全。安全开发与安全运营的共通之处是都需要了解攻击者攻击软件的方法,这是两者的核心问题。尽管如此,两个领域在抽象化水平和目的等具体需求上各有不同,但又相互协同。安全开发需要从理论上了解攻击者的意图,以全面提高安全,而并非针对单个实例。安全运营需要详细掌握攻击者的具体攻击行为,以识别、了解攻击,预估其影响,规划缓解方案。安全开发提供的是自上而下视角,安全运营则是自下而上视角,两者达到平衡后,每个领域都可以解决自己的需求,同时为另一领域主要关注的问题提供重要输入。
三、但流程工具等方面仍旧是DevSecOps实践中的难点:
虽然DevSecOps提的框架很诱人,但RSA 2017大会上,来自甲方、乙方和第三方机构纷纷讲述了实践的难点,大致可分成三类问题。
第一类:问题是战略与文化的挑战。对传统开发模式和安全运营模式来说,DevSecOps实质上是一种颠覆性的模式变革,其实践的推动首先需要CIO从战略高度推动。实现DevSecOps需要改变过去只有安全人员对安全负责的态度和观念,必须能让开发团队、运维团队和安全团队认识到每个人都需要对安全负责。
第二类:问题是人员技能与知识结构的调整。DevSecOps实践需要开发人员、运维人员和安全人员通力合作,能站在对方的视角客观看待问题。具体到开发人员而言,不仅仅需要开发技能,还需要对运维及安全有了解,对运维人员和安全人员也是一样,需要各自扩充不同领域的通用技能与知识。
第三类:问题是流程与工具的对接。DevSecOps达到初始目标需要实现快速迭代,在开发和运营的过程上需要高度自动化。开发、运维、安全工作的工具和流程需要无缝对接。这对大多数企业而言,需要是个艰巨的挑战。
DevSecOps的出现将对应用及IT基础设施的安全管理产生极其深远的意义,DevSecOps的广泛应用将标志着应用及IT基础设施的安全管理进入到一个全新的时代,将安全作为管理对象的一种属性,从应用和IT基础设施开发开始进行全生命周期的安全管理,构建一个安全属性很高的应用或IT基础设施,而不仅仅是通过安全为应用和IT基础设施提供保障。笔者认为,DevSecOps的如果能够广泛应用,将彻底改善企业和机构在应用和IT基础设施的安全现状。
不知各位运维兄弟如何看待安全在DevOps实践中的挑战和机遇呢?
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:区块链的下一个10年?
下一篇:形式化验证:让智能合约更安全