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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/716741.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构 第3章 栈、队列和数组(一轮习题总结)

第3章 栈、队列和数组 3.1 栈3.2 队列3.3 栈与队列的应用3.4 数组和特殊矩阵 3.1 栈(1 10 11 20) 3.2 队列(6 12 14 17) 3.3 栈与队列的应用(6 11) 3.4 数组和特殊矩阵 3.1 栈 T1 栈和队列具有相同的逻辑…

k8s-prometheus监控部署 22

新建项目仓库并上传部署prometheus所需的镜像 开始部署 修改svc访问方式为LoadBalancer 查看用户名和密码 访问grafana监控页面 http://192.168.182.103/​​​​​​ 修改可视化模板 官方监控模板:https://grafana.com/grafana/dashboards 访问prometheus监控页面…

1. vue3-环境准备

1、安装node.js 如果开发环境上面没有安装node.js,需要到node.js官方网站下载node.js。下载安装后,可以通过npm --version查看nodejs版本 2. 开发工具 开发工具建议使用vscode

知识图谱1——neo4j

2024年要搞知识图谱,因此没有办法,只能将我之前固守的JDK1.8,升级到JDK21,因为JDK21也是LTS版本,neo4j高版本就不支持JDK8,因此没有办法,只有升级了。写这篇只是一个搭建笔记,我的初…

AJAX 学习笔记(Day3)

「写在前面」 本文为黑马程序员 AJAX 教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容: 1. AJAX 学习笔记(Day1) 目录 3 AJAX 原理 3.1 XMLHttpRequest 3…

springboot心灵治愈交流平台源码和论文

本论文主要论述了如何使用JAVA语言开发一个心灵治愈交流平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述心灵治愈交流平台的当前背景以及系统开发的目的&a…

@Transactional--开启事物后换源报错

一、问题出现的场景 系统架构设计、每个企业一个企业库、通过数据源切在平台库、和企业库之间动态切换完成业务操作。 二、跨库事物失效的原因 1、SpringTransactional不支持跨数据源事物,Spring 事物控制是基于数据库链接进行的,当数据源切换后&#x…

SketchUp Pro 2023:颠覆传统,重塑设计世界mac/win版

SketchUp Pro 2023是一款强大的三维建模软件,专为设计师、建筑师和创意专业人士打造。这款软件以其直观易用的界面和强大的功能而著称,为用户提供了无限的创意空间。 SketchUp Pro 2023软件获取 SketchUp Pro 2023在用户体验方面进行了全面的优化&#…

SpringBoot整合rabbitmq-重复消费问题

说明:重复消费的原因大致是生产者将信息A发送到队列中,消费者监听到消息A后开始处理业务,业务处理完成后,监听在告知rabbitmq消息A已经被消费完成途中中断,也就时说我已经处理完业务,而队列中还存在当前消息…

Qt|QTreewidget类下函数qt助手详解说明示例(上)

该系列持续更新,喜欢请一键三连,感谢各位大佬。 QT5.14.2 参考官方QT助手 文章目录 QTreeWidget ClasspropertiesPublic Functions默认构造函数默认析构函数添加根节点void addTopLevelItem(QTreeWidgetItem *item)添加多个根节点void addTopLevelItems…

Linux下的权限

1. 操作系统的外壳 在理解Linux权限之前,我们先来吃点小菜。 1.大部分指令都是文件,如果把指令对应的文件删除了,那么这条指令就使用不了了。 2.用户执行某种功能的时候,不是直接让操作系统执行对应的指令的,而是先交…

Python开源项目月排行 2024年2月

Python 趋势月报,按月浏览往期 GitHub,Gitee 等最热门的Python开源项目,入选的项目主要参考GitHub Trending,部分参考了Gitee和其他。排名不分先后,都是当前月份内相对热门的项目。 入选公式=70%GitHub Trending20%Gitee10%其他 …

jvm面试题-背诵版

按照思维导图抽查和记忆,答案见:四、面试-多线程/并发_scheduledfuture释放-CSDN博客

Jmeter系列(4) 线程属性详解

线程属性 线程组是配置压测策略的一个重要环节线程组决定了测试执行的请求数量 线程数 在这里线程数相当于一个虚拟用户每个线程数大约占内存1M特别注意⚠️ 单台机器最大线程数不要超过1000,不然可能会造成内存溢出 Ramp-Up时间 所有线程在多长时间内全部启动…

计算机网络-第2章 物理层

本章内容:物理层和数据通信的概念、传输媒体特点(不属于物理层)、信道复用、数字传输系统、宽带接入 2.1-2.2 物理层和数据通信的概念 物理层解决的问题:如何在传输媒体上传输数据比特流,屏蔽掉传输媒体和通信手段的差…

文献阅读笔记《Spatial-temporal Forecasting for Regions without Observations》13页

目录 目录 目录 发行刊物 ABSTRACT 1 INTRODUCTION 2 RELATED WORK(相关工作 2.1 Spatial-temporal Forecasting(时空预测 2.2 Spatial-temporal Forecasting withIncomplete Data(不完全数据的时空预测 2.3 Graph Contrastive Lear…

蓝桥杯集训·每日一题2024 (前缀和)

笔记&#xff1a; 例题&#xff1a; #include<bits/stdc.h> using namespace std; const int N 5000010; char str[N]; int s[N]; int main(){int t;cin>>t;for(int a1;a<t;a){int n;cin>>n;scanf("%s",str1);for(int i1;i<n;i){s[i]s[i-1]…

【MySQL】:约束全解析

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. 约束概述二. 约束演示三. 外键约束3.1 介绍3.2 语法3.3 删除/更新行为 &…

Netty的InboundHandler 和OutboundHandler

一、InboundHandler 和OutboundHandler的区别 在Netty中&#xff0c;"inbound"表示来自外部来源&#xff08;如网络连接&#xff09;的数据&#xff0c;而"outbound"则表示从应用程序发送到外部目标&#xff08;如网络连接或其他服务&#xff09;的数据。…

Git——Upload your open store

0.default config ssh-keygen -t rsa #之后一路回车,当前目录.ssh/下产生公私钥 cat ~/.ssh/id_rsa.pub #复制公钥到账号 git config --global user.email account_email git config --global user.name account_name1. 上传一个公开仓库 查看当前分支&#xff1a; git branc…