一、成熟度模型概述
1.1 概述
成熟度模型通常被用来评估一个组织或系统实现持续改进的能力,通过创建评估机制,收集各类数据加以分析,以评估当前流程、技术及体系运转的有效性,借鉴成熟度模型的分层,确定当前建设水平,规划未来的改进方向,以促进体系运转的不断迭代和自我更新。在DevSecOps体系建设过程中, DevSecOps成熟度模型通常和体系参考模型一样,被用来规划和指导后续DevSecOps工作的开展。
在业界,DevSecOps的成熟度模型除了前文提及的DoD的成熟度模型外,还有美国总务管理局GSA提供的DevSecOps平台成熟度模型和全球开源网络安全组织OWASP的DSOMM成熟度模型,下面我们一起来学习一下其中的相关内容。
二、相关模型介绍
2.1 CSA DevSecOps 成熟度模型
2.1.1 模型信息概览
在美国总务管理局的技术网站上,提供了一份《DevSecOps指南》的文档,该文档中从DevSecOps平台能力建设的角度,对DevSecOps成熟度给出了参考指引,如图下图所示:
文中根据能力建设的成熟度和相关因素的不同,对DevSecOps平台能力建设划分3个成熟度等级,它们分别为:
I 级成熟度、II 级成熟度、III 级成熟度。
2.1.2 成熟度等级划分
2.1.2.1 I 级成熟度
I 级成熟度。 DevSecOps平台不可用,缺少基本的管理流程和管控措施。
2.1.2.2 II 级成熟度
II 级成熟度。 主要管理流程已具备,DevSecOps黄金管道已常态化运营,但关键环节的流程仍未打通,手工操作或人工干预较多。
2.1.2.3 III 级成熟度
III 级成熟度。 体系管理规范,有明确的定义与标准,安全自动化普及,人工参与只出现在特定的场景。
2.1.3 DevSecOps 相关阶段内容成熟度划分
2.1.3.1 DevSecOps 成熟度划分表格
2.1.3.2 CSA DevSecOps 成熟度划分解读
从以上表中内容可以看出,美国总务管理局对DevSecOps体系建设的理解是基于平台之上的,强调平台在整个DevSecOps体系建设的巨大作用。没有统一标准、多组织复用的平台工具,其DevSecOps成熟度是初级的。DevSecOps平台和应用程序管理在DevSecOps中是同样重要的,拥有DevSecOps平台也是DevSecOps成熟度向上迈步的基础。由初级成熟度迈向中级成熟度,标准流程、管道化作业环境、平台可用性、流程自动化是必不可少的条件。而高成熟度的DevSecOps建设水平,自动化能力既是基础,也是需要全面覆盖的技术前提,它包含平台、应用开发、测试、运维运营及项目管理的多个方面。
2.1.4 总结
美国总务管理局对DevSecOps成熟度进行三个等级划分,虽然划分层级过于粗粒度,没能很好地展现每一个层级的精细化差异,但其拥有众多可区分的责任领域,仍是一份很好的DevSecOps建设和评估指引,为不同类型的组织开展DevSecOps规划和持续改进指明下一步方向。
2.2 OWASP DevSecOps 成熟度模型
2.2.1 OWASP DevSecOps 成熟度模型概述
OWASP DevSecOps成熟度模型又简称DSOMM,它是一个开源的DevSecOps成熟度评估模型,从5个维度,18个子维度将DevSecOps的成熟度划分为4个等级,用于指导被评估企业如何开展DevSecOps实践。为了更好地了解这个模型,先一起来看看它的基本结构。
2.2.2 DSOMM 模型维度划分
2.2.2.1 DSOMM 模型维度划分表格
2.2.2.2 模型维度划分解读
在DSOMM模型中,先从组织文化、系统实现、构建与部署、测试验证、日志监控5个维度对软件开发过程做概要的阶段划分,并在每一个阶段继续划分更细的二级维度,最后定义每一个二级维度下开展的安全活动评估项。 通过对具体活动项的评估,来综合评估企业DevSecOps整体建设的成熟度。例如,日志监控维度下的二级维度安全日志,其安全活动项包含内容如下表所示:
2.2.2.3 DSOMM模型成熟度评估结果
当我们使用DSOMM时,通过对18个二级维度所包含的安全活动项的评估,最终会形成Level1~4的等级划分,如下图所示:
在上图中,越往外圆表示该维度的成熟度等级越高,而对于那些低于Level 4的安全活动,即是将要改进的方向。DevSecOps管理者可以根据企业的实际情况选择未来的改进重点在哪些维度上。
2.2.3 总结
从DSOMM的整体评估过程和评估项上看,和OpenSAMM模型非常相似,它更注重于DevSecOps实践的落地效果,评估项的设计也比较简洁,便于大多数安全从业人员上手操作。当然,也正是因为如此,DSOMM对DevSecOps平台建设的度量指标上没有精细的设计,更多的是管理和执行方面的要求或措施。