Files
nexus/wiki/concepts/Software-Assurance-Maturity-Model.md

3.7 KiB

Software Assurance Maturity Model (SAMM)

SAMM (Software Assurance Maturity Model) — 一个开源框架,用于评估、制定和改进软件安全保障策略,覆盖软件开发生命周期全流程。

Definition

SAMM 由 OWASP 维护,是一个供应商中立、可定制的安全框架:

  • 评估组织软件安全保障成熟度
  • 定义安全改进路线图
  • 展示安全活动的价值

SAMM Core Structure

4 Business Functions

函数 描述 涵盖活动
Governance 安全治理和管理 策略、标准、指南、培训
Construction 软件构建 安全需求、设计、编码
Verification 软件验证 评审、测试、漏洞管理
Deployment 软件部署 运营、托管、发布管理

3 Security Practices per Function

Governance:
├── Strategy & Metrics
├── Policy & Compliance
└── Education & Guidance

Construction:
├── Secure Requirements
├── Secure Architecture
└── Secure Coding

Verification:
├── Threat Assessment
├── Security Testing
└── Security Review

Deployment:
├── Secure Environment
├── Secure Release
└── Operational Enablement

SAMM Maturity Levels

每个实践评估为 0-3 级:

Level 名称 描述
0 Implicit 无正式实践
1 Initial 意识,但 ad-hoc
2 Practiced 正式流程,部分覆盖
3 Comprehensive 量化管理,完全覆盖

Security Activities

Governance

Practice L1 L2 L3
Strategy & Metrics 安全指标定义 趋势分析 目标优化
Policy & Compliance 基线政策 合规评估 持续合规
Education 安全意识 开发者培训 安全冠军计划

Construction

Practice L1 L2 L3
Secure Requirements 安全需求清单 风险驱动需求 威胁建模集成
Secure Architecture 安全设计原则 架构评审 安全参考架构
Secure Coding 编码标准 代码扫描 实时分析

Verification

Practice L1 L2 L3
Threat Assessment 基础威胁识别 结构化威胁建模 持续威胁分析
Security Testing 基本渗透测试 自动安全测试 交互式测试
Security Review 代码审查 安全审查清单 专家审查

Deployment

Practice L1 L2 L3
Secure Environment 基础配置 配置基线 自动化配置管理
Secure Release 发布检查 签名验证 安全发布流程
Operational Enablement 运营安全意识 安全运维手册 DevSecOps 集成

Assessment Process

1. 准备
   ├── 利益相关者识别
   └── 信息收集

2. 评估
   ├── 问卷调查
   ├── 文档审查
   └── 访谈

3. 分析
   ├── 评分计算
   ├── 差距分析
   └── 风险评估

4. 路线图
   ├── 改进计划
   ├── 优先级排序
   └── 资源分配

5. 实施
   ├── 迭代改进
   └── 效果验证

Comparison with Other Models

模型 焦点 适用场景
SAMM 软件开发生命周期 SDLC 安全改进
BSIMM 实际安全活动 基准比较
OWASP ASVS 应用安全验证 安全测试标准
CSMM 云安全 云环境安全

See Also