解读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

相关文章

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

Spring MVC使用视图解析的问题解读

《SpringMVC使用视图解析的问题解读》:本文主要介绍SpringMVC使用视图解析的问题解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring MVC使用视图解析1. 会使用视图解析的情况2. 不会使用视图解析的情况总结Spring MVC使用视图

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo