en Español
Software Assurance
Maturity Model
Una guía para integrar seguridad en el desarrollo de software
Versión - 1.0
Para obtener mayor información, por favor vea el sitio del proyecto en:
http://www.opensamm.org
Reconocimientos
El modelo de madurez para el aseguramiento del software (SAMM por sus siglas en inglés) fue diseñado,
desarrollado y escrito originalmente por Pravir Chandra (
[email protected]), un consultor de se-
guridad independiente. La creación del primer borrador fue posible a través de el los fondos de Fortify
Software, Inc. Este documento es mantenido y actualizado actualmente por el proyecto OpenSAMM
lidereado por Pravir Chandra. Desde la publicación inicial, este proyecto se ha convertido en parte del
proyecto abierto de seguridad en aplicaciones Web (OWASP por sus siglas en inglés). Muchas gracias
también a las muchas organizaciones que nos apoyaron (listadas en la contra-cubierta).
contRibuidoRes y RevisoRes
Este trabajo no podría haber sido posible sin el apoyo de muchos revisores y expertos que ofrecieron
sus contribuciones y retroalimentación crítica. Ellos son (en orden alfabético):
Fabio Arciniegas
Matt Bartoldus
Sebastien Deleersnyder
Jonathan Carter
Darren Challey
tRaductoRes
Francisco Aldrete
Luis Martínez Bacha
Edición de la Traducción
Juan Carlos Calderón Rojas
Matteo Meucci
Jeff Payne
Gunnar Peterson
Jeff Piper
Andy Steingruebl
Brian Chess
Dinis Cruz
Justin Derry
Bart De Win
James McGovern
John Steven
Chad Thunberg
Colin Watson
Jeff Williams
Miguel Pérez-Milicua
Alvaro Muñoz
Aldo Salas
Este es un proyecto de OWASP.
OWASP
The Open Web Application Security Project
El proyecto abierto de seguridad en aplicaciones Web (OWASP por sus siglas en inglés) es una comu-
nidad libre y abierta enfocada en mejorar la seguridad de los programas aplicativos. Nuestra misión
es hacer la seguridad en aplicaciones “visible”, de manera que las personas y organizaciones puedan
tomar decisiones informadas sobre los riesgos de seguridad en aplicaciones. Todos pueden participar
en OWASP y todos nuestros materiales están disponibles bajo una licencia de software libre y abierto.
La fundación OWASP es una organización caritativa sin ánimo de lucro 501(c)3 que asegura viabilidad
continua y el apoyo a nuestro trabajo. Visite el sitio de OWASP en línea en http://www.owasp.org.
Licencia
Este trabajo se publica bajo la licencia Creative Commons Attribution-Share Alike
3.0. Para ver una copia de la licencia, visite http://creativecommons.org/licenses/
by-sa/3.0/ o envíe una carta a Creative Commons, 171 Second Street, Suite 300,
San Francisco, California, 94105, USA.
Resumen Ejecutivo
El modelo de madurez para el aseguramiento de software (SAMM por sus siglas en inglés) es un marco
de trabajo abierto para ayudar a las organizaciones a formular e implementar una estrategia de seguri-
dad para Software que sea adecuada a las necesidades específicas que está enfrentado la organización.
Los recursos proveídos por el SAMM ayudarán a:
✦Evaluar las prácticas de seguridad en Software existentes en la organización
✦Construir un programa de seguridad en Software balanceado en iteraciones bien definidas
✦Demostrar mejoras concretas en el programa de aseguramiento de Software
✦Definir y medir las actividades relacionadas con seguridad en la organización
SAMM fue definido para ser flexible de manera que pueda ser utilizado por organizaciones pequeñas,
medianas o grandes que utilicen cualquier estilo de desarrollo. Además, este modelo puede ser aplicado
en toda la organización, en una sola línea de negocio o incluso en un proyecto en particular. Además de
estos elementos, SAMM fue construido sobre los siguientes principios:
✦Cambios de comportamiento de una organización a través del tiempo. Un programa
de seguridad para Software exitoso debería ser creado en pequeños ciclos
que entreguen ganancias tangibles en el aseguramiento de Software, al mismo
tiempo, debe trabajar incrementalmente hacia metas de largo plazo.
✦No hay una sola receta que funcione para todas las organizaciones. Un marco de seguridad
en Software debe ser flexible y permitir a las organizaciones personalizar sus opciones
basándose en su tolerancia a riesgo y la manera en la cual construye y usa el Software.
✦Los lineamientos relacionados a las actividades de seguridad deben ser específicos.
Todos los pasos en la construcción y medición del programa de aseguramiento
deben ser simples, bien definidos y medibles. Este modelo también provee plantillas
de planes de implementación para tipos comunes de organizaciones.
Las bases de este modelo están construidas alrededor de las funciones de negocio relacionadas al
desarrollo de Software, se incluyen una serie de prácticas relacionadas a cada función (vea el diagrama
abajo). Los bloques de construcción del modelo son los tres niveles de madurez definidos para cada
una de las doce prácticas de seguridad. Estas definen una amplia variedad de actividades a las que una
organización se puede adherir para reducir los riesgos de seguridad e incrementar el aseguramiento del
Software. Se incluyen detalles adicionales para medir el desempeño exitoso de las actividades, entender
los beneficios del aseguramiento asociado, estimar los costos de personal y otros costos.
Dado que SAMM es un proyecto abierto, el contenido se puede mantener siempre independiente de
los vendedores y disponible libremente para que todo mundo lo use.
SAMM Descripción
Desarrollo
de Software
Gobierno
Construcción
Verificación
Implementación
Estrategia y
métricas
Educación y
orientación
Requisitos
de seguridad
Revisión
de diseño
Pruebas de
seguridad
Fortalecimiento
del ambiente
Política y
cumplimiento
Evaluación
de amenaza
Arquitectura
de seguridad
Revisión
de código
Administración
de vulnerabilidades
Habilitación
operativa
.
0
1
V
-
l
e
d
o
M
y
t
r
u
t
A
M
e
c
n
A
r
u
s
s
i
A
e
r
A
w
t
f
o
s
/
M
M
A
s
3
Funciones de NegocioPrácticas de SeguridadContenidos
Resumen Ejecutivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
entendiendo eL modeLo
6
Funciones de Negocio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Gobierno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Construcción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Verificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Implementación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
apLicando eL modeLo
18
Usando los Niveles de Madurez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Realizando Revisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Creando Tarjetas de Calificaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Construyendo Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Proveedor Independiente de Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Proveedor de Servicios en Línea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Organización de Servicios Financieros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Organización de Gobierno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
32
Estrategia y métricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Política y cumplimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Educación y orientación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Evaluación de amenaza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Requisitos de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Arquitectura de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Revisión de diseño . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Revisión de código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Pruebas de seguridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Administración de vulnerabilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Fortalecimiento del ambiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Habilitación operativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
82
casos de estudio
VirtualWare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Las pRácticas de seguRidad
.
0
1
V
-
l
e
d
o
M
y
t
r
u
t
A
Comentarios de: SAMM 1.0 es MX - Una guía para integrar seguridad en el desarrollo de software (0)
No hay comentarios