Software Assurance Maturity Model
Last updated
Was this helpful?
Last updated
Was this helpful?
The OWASP Software Assurance Maturity Model (SAMM) is a security framework that helps organizations assess, improve, and measure software security practices. Unlike ASVS, which focuses on application security verification, SAMM provides a structured model for integrating security into the software development lifecycle (SDLC).
OWASP SAMM is a flexible and scalable framework designed to help organizations analyze, measure, and improve their software security posture. It allows organizations to define security goals, implement best practices, and assess their progress over time.
Helps in building secure software development processes.
Provides a measurable way to track software security maturity.
Offers best practices and recommendations for security improvements.
Official OWASP SAMM Documentation:
Proactive Security Approach – Unlike traditional security testing, which occurs at the end of development, SAMM integrates security at every stage of SDLC.
Measurable Security Improvements – Provides a structured way to assess and improve software security over time.
Tailored for Organizations of All Sizes – Can be adapted to startups, enterprises, and government agencies.
Aligns with Compliance Standards – Supports ISO 27001, NIST, PCI-DSS, GDPR, and other security standards.
Reduces Costs – Helps prevent security vulnerabilities early, reducing the cost of fixing security issues later.
SAMM is structured into 5 business functions, each containing three security practices. These functions help organizations integrate security into software development.
Business Function
Security Practices
Governance
Strategy & Metrics, Policy & Compliance, Education & Guidance
Design
Threat Assessment, Security Requirements, Secure Architecture
Implementation
Secure Build, Secure Deployment, Secure Coding Practices
Verification
Security Testing, Code Review, Security Audits
Operations
Incident Response, Operational Security, Environment Hardening
Each security practice in SAMM has three maturity levels. Organizations assess their current maturity and work towards higher levels by improving security processes.
Maturity Level
Description
Level 1 (Initial/Basic)
Security practices exist but are informal, inconsistent, or ad-hoc.
Level 2 (Managed/Standardized)
Security processes are defined, documented, and followed across the organization.
Level 3 (Optimized/Advanced)
Security is fully integrated, automated, and continuously improved.
Strategy & Metrics – Defines security goals, KPIs, and progress tracking.
Policy & Compliance – Ensures regulatory and policy compliance (GDPR, PCI-DSS, etc.).
Education & Guidance – Implements security training for developers, architects, and stakeholders.
Threat Assessment – Conducts threat modeling to identify risks early.
Security Requirements – Defines security standards for applications.
Secure Architecture – Ensures secure design patterns are followed.
Secure Build – Enforces code security scanning and dependency checking.
Secure Deployment – Implements DevSecOps, CI/CD security, and automated testing.
Secure Coding Practices – Ensures safe coding standards (e.g., input validation, authentication, cryptography).
Security Testing – Conducts static (SAST) and dynamic (DAST) security testing.
Code Review – Enforces manual and automated code reviews for security.
Security Audits – Regular internal and external security assessments.
Incident Response – Implements security monitoring, logging, and forensic capabilities.
Operational Security – Ensures secure cloud and infrastructure configurations.
Environment Hardening – Protects applications from misconfigurations, DDoS attacks, and server vulnerabilities.
Organizations can follow these five steps to integrate SAMM into their software development lifecycle:
Evaluate current security maturity using the SAMM assessment model.
Identify weaknesses and gaps in software security.
Set security improvement goals based on business risks.
Choose relevant maturity levels and practices.
Define a step-by-step plan to achieve security improvements.
Prioritize high-risk areas and quick wins.
Apply best practices for secure development.
Automate security testing and integrate security controls into CI/CD pipelines.
Regularly assess progress and refine security processes.
Use metrics and audits to measure security improvements.
Scope
Maturity model for software security processes
Verification standard for application security
Focus
Assessing and improving software security practices
Security requirements for secure applications
Use Case
Roadmap for integrating security into SDLC
Checklist for security testing and verification
Granularity
Business-wide security governance
Technical security requirements