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
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
Comparison with Other Models
| 模型 |
焦点 |
适用场景 |
| SAMM |
软件开发生命周期 |
SDLC 安全改进 |
| BSIMM |
实际安全活动 |
基准比较 |
| OWASP ASVS |
应用安全验证 |
安全测试标准 |
| CSMM |
云安全 |
云环境安全 |
See Also