随着技术的进步,向云的过渡实现了更快的部署,将安全性嵌入到软件开发生命周期(SDLC)的每个阶段至关重要。使安全成为开发和部署过程中不可或缺的一部分,使安全成为每个人的责任,这意味着及早发现漏洞,提高产品质量,并且安全不会成为软件交付过程的瓶颈。将安全性集成到 DevOps 中会产生 DevSecOps,并且要使这种转变成功,就需要完善的流程和实践,并由专为现代技术和工作实践设计的工具提供支持。
成熟度模型的关键领域
DevSecOps 成熟度模型使组织能够确定他们在 DevSecOps 之旅中所处的阶段,评估他们在实现最终目标方面的进展,并确定实现目标的后续步骤。
DevSecOps 的成熟度模型应该解决三个关键领域:
- 今天我们的 DevSecOps 成熟度水平如何?
- 我们的组织需要什么级别的 DevSecOps 成熟度?
- 我们需要做什么才能从我们所在的位置到达组织需要我们的位置?
我们探讨了 DevSecOps 成熟度模型如何帮助交付业务价值,以及模型的级别和每个级别的优势。
DevSecOps 成熟度模型的好处
DevSecOps 方法使组织能够生成设计安全的应用程序,并将它们部署到可靠的生产环境中,并解决所有漏洞。这可以提高生产力和协作方面的业务成果,并为客户建立可信赖的产品声誉。通过 DevSecOps 成熟度模型的级别推进在以下方面带来了越来越多的好处:
降低成本: DevSecOps 可以快速修复任何已识别的漏洞,从而缩短开发生命周期并在问题出现在生产环境之前将其消除。更有效地利用资源可降低开发成本,减少发布后问题可节省运营成本。
交付速度:通过将安全性集成到软件开发生命周期中,应用程序可以更快地构建进度。在生命周期阶段最接近代码的团队引入漏洞时,可以识别并修复漏洞。让安全成为工作流程的一部分,而不是流程结束时的质量门槛,可以提高产品信心并实现更高效的发布计划。
改进的安全性:将安全性集成到 SDLC 中可以使软件在每个开发阶段都是安全的,并且由于CI/CD 管道扫描工具,软件在部署环境之间的传输也是安全的。团队之间更好的协作和透明度可以降低风险,并使已识别的任何风险更容易减轻。
更好的客户体验: DevSecOps 提供更安全、质量更好的软件,开发流程更短,发布和更新更频繁,从而带来更高的价值。客户将体验和报告更少的问题,并对您的产品高效、安全和可靠充满信心。
DevSecOps 成熟度模型的级别
DevSecOps 成熟度模型有四个级别,第一个级别代表刚开始其 DevSecOps 旅程的组织的特征,最后一个代表已完全接受 DevSecOps 的组织的特征。这些级别应被视为指南,因为该过程更像是一个连续体,而不是一组严格的进入和退出标准。重要的是,一个组织必须完成所有级别的旅程——如果不完成之前的级别,就不可能达到和维持第 4 级。
级别 1是组织 DevSecOps 旅程的开始,其中团队单独工作,没有充分考虑风险和安全性,大部分任务是手动完成的,补救工作通常在启动后进行并且非常耗时。很少考虑审查进展顺利或可以改进的地方。这里需要改变思维方式,强调协作对改善结果的重要性。
级别 2标志着 DevSecOps 旅程的真正开始,传统的团队界限开始模糊,创新受到欢迎。风险评估经常公开进行,常见任务部分自动化。由于更早的检测以及对漏洞和错误配置的一些扫描,补救时间尺度得到改善。平台可用性随着配置自动化和扩展以及基本的 DR 规划而提高。瓶颈减少了,但在生命周期结束时仍有许多安全工作要做。
第 3 级通过定期向可靠平台发布高质量软件产品来提高生产力和效率。持续协作和无可指责的文化盛行,在整个生命周期中嵌入全面的风险评估、威胁建模和安全性。在整个开发、测试和操作过程中都存在高水平的自动化,以及支持每周发布计划的动态漏洞和错误配置扫描。
该模型的第 4 级看到最先进的组织构建在上述三个级别上,以实现向多个可靠生产环境发布多个日常代码。安全不再是一个特定的领域或团队,其流程和工具嵌入到整个生命周期中。非常高水平的自动化是完全采用 DevSecOps 的标志,威胁建模和评估、代码验证、测试、代码扫描和部署都高度自动化。基础设施即代码是期望,平台利用多个云服务提供商自动扩展。用户旅程是完全可见的,并为高度发展和创新的开发方法提供信息,该方法始终如一地提供高质量和安全的软件产品。