Con el Top Ten y ASVS, el equipo de BazarNube ya sabe qué riesgos vigilar y qué requisitos verificar en la aplicación. Pero en la última reunión, la SRE plantea una pregunta que ninguna de esas dos herramientas responde: "Vale, arreglamos los hallazgos de esta versión... ¿pero como organización estamos haciendo las cosas para que esto no se repita en la siguiente? ¿Tenemos siquiera un proceso, o vamos apagando fuegos?". Esa pregunta ya no es sobre una app: es sobre la madurez de la organización produciendo software seguro. La herramienta OWASP para eso es SAMM, el Software Assurance Maturity Model. En esta lección la presentamos a alto nivel; el detalle —dominios, evaluación, mejora continua— es el contenido del módulo 5.
Contenido
- Qué es SAMM y qué mide
- SAMM frente a ASVS: organización vs aplicación
- La idea de dominios y niveles de madurez
- Cómo mediría BazarNube su madurez
- Por qué la madurez importa a una startup
- Qué es SAMM y qué mide
El OWASP SAMM (Software Assurance Maturity Model) es un modelo de madurez para el programa de seguridad de una organización. Su objetivo no es evaluar si una aplicación es segura, sino si la forma de trabajar de la empresa produce software seguro de manera repetible y mejorable.
Sus rasgos esenciales:
- Mide procesos y prácticas, no código. Pregunta cosas como: ¿hay formación en seguridad?, ¿se hace modelado de amenazas?, ¿existe gestión de vulnerabilidades?, ¿quién responde ante un incidente?
- Es un modelo de madurez. Ofrece una escala (típicamente de 0 a 3) para cada práctica, desde "no lo hacemos" hasta "lo hacemos de forma optimizada y medida".
- Sirve para hacer una foto y trazar una hoja de ruta. No se trata de "aprobar", sino de saber dónde estás y hacia dónde mejorar, paso a paso.
- Es agnóstico de tecnología y tamaño. Vale para una startup de cinco personas o para una multinacional; cada una interpreta los niveles según su realidad.
La palabra que resume SAMM es madurez: no "¿es segura esta app?", sino "¿está la organización madura para producir apps seguras de forma sostenida?".
- SAMM frente a ASVS: organización vs aplicación
Este es el matiz que más cuesta al principio: SAMM y ASVS suenan parecidos pero miden cosas de planos totalmente distintos. ASVS mira hacia dentro de la aplicación; SAMM mira hacia la organización que la construye.
| Aspecto | OWASP ASVS | OWASP SAMM |
|---|---|---|
| Qué evalúa | Una aplicación concreta | El programa de seguridad de la organización |
| Pregunta | ¿Cumple la app estos requisitos? | ¿Es madura nuestra forma de trabajar? |
| Unidad | Requisitos verificables | Prácticas de seguridad y su nivel de madurez |
| Escala | Niveles L1–L3 (exigencia) | Niveles de madurez 0–3 (por práctica) |
| Resultado | "La app cumple L2" | "Nuestra madurez media es 1,5" |
| Horizonte | Estado de un producto | Evolución del proceso en el tiempo |
| Se profundiza en | Módulo 4 | Módulo 5 |
graph TD
ORG[Organizacion BazarNube] -->|SAMM mide el proceso| PROC[Practicas y madurez]
ORG -->|construye| APP[Aplicacion BazarNube]
APP -->|ASVS mide el producto| REQ[Requisitos verificables]
Analogía útil: si BazarNube fuera un restaurante, ASVS sería la inspección de un plato concreto (¿está bien cocinado, sin contaminación?), mientras que SAMM sería la evaluación de la cocina como sistema (¿hay protocolos de higiene?, ¿el personal está formado?, ¿se revisan proveedores?). Puedes cocinar un plato correcto por suerte; SAMM pregunta si tu cocina lo hará bien siempre.
- La idea de dominios y niveles de madurez
SAMM organiza las prácticas de seguridad en un pequeño número de dominios (grandes áreas de actividad) que cubren el ciclo de vida completo del software. Aquí solo damos la idea general; el módulo 5 los desarrolla uno a uno.
De forma esquemática, SAMM agrupa la actividad de seguridad en cinco funciones de negocio (dominios), cada una con sus prácticas:
| Dominio (función de negocio) | De qué trata, a grandes rasgos |
|---|---|
| Governance (Gobierno) | Estrategia, métricas, políticas, formación y concienciación. |
| Design (Diseño) | Requisitos de seguridad, evaluación de amenazas, arquitectura segura. |
| Implementation (Implementación) | Construcción segura, gestión de defectos, despliegue seguro. |
| Verification (Verificación) | Pruebas de seguridad, revisión de arquitectura, evaluación de requisitos. |
| Operations (Operación) | Gestión de incidentes, endurecimiento, gestión operativa de la seguridad. |
Sobre cada práctica, SAMM aplica una escala de madurez que, de forma simplificada, se lee así:
Nivel 0 -> No se realiza / ad hoc, depende de personas concretas
Nivel 1 -> Se hace de forma basica e informal
Nivel 2 -> Se hace de forma sistematica y definida
Nivel 3 -> Se hace de forma optimizada, medida y en mejora continuaLa idea clave: no se trata de estar en nivel 3 en todo. Una startup sana puede estar en nivel 1 en la mayoría de prácticas y eso ya es un logro. SAMM no juzga: posiciona y ayuda a priorizar en qué prácticas invertir primero.
graph LR
G[Governance] --> D[Design] --> I[Implementation] --> V[Verification] --> O[Operations]
N[Cada practica se puntua<br/>en madurez 0 a 3] -.-> G
N -.-> D
N -.-> I
N -.-> V
N -.-> O
- Cómo mediría BazarNube su madurez
Apliquémoslo. El equipo hace una autoevaluación rápida (una versión muy simplificada de lo que el módulo 5 formaliza). Para cada práctica, se preguntan honestamente en qué nivel están hoy:
| Práctica (simplificada) | Situación actual en BazarNube | Nivel estimado |
|---|---|---|
| Formación y concienciación (Governance) | Nadie ha recibido formación formal; este curso es el primer paso | 0 → 1 |
| Modelado de amenazas (Design) | Existe el mapa de riesgos inicial, pero informal | 1 |
| Gestión de defectos (Implementation) | Hay un backlog de hallazgos con etiquetas Top Ten | 1 |
| Pruebas de seguridad (Verification) | Aún no se usa ZAP ni pentest sistemático | 0 |
| Gestión de incidentes (Operations) | No hay plan de respuesta definido | 0 |
De esta simple tabla, el equipo extrae conclusiones muy accionables:
- Su madurez media es baja (entre 0 y 1), lo cual es normal y esperable en una startup joven. No es un fracaso: es el punto de partida.
- Los huecos más urgentes están en Verification (no prueban su seguridad) y Operations (no saben qué harían ante un incidente).
- Ya tienen cimientos en Design (el mapa de riesgos) e Implementation (el backlog), sobre los que construir.
- La hoja de ruta casi se dibuja sola: introducir pruebas de seguridad (adoptar ZAP, módulo 6) subiría Verification de 0 a 1; definir un plan mínimo de respuesta subiría Operations.
Fíjate en algo importante: SAMM conecta y da sentido a las herramientas anteriores. El mapa de riesgos, el backlog etiquetado con Top Ten y la checklist ASVS no son piezas sueltas: son evidencias de madurez dentro de dominios concretos de SAMM. SAMM es el marco que convierte esfuerzos aislados en un programa coherente y con dirección.
- Por qué la madurez importa a una startup
Podría parecer que un modelo de madurez es "cosa de grandes empresas". Es justo al revés: para una startup como BazarNube, SAMM es especialmente valioso porque:
- Evita depender de héroes. Si la seguridad solo funciona porque Lucía se acuerda de revisarla, el día que Lucía no esté, se cae. La madurez consiste en que las cosas ocurran por proceso, no por personas.
- Prioriza con recursos escasos. Una startup no puede hacerlo todo. SAMM ayuda a decidir qué práctica mejorar primero para el mayor impacto.
- Da una narrativa a inversores y clientes. "Tenemos un plan de madurez de seguridad y vamos por aquí" transmite mucha más confianza que "vamos arreglando lo que salta".
- Crece contigo. El mismo modelo sirve cuando eres cinco y cuando eres cincuenta; solo cambia el nivel al que aspiras.
Errores Comunes y Consejos
- Confundir SAMM con ASVS. ASVS evalúa una aplicación; SAMM evalúa la organización y sus procesos. Son complementarios: uno mira el producto, el otro la fábrica.
- Querer estar en nivel 3 en todo. Es contraproducente y carísimo. La meta no es la perfección uniforme, sino un progreso equilibrado y sostenible. Nivel 1 generalizado ya es una base sólida.
- Hacer la evaluación una sola vez. SAMM es un ciclo de mejora continua: se reevalúa periódicamente para ver el avance. Una foto única no sirve de mucho.
- Ser poco honesto en la autoevaluación. Inflar los niveles para quedar bien destruye el valor del ejercicio. El objetivo es saber dónde estás de verdad, no aprobar un examen.
- Consejo: empieza pequeño. Una autoevaluación informal de media hora, honesta, ya te da una hoja de ruta útil. No necesitas el modelo completo para obtener valor el primer día.
Ejercicios
Ejercicio 1. Clasifica cada afirmación como propia de ASVS o de SAMM: (a) "El equipo de BazarNube realiza modelado de amenazas de forma sistemática en cada proyecto"; (b) "La aplicación almacena las contraseñas con un algoritmo de hashing fuerte"; (c) "Existe un proceso definido de respuesta a incidentes con roles asignados".
Ejercicio 2. BazarNube ha detectado que su práctica de "Pruebas de seguridad" (Verification) está en nivel 0. Propón una acción concreta que la llevaría al nivel 1 y explica con qué herramienta del curso se relaciona.
Ejercicio 3. Explica en 4–5 líneas por qué una madurez media baja (entre 0 y 1) no es motivo de alarma para una startup como BazarNube, y qué debería hacer con ese dato.
Soluciones
Solución 1. (a) SAMM (habla de una práctica de la organización y de su regularidad, dominio Design); (b) ASVS (es un requisito verificable sobre la aplicación); (c) SAMM (describe un proceso organizativo, dominio Operations).
Solución 2. Una acción concreta: adoptar OWASP ZAP para escanear la API de BazarNube de forma regular, aunque sea manualmente al principio. Pasar de "no probamos nada" a "escaneamos con una herramienta DAST antes de cada release" eleva la práctica de Verification de nivel 0 a nivel 1. Se relaciona con ZAP, que presentamos en la lección 02-04 y desarrollamos en el módulo 6.
Solución 3. Una madurez baja es el punto de partida esperable de casi cualquier startup joven: refleja que la empresa aún no ha formalizado sus procesos de seguridad, no que haga las cosas mal. Lo importante no es la cifra, sino usarla como línea base para trazar una hoja de ruta: identificar los huecos más críticos (en BazarNube, Verification y Operations) y planificar mejoras incrementales. SAMM no penaliza estar bajo; penaliza no saber dónde estás ni hacia dónde vas.
Conclusión
Has conocido la tercera herramienta de la caja OWASP: SAMM, un modelo de madurez que evalúa no una aplicación, sino el programa de seguridad de la organización. Sabes que se diferencia de ASVS en el plano (organización/proceso vs aplicación/producto), que organiza la actividad en dominios (Governance, Design, Implementation, Verification, Operations) y que puntúa cada práctica en niveles de madurez 0–3. Y has visto cómo BazarNube haría una autoevaluación honesta que, lejos de alarmar, le da una hoja de ruta clara.
Con Top Ten, ASVS y SAMM, BazarNube tiene el qué (riesgos), el cuánto (requisitos verificables) y el cómo de maduro (procesos). Pero falta algo muy práctico: una herramienta que ataque activamente la aplicación para encontrar los fallos que las tablas no ven. Los tres proyectos anteriores son marcos y estándares; ahora toca una herramienta ejecutable. En la lección 02-04 presentamos OWASP ZAP, el proxy de interceptación con el que BazarNube probará su API en ejecución.
Curso de OWASP: Directrices y Estándares para la Seguridad en Aplicaciones Web
Módulo 1: Introducción a OWASP
Módulo 2: Principales Proyectos de OWASP
- OWASP Top Ten
- OWASP ASVS (Application Security Verification Standard)
- OWASP SAMM (Software Assurance Maturity Model)
- OWASP ZAP (Zed Attack Proxy)
- Otros Proyectos Clave: WSTG, Cheat Sheets y Dependency-Check
Módulo 3: OWASP Top Ten 2021 en Profundidad
- A01:2021 – Pérdida de Control de Acceso
- A02:2021 – Fallos Criptográficos y Exposición de Datos Sensibles
- A03:2021 – Inyección
- Cross-Site Scripting (XSS) en Profundidad
- A04:2021 – Diseño Inseguro
- A05:2021 – Configuración de Seguridad Incorrecta
- Entidades Externas XML (XXE)
- A06:2021 – Componentes Vulnerables y Desactualizados
- A07:2021 – Fallos de Identificación y Autenticación
- A08:2021 – Fallos de Integridad de Software y Datos (Deserialización Insegura)
- A09:2021 – Fallos de Registro y Monitorización
- A10:2021 – Server-Side Request Forgery (SSRF)
Módulo 4: OWASP ASVS (Application Security Verification Standard)
- Introducción a ASVS
- Niveles de Verificación
- Requisitos de Seguridad
- Implementación de ASVS en Proyectos
Módulo 5: OWASP SAMM (Software Assurance Maturity Model)
Módulo 6: OWASP ZAP (Zed Attack Proxy)
- Introducción a ZAP
- Instalación y Configuración
- Escaneo de Vulnerabilidades
- Automatización de Pruebas de Seguridad
Módulo 7: Buenas Prácticas y Recomendaciones
- Ciclo de Vida de Desarrollo Seguro (SDLC)
- Modelado de Amenazas (Threat Modeling)
- Integración de Seguridad en DevOps (DevSecOps)
- Capacitación y Concienciación en Seguridad
- Herramientas y Recursos Adicionales
Módulo 8: Ejercicios Prácticos y Casos de Estudio
- Ejercicio 1: Identificación de Vulnerabilidades
- Ejercicio 2: Implementación de Controles de Seguridad
- Caso de Estudio 1: Análisis de un Incidente de Seguridad
- Caso de Estudio 2: Mejora de la Seguridad en una Aplicación Web
