Son diversos los motivos por los que las organizaciones están tomando conciencia de la importancia de asumir la seguridad como un elemento esencial en los procesos de negocio. Unos tienen que ver con el incremento de servicios expuestos en Internet, la utilización de plataformas en la nube, la globalización y la movilidad que llevan aparejados nuevos riesgos para los sistemas de información, mientras que otros están asociados al cumplimiento normativo. En ambos casos pueden tener impacto económico para la organización si no se adopta una adecuada estrategia de seguridad de la información.
Los entornos de desarrollo son muy sensibles a estos nuevos retos y para afrontarlos se está apostando por la adopción de nuevos modelos y metodologías de trabajo orientados a la introducción de la cultura de la seguridad en todo el proceso de desarrollo.
Modelo de desarrollo seguro de aplicaciones
Uno de los modelos que más aceptación está obteniendo es el del Ciclo de Vida de Desarrollo Seguro de Software, conocido por sus siglas en inglés como S-SDLC. Se trata de un conjunto de principios y buenas prácticas tendentes a detectar, prevenir y corregir defectos de seguridad en el desarrollo de aplicaciones, de forma que se obtenga software de confianza y robusto frente a ataques maliciosos, que realice solo las funciones para las que fue diseñado, que esté libre de vulnerabilidades y asegure cumplir con los tres pilares sobre los que se asienta la seguridad de la información: integridad, disponibilidad y confidencialidad.
Fue Microsoft quien definió el modelo SDL (Security Development Lifecycle), introduciendo la seguridad y la privacidad en todas las fases del desarrollo. Posteriormente, surgieron otros como el Modelo de Madurez para el Aseguramiento de Software, más conocido como SAMM por sus siglas en inglés. Se trata de un marco de trabajo abierto y flexible que facilita la implementación de una estrategia de seguridad para el desarrollo de software diseñado por OWASP.
Estos modelos tienen su traslación en la metodología de trabajo DevSecOps que surge para integrar la seguridad en el proceso de desarrollo de software. De esta manera, los equipos de seguridad pasan a trabajar de forma conjunta con los de desarrollo y operaciones desde que se inicia el proceso de desarrollo hasta que se produce el despliegue.
DevSecOps adopta los principios y buenas prácticas de seguridad para fomentar una cultura de seguridad, a la vez que introduce, como novedad, la utilización de herramientas para automatizar la ejecución de pruebas de seguridad.
El esfuerzo requerido para resolver problemas de seguridad aumenta a medida que se avanza en el proceso de desarrollo de una aplicación. Mitigar una vulnerabilidad en una fase inicial del proyecto tiene un impacto mucho menor sobre su coste que si se intenta abordar una vez alcanzada la puesta en producción.
Tipos de herramientas para testear las aplicaciones
Dependiendo de la fase en la que se aborde el análisis de las aplicaciones, las herramientas para automatizar este proceso se dividen en dos tipos:
- Herramientas SAST (Static Application Security Testing): estas permiten revisar el código fuente durante la fase de desarrollo de la aplicación y prevenir problemas de seguridad futuros.
- Herramientas DAST (Dynamic Application Security Testing): este tipo de herramientas permiten realizar el escaneo tras desplegar la aplicación, no necesitando tener acceso al código fuente. Se caracterizan por tener un menor número de falsos positivos, si bien su eficacia es menor según aumenta la complejidad de la arquitectura o las funcionalidades de la aplicación. Así mismo, la velocidad de escaneo es menor respecto a las herramientas SAST.
Son muchas las ventajas que aporta la utilización de este tipo de herramientas. Por un lado, se consiguen acelerar los tiempos de entrega y se incrementa el nivel de seguridad. Por otro, gracias a estas herramientas se consigue alcanzar un mayor nivel de calidad en el producto final y, se evita incurrir en costes sobrevenidos tras su entrega motivados por la detección de incidencias de seguridad abordables en la fase de desarrollo.
Global Technology dispone de la tecnología y el equipo técnico experto para ayudar a las organizaciones a completar el ciclo de vida del desarrollo de software de forma segura a través de la realización de análisis SAST y DAST.
Responsable de SOC en Global Technology