解读OWASP软件保障成熟度模型SAMM

2024-03-03 16:52

本文主要是介绍解读OWASP软件保障成熟度模型SAMM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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/

这篇关于解读OWASP软件保障成熟度模型SAMM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/770273

相关文章

SpringBoot中配置文件的加载顺序解读

《SpringBoot中配置文件的加载顺序解读》:本文主要介绍SpringBoot中配置文件的加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot配置文件的加载顺序1、命令⾏参数2、Java系统属性3、操作系统环境变量5、项目【外部】的ap

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

python3 gunicorn配置文件的用法解读

《python3gunicorn配置文件的用法解读》:本文主要介绍python3gunicorn配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录python3 gunicorn配置文件配置文件服务启动、重启、关闭启动重启关闭总结python3 gun

关于pandas的read_csv方法使用解读

《关于pandas的read_csv方法使用解读》:本文主要介绍关于pandas的read_csv方法使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录pandas的read_csv方法解读read_csv中的参数基本参数通用解析参数空值处理相关参数时间处理相关

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

SpringCloud负载均衡spring-cloud-starter-loadbalancer解读

《SpringCloud负载均衡spring-cloud-starter-loadbalancer解读》:本文主要介绍SpringCloud负载均衡spring-cloud-starter-loa... 目录简述主要特点使用负载均衡算法1. 轮询负载均衡策略(Round Robin)2. 随机负载均衡策略(

解读spring.factories文件配置详情

《解读spring.factories文件配置详情》:本文主要介绍解读spring.factories文件配置详情,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录使用场景作用内部原理机制SPI机制Spring Factories 实现原理用法及配置spring.f