Estrategia de seguridad para el manejo de vulnerabilidades en el ciclo de integración y despliegue continúo en aplicaciones web desarrolladas bajo la metodología DevOps
QRCode
Share this
Date
2023Author
Advisor
Citation
Metadata
Show full item recordPDF Documents
Abstract
DevOps es una metodología utilizada por las empresas para agilizar los procesos de desarrollo y despliegue de software; esta implica, por parte de la compañía, un esfuerzo para centralizar la comunicación, colaboración e integración entre desarrolladores y administradores de infraestructura. Como esta metodología se enfoca en garantizar que la salida del software a producción se realice en el menor tiempo posible, la implementación de buenas prácticas de seguridad es una actividad que se excluye del proceso, sumado al hecho de que los desarrolladores carecen de formación en el campo de la seguridad. En consecuencia, la verificación del nivel de seguridad del software es una tarea que se realiza cuando la aplicación se encuentra en producción, fase en la cual se puede comprometer su funcionamiento si esta presenta vulnerabilidades.
Por lo anterior, se propone una estrategia de seguridad para identificar, consolidar y manejar vulnerabilidades halladas en el ciclo de integración continua y despliegue continuo dentro la metodología DevOps, brindando una posible solución para cubrir las brechas de seguridad que pueden ser utilizadas para comprometer el correcto funcionamiento de una aplicación. Para lograr los objetivos planteados, es necesario consolidar el resultado del análisis de vulnerabilidades del aplicativo de prueba seleccionado en los puntos establecidos por la estrategia de seguridad desarrollada; así mismo, la implementación de las plataformas de DevOps y SecDevOps para llevar acabo la ejecución de las estrategias de seguridad propuestas, a saber: SAST, análisis de dependencias, análisis de composición de código, análisis de vulnerabilidades en imágenes Docker, análisis en kubernetes y DAST, correspondientes a los procesos de integración continua CI y despliegue continuo CD.
Abstract
DevOps is a methodology used by companies to speed up software development and deployment; this methodology requires an effort by companies themselves to centralize communication, collaboration and integration between developers and infractrusture managers.
This methodology is focused on guaranteeing a software deployment to production in the least amount of time possible. For this reason, good security practices are excluded from the process, also developers lack training in this field. Consequently, the verification of software security level is a task that is carried out when the application is deployed in production, a phase in which its operation can be compromised if it presents vulnerabilities.
Due to the above points, a security strategy is proposed to identify, consolidate and manage vulnerabilities found in the cycle of continuous integration and continuous deployment within the DevOps methodology, providing a possible solution to cover security gaps that can be used to compromise the proper functioning of an application.
To achieve the stated objectives, it is necessary to consolidate the result of the vulnerability analysis of the selected test application in the points established by the developed security strategy; likewise, the implementation of the DevOps and SecDevOps platforms to carry out the execution of the proposed security strategies, namely: SAST, dependency analysis, code composition analysis, Docker image vulnerability analysis, Kubernetes analysis and DAST, corresponding to CI continuous integration and CD continuous deployment processes.