OWASP SAMM: Evaluar y mejorar la seguridad del software empresarial
Tabla de contenidos
OWASP SAMM es un modelo que ayuda a las empresas a evaluar su postura de seguridad de software y poner en marcha una estrategia para optimizarla
El grupo de ransomware Lace Tempest, célebre por usar Cl0p para realizar extorsiones, ha protagonizado uno de los ciberataques más célebres y dañinos de 2023, al explotar una vulnerabilidad presente en el software MOVEit Transfer. Esta solución permite realizar transferencias de archivos automatizadas para datos confidenciales y es usada por miles de empresas en todo el mundo. De tal forma que los ciberdelincuentes han logrado atacar a compañías energéticas, fondos de pensiones, aseguradoras o administraciones públicas en Norteamérica y Europa de ámbitos sensibles como la educación o la salud.
Este ataque evidencia la necesidad de que las empresas y las instituciones cuenten con una estrategia de seguridad eficaz para proteger el software empresarial a lo largo de su ciclo de vida.
Por eso, la Fundación OWASP creó en 2009 un modelo de madurez de seguridad del software, conocido por sus siglas en inglés: SAMM. Este modelo permite a las organizaciones analizar sus prácticas de seguridad del software y las ayuda a construir un programa de seguridad para optimizarlas, incrementando, así, el nivel de protección del software empresarial.
A continuación, vamos a diseccionar las claves de OWASP SAMM y cómo los servicios de ciberseguridad avanzados pueden ayudar a las empresas a mejorar su postura de seguridad del software, de acuerdo a las funciones, prácticas, actividades y niveles del modelo.
1. Qué es OWASP SAMM y cómo se puede usar
OWASP SAMM es un framework a disposición de todas las empresas y administraciones públicas para evaluar, diseñar e implementar una estrategia de seguridad del software. El modelo ha sido diseñado de forma abierta, de cara a garantizar que se puede adaptar a cualquier contexto. Así, OWASP SAMM no está pensado solo para ser empleado por las compañías que desarrollan software, sino también para aquellas que lo contratan o adquieren.
Además, se trata de una herramienta que se puede usar si la organización ha adoptado el enfoque DevSecOps para securizar el software desde el diseño y a lo largo de todo su ciclo de vida.
A través de SAMM, las empresas pequeñas, medianas y grandes pueden analizar sus actuales prácticas de seguridad, definir un plan de mejora y evaluar su implementación. De ahí que OWASP señale cuatro usos prácticos de SAMM:
- Evaluar la postura de seguridad del software actual de una organización.
- Establecer la estrategia de seguridad de la organización en función de los objetivos que se persiguen.
- Diseñar un plan de acción para alcanzar los objetivos, incluyendo las actividades que se deben llevar a cabo.
- Asesorar a las organizaciones a la hora de implementar algunas actividades.
1.1. Puesta en marcha
Para comenzar a trabajar con SAMM, OWASP recomienda seguir seis pasos básicos:
- Preparación. En esta fase se ha de establecer el target, es decir, si se buscar mejorar la seguridad de una aplicación concreta, de un área determinada o de toda la organización. Además, es fundamental identificar a todas las organizaciones terceras involucradas, como los proveedores de software, y asegurarse de que están alineadas con la estrategia de seguridad.
- Evaluación. Se usa OWASP SAMM para evaluar las prácticas de seguridad actuales y determinar el nivel de madurez que se busca alcanzar en cada práctica de seguridad del modelo.
- Establecimiento de los objetivos. El tercer paso gira en torno al establecimiento de los objetivos a conseguir. Para ello, la compañía debe fijar las actividades de seguridad que debe llevar a cabo, teniendo en cuenta la coherencia entre ellas y los recursos económicos disponibles, precisando a cuánto asciende el presupuesto destinado a optimizar la estrategia de seguridad del software.
- Planificación. Es fundamental planificar la estrategia para mejorar la postura de seguridad de la organización, incluyendo fases y plazos y distribuyendo las actividades, teniendo en cuenta los recursos disponibles y el esfuerzo que requiere cada actividad.
- Implementación. En la penúltima fase de implementan las actividades en función del calendario elaborado durante la planificación. Es importante tener en cuenta su impacto en los procesos, las personas y las herramientas de la compañía.
- Despliegue. Finalmente, hay que medir la eficacia de las medidas implementadas y su impacto en la organización.
¿Han de ejecutarse todas las fases? No, dependerá del uso que se le quiera dar al modelo. Por ejemplo, si solo se emplea OWASP SAMM para evaluar la postura de seguridad de la compañía, bastará con implementar los dos primeros pasos.
2. Estructura de OWASP SAMM
Para entender cómo funciona el SAMM y cómo se puede usar de forma práctica para mejorar la seguridad del software empresariales es importante abordar la estructura del modelo, que gira en torno a cinco grandes elementos:
- Funciones de negocio.
- Prácticas de seguridad.
- Flujos.
- Niveles de madurez.
- Actividades.
2.1. Funciones de negocio y prácticas de seguridad
OWASP SAMM se estructura en forma de árbol. El tronco de este árbol lo conforman cinco funciones de negocio:
- Gobernanza (G). Esta función engloba los procesos relacionados con la gestión de las actividades de desarrollo de software, su impacto en la organización y los procesos empresariales.
- Diseño (D). La segunda función de SAMM presta atención a las actuaciones que se realizan dentro de los proyectos de desarrollo de software, a los requisitos de seguridad y a la arquitectura de las aplicaciones.
- Implementación (I). Engloba todos los procesos relacionados con la construcción y el despliegue de los componentes de software, prestando especial atención a sus defectos. Las actividades que forman parte de esta función tienen como objetivo distribuir software fiable y con los mínimos defectos.
- Verificación (V). Gira en torno a la prueba y comprobación del software a lo largo de su ciclo de vida. En este sentido, juegan un papel fundamental las pruebas de seguridad de aplicaciones.
- Operaciones (O). Las actividades de esta función deben garantizar la confidencialidad, integridad y disponibilidad de los datos durante toda la vida de las aplicaciones.
Estas cinco funciones cuentan, cada una de ellas, con tres prácticas de seguridad asociadas. De tal forma que OWASP SAMM es un modelo conformado por 15 prácticas de seguridad a tener en cuenta en la securización del software empresarial.
- Estrategia y métricas (G).
- Política y cumplimiento (G).
- Formación y orientación (G).
- Evaluación de amenazas (D).
- Requisitos de seguridad (D).
- Arquitectura de seguridad (D).
- Construcción segura (I).
- Implantación segura (I).
- Gestión de fallos (I).
- Evaluación de la arquitectura (V).
- Pruebas basadas en requisitos (V).
- Pruebas de seguridad (V).
- Gestión de incidentes (O).
- Gestión del entorno (O).
- Gestión operativa (O).
2.2. Flujos, niveles de madurez y actividades que se deben realizar
Todas las prácticas de seguridad que venimos de enumerar se dividen, a su vez, en dos flujos que incluyen tres actividades diferentes, en función del nivel de madurez de la organización. Por ejemplo, la práctica de seguridad denominada Implantación segura se divide en dos flujos que contienen tres actividades diferentes, en función del nivel de madurez que busca alcanzar la organización:
1. Proceso de implantación
- Nivel 1. Formalizar el proceso de implantación y securizar las herramientas y procesos usados.
- Nivel 2. Automatizar el proceso de implantación en todas sus fases e introducir pruebas de verificación de seguridad.
- Nivel 3. Verificar automáticamente la integridad de todo el software desplegado, sin importar si se ha desarrollado de forma interna o externa.
2. Gestión de los secretos
- Nivel 1. Poner en marcha medidas de protección básicas, con el objetivo de limitar el acceso a los secretos de producción del software.
- Nivel 2. Inyectar secretos durante el proceso de despliegue desde almacenes reforzados. Así como auditar todos los accesos a ellos.
- Nivel 3. Optimizar el ciclo de vida de los secretos de software, garantizando su uso adecuado.
Esta estructura se repite con las otras 14 prácticas de seguridad. De tal forma que OWASP SAMM propone hasta 90 actividades que se pueden llevar a cabo para mejorar la postura de seguridad del software de una compañía o administración pública.
2.2.1. La importancia de los niveles
¿Quiere decir esto que todas las empresas deben poner en marcha una estrategia para implementar las 90 actividades? No. Por eso OWASP SAMM incluye los niveles de madurez. Puesto que no todas las empresas están sometidas al mismo nivel de ciberexposición ni tienen que hacer frente a los mismos riesgos.
Al fin y al cabo, resulta evidente que una multinacional que opera en un sector crítico como las finanzas o la energía y una pyme cuya actividad económica no es crítica para el funcionamiento de la sociedad y el mercado, no disponen de los mismos recursos, pero tampoco están obligadas a cumplir los mismos requisitos normativos, ni tienen necesidades y objetivos de seguridad análogos.
Por ello, OWASP incluyó los niveles de madurez, para ayudar a las empresas, sin importar su tamaño o sector económico, a evaluar sus prácticas de seguridad y trazar estrategias para incrementar el nivel de madurez en aquellas prácticas clave para la organización, en función de los recursos y presupuesto disponibles.
3. Cómo evaluar la postura de seguridad y la eficacia de las acciones implementadas
Las evaluaciones son un elemento fundamental del OWASP SAMM, puesto que gracias al modelo una organización puede medir la efectividad de sus prácticas de seguridad actuales y fijar una hoja de ruta por fases para mejorar los resultados actuales.
Usar SAMM para realizar evaluaciones es una práctica muy sencilla y se basa en la cumplimentación de una entrevista.
El modelo formula una pregunta para cada una de las 90 actividades que lo conforman. A cada pregunta se puede responder con una de las cuatro respuestas predefinidas. Para facilitar la tarea de respuesta, OWASP SAMM incluye una serie de criterios de calidad para cada pregunta.
Por ejemplo, la primera pregunta de la función Gobernanza es «¿Conoce la cantidad de riesgo que está dispuesta a asumir toda la compañía en lo relativo a sus aplicaciones de software?». Los criterios de calidad que se ofrecen como guía son:
- Es posible conocer el nivel de riesgo que quieren asumir los directivos de la compañía.
- La dirección de la empresa examina y aprueba los riesgos de software.
- Se pueden identificar las principales amenazas empresariales y técnicas para los activos de la compañía y sus datos.
- Los riesgos pueden documentarse y guardarse en un lugar accesible y seguro.
Sirviéndose de estos criterios de calidad, la persona que esté cumplimentando la entrevista puede responder:
- No. Si los criterios no se cumplen en su totalidad.
- Sí, se cubren los riesgos generales.
- Sí, se cubren los riesgos específicos de la organización.
- Sí, se cubren riegos y oportunidades.
3.1. Transformar respuestas cualitativas en calificaciones cuantitativas
Para llevar a cabo las evaluaciones y facilitar el diseño de una estrategia de seguridad que mejore la postura de seguridad del software, OWASP pone a disposición de las empresas herramientas en formato Microsoft Excel y Google Spreadsheet. Además, las compañías pueden diseñar sus propias herramientas de evaluación online o hacer uso de SAMMY, una solución creada por Codific.
Estas herramientas facilitan la tarea de transformar las respuestas a las 90 preguntas de OWASP SAMM en una puntuación que representa el nivel de madurez de una organización en lo relativo a las diferentes prácticas de seguridad, pero también a las funciones de negocio.
Así, la puntuación puede ir del 0 al 3, que representa el máximo nivel de madurez. Como ya señalamos antes, no todas las empresas deben aspirar a alcanzar esta puntuación en cada práctica de seguridad, sino que, debe ir en consonancia con las necesidades, objetivos y recursos empresariales.
Por ello, a partir de la puntuación inicial, las organizaciones pueden fijarse como objetivo alcanzar puntuaciones más elevadas en un futuro, planificando el proceso de optimización de la estrategia de seguridad del software en diferentes fases, de cara a lograr implementar con éxito las actividades contempladas en el modelo.
¿Cómo se comprueba que el programa de seguridad se está implementando de forma idónea y se cumplen los objetivos de cada fase? Volviendo a realizar la evaluación mediante OWASP SAMM.
4. Servicios de ciberseguridad para proteger el software en todo su ciclo de vida
Las claves de OWASP SAMM que hemos ido desgranando en este artículo ponen en valor la necesidad de que las empresas que deseen fortalecer la seguridad del software empresarial cuenten con servicios de ciberseguridad avanzados en las cinco grandes funciones de negocio y en las 15 prácticas de seguridad que las conforman.
4.1. Múltiples servicios para optimizar todas las funciones de negocio
- Gobernanza. El asesoramiento integral en materia de ciberseguridad para gestionar con eficacia las capacidades defensivas, cumplir con los requisitos normativos y formar a los profesionales de una organización para que lleven a cabo buenas prácticas es crucial.
- Diseño. Realizar evaluaciones de amenazas del software propio y de las aplicaciones y componentes de terceros y auditorías de código, así como establecer prácticas y requisitos de seguridad eficaces a la hora de diseñar el software y gestionar los activos tecnológicos.
- Implementación. Monitorear de forma continua el software y los componentes de terceros para detectar vulnerabilidades antes de que sean explotadas por actores hostiles. Son fundamentales tanto el servicio de gestión de vulnerabilidades como la detección de vulnerabilidades emergentes.
- Verificación. Llevar a cabo pruebas de seguridad de aplicaciones (DAST, SAST, SCA, SCS…) de manera permanente para detectar fallos y vulnerabilidades que puedan dar lugar a incidentes de seguridad.
- Operaciones. Las empresas deben disponer de mecanismos de seguridad para detectar incidentes de seguridad, responder y mitigar las actuaciones maliciosas, de cara a garantizar la continuidad de negocio y la protección de los datos.
En definitiva, OWASP SAMM es una metodología abierta, que se adapta al contexto de cualquier organización y que sirve para evaluar la postura de seguridad del software, así como para diseñar un plan de acción y una hoja de ruta para mejorarla.
Tarlogic Security pone a disposición de las empresas un catálogo de servicios de ciberseguridad avanzados e integrales para ayudarlas a diseñar y mejorar sus estrategias de seguridad del software. Servicios como la auditoría de código fuente permiten optimizar las prácticas de seguridad y fortalecer la protección del software empresarial a lo largo de todo su ciclo de vida, de cara a prevenir incidentes de seguridad como los ataques de cadena de suministro.
Este artículo forma parte de una serie de articulos sobre OWASP
- Metodología OWASP, el faro que ilumina los cíber riesgos
- OWASP: Top 10 de vulnerabilidades en aplicaciones web
- Análisis de seguridad en IoT y embebidos siguiendo OWASP
- OWASP FSTM, etapa 1: Reconocimiento y búsqueda de información
- OWASP FSTM, etapa 2: Obtención del firmware de dispositivos IoT
- OWASP FSTM, etapa 3: Análisis del firmware
- OWASP FSTM, etapa 4: Extracción del sistema de ficheros
- OWASP FSTM, etapa 5: Análisis del sistema de ficheros
- OWASP FSTM etapa 6: emulación del firmware
- OWASP FSTM, etapa 7: Análisis dinámico
- OWASP FSTM, etapa 8: Análisis en tiempo de ejecución
- OWASP FSTM, Etapa 9: Explotación de ejecutables
- Análisis de seguridad IOT con OWASP FSTM
- OWASP SAMM: Evaluar y mejorar la seguridad del software empresarial
- OWASP: Top 10 de riesgos en aplicaciones móviles