OWASP软件保证成熟度模型(SAMM)可为所有类型的组织分析和改进其软件安全态势提供有效和可衡量的方法。OWASP SAMM支持完整的软件生命周期,包括开发和获取,并且与技术和过程无关。
1. 简介
OWASP软件保证成熟度模型(SAMM)是一个开放的框架,用以帮助组织制定并实施针对组织所面临来自软件安全的特定风险的策略。由SAMM提供的资源可作用于以下方面:
- 评估一个组织已有的软件安全实践;
- 建立一个迭代的、权衡的软件安全保证计划;
- 用于证明安全保证计划可带来的实质性改善;
- 定义并衡量组织中与安全相关的措施。
SAMM以灵活的方式定义,以使它可被大、中、小型组织应用于任何类型的软件开发中,甚至是一个单一的项目。
最初的模型(v1.0版本)由Pravir Chandra编写于2009年。在过去的10多年里,它已被证明是一种广泛分布的有效模式,可用于改善世界各地不同类型组织的安全软件实践。在最新发布的2.0版本点此下载中文版文档原件(访问密码:6277),OWASP进一步改进了模型,以应对其旧模型的一些限制。
2. 三个主要特征
- 可衡量:跨安全实践定义的成熟度级别;
- 可操作:提高成熟度水平的清晰路径;
- 通用性:对技术、流程和组织是通用的。
OWASP SAMM 社区由来自于企业和教育机构的安全知识型志愿者提供支持。全球社区
致力于创建可自由获得的文章、术语、文档、工具和技术。
3. 模型概览
Governance 治理 | Design 设计 | Implementation 实施 | Verification 验证 | Operations 操作 |
---|---|---|---|---|
Strategy and Metrics 战略和指标 | Threat Assessment 威胁评估 | Secure Build 安全构建 | Architecture Assessment 体系结构评估 | Incident Management 事件管理 |
Policy and Compliance 政策和合规性 | Security Requirements 安全要求 | Secure Deployment 安全部署 | Requirements-driven Testing 需求驱动的测试 | Environment Management 环境管理 |
Education and Guidance 教育和指导 | Security Architecture 安全体系结构 | Defect Management 缺陷管理 | Security Testing 安全性测试 | Operational Management 运营管理 |
4. SAMM模型结构
SAMM基于15种安全实践,分为5个业务功能。每个安全实践都包含一组活动,分为3个成熟度级别。与成熟度较高的活动相比,成熟度较低的活动通常更容易执行,并且需要较少的形式化。
- 在模型的最顶层,SAMM 定义了五种关键业务功能。 每种业务功能是一组软件开发过程中具体细节的相关措施;就是任何组织的软件开发团队要在某种程度上必须运用到的每一个业务功能。
- 对于每类业务功能,SAMM 定义了三个安全实践。每个安全实践都是一个为业务功能建立保障而与安全相关的领域。因此,总体来说,有 15 个独立的安全实践活动映射到五组业务功能,以改善软件开发中相对应的业务功能。
- 对于每种实践活动,SAMM 定义了三个成熟度等级以作为目标。安全实践中的每个等级是由一个连续、且复杂的目标定义的;且每个等级的成功指标比上一个等级更加苛刻。另外,每类安全实践都能通过相关活动的优化单独改进。
- 对于每个安全实践,SAMM 定义了两个活动流。每个活动流都有一个目标要达到,而且这个目标可以在提高成熟度水平时达到。活动流在不同成熟度级别上关联和链接至不同成熟度等级实践中的活动。
SAMM并强制要求所有组织在每个类别中都达到最大的成熟度水平。每个组织都可以为每个安全实践确定最适合的目标成熟度级别,并根据其特定需求调整可用模板。
5. 参考
[1] https://owasp.org/www-project-samm/
[2] https://owaspsamm.org/about/