Devsecops, como integrar la seguridad en procesos devops

ACUÑA MORGADO, José María (2021) Trabajo de Fin de Máster (TFM)

Las aplicaciones de software son complejas y pueden ser vulnerables a una amplia variedad de problemas de seguridad. La cultura empresarial frecuentemente sitúa la seguridad en la fase final del ciclo de vida del desarrollo de software. DevSecOps se centra en desplazar la seguridad hacia la izquierda, es decir, en lugar de adoptar un sistema de respuesta a incidentes, todos son responsables de la seguridad desde el principio, incluso en las etapas de planificación. El objetivo de este trabajo adopta este enfoque, donde se va a implementar un ciclo de vida DevSecOps abordando la integración continua y las pruebas de seguridad automatizadas como parte del flujo de trabajo. De esta forma, se va a hacer un seguimiento de problemas de seguridad para garantizar la identificación temprana de cualquier riesgo. Con ello se pretende demostrar que DevSecOps fusiona la seguridad, el desarrollo y las operaciones para que actúen de forma conjunta y lograr un objetivo común al realizar mejoras en los procesos, herramientas y colaboraciones en equipo. En esencia, DevSecOps ha cambiado la naturaleza misma de cómo se debe implementar la seguridad de las aplicaciones y hace referencia a la seguridad integrada y no su perímetro de seguridad. El SDLC asienta las bases de las diferentes etapas por las que pasa el desarrollo de software en una organización, desde que se inicia su planificación a partir de un requerimiento hasta que finaliza una vez está implantado en producción. Estas cinco etapas son la planificación o definición de requisitos del software, análisis, diseño técnico, implementación o codificación y fase de pruebas e integración y despliegue y mantenimiento. Se trata de un proceso de desarrollo cíclico que tiene como objetivo fundamental construir un software funcional y de calidad que se ajuste a la demanda del cliente según sus necesidades, mediante la entrega en los plazos programados. Atendiendo a las distintas fases, las metodologías de desarrollo se han ido adaptando a las exigencias del mercado logrando que los procesos de negocio sean mucho más flexibles con entregas de producto en menor tiempo y ajustándose a las estimaciones de costes del proyecto. De igual forma, en los últimos años, el número de vulnerabilidades descubiertas ha crecido considerablemente como consecuencia del acceso sin precedentes a la información y a los activos informáticos. Algunos factores que aumentan la superficie de ataque son una mayor virtualización (a través de contenedores de aplicaciones), la aparición de dispositivos inteligentes e IoT, y la computación en la nube, entre otros. No obstante, es frecuente que los departamentos de desarrollo de muchas organizaciones no apliquen prácticas de seguridad por desidia o falta de concienciación, con pretextos del tipo "nuestra aplicación no es un blanco para los ciberdelincuentes", “utiliza protocolo https”, “está protegida por un firewall", y un largo etcétera. Existe la necesidad de incorporar la seguridad y eliminar la creencia de que la aplicación de estas medidas de seguridad debe introducirse en la última etapa del desarrollo de un producto y cambiar la cultura de concienciación asumiendo que la seguridad es imprescindible desde el inicio del SDLC. Y esto es así porque el coste de solucionar cualquier problema de seguridad es mayor cuanto más tarde se detecte. Por tanto, la adopción de prácticas de seguridad en la filosofía DevOps es un elemento imperativo para garantizar la construcción segura (confidencialidad, disponibilidad e integridad) del software. Con el desarrollo de este Trabajo Fin de Máster queda subrayado que la incorporación de medidas de seguridad en las primeras fases del desarrollo de software supone un ahorro en costes generales para cualquier organización y que la seguridad debe adoptar un enfoque de responsabilidad compartida para todos los miembros de los equipos IT: seguridad, desarrollo y operaciones. Se ha demostrado que utilizando herramientas free y/o open source es posible implementar un ciclo de vida de desarrollo de software (SDLC) de forma eficiente, rápida y segura en cualquier entorno empresarial. También ha quedado patente que es absolutamente necesaria la implantación de procesos de automatización de tareas para conseguir el objetivo de lanzamiento de aplicaciones de software de manera rápida y sostenible, ajustándose a los estándares de seguridad de los datos.
Software applications are complex and can be vulnerable to a wide variety of security problems. Company culture often places security in the final phase of the software development life cycle. DevSecOps is focused on shifting security to the left - that is, instead of adopting an incident response system, everyone is accountable for security up front, even in the planning stages. The goal of this paper takes this approach, a DevSecOps lifecycle will be implemented addressing continuous integration and automated security testing as part of the workflow. In this way, security issues will be tracked to ensure early identification of any risks. This is to demonstrate that DevSecOps merges security, development, and operations to work together and achieve a common goal by making improvements to processes, tools, and team collaborations. In essence, DevSecOps has changed the very nature of how application security should be implemented and refers to built-in security and not your security perimeter. The SDLC lays the foundations for the different stages that software development goes through in an organization, from the ning of its planning from a ment until it ends once it is implemented in production. These five stages are the planning or definition of software ments, analysis, technical design, implementation or coding, and the testing and integration phase, and deployment and maintenance. It is a cyclical development process whose main objective is to build al and quality software that adjusts to the customer´s demand according to their needs, by delivering it on schedule. Taking into account the different phases, development methodologies have been adapted to market demands, making business processes much more flexible with product deliveries in less time and adjusting to project cost estimates. Similarly, in recent years, the number of vulnerabilities discovered has grown considerably as a result of unprecedented access to information and computing assets. Some factors that increase the attack surface are increased virtualization (through application containers), the emergence of smart devices and IoT, and cloud computing, among others. However, it is frequent that the development departments of many organizations do not apply security practices due to laziness or lack of awareness, with pretexts such as "our application is not a target for cybercriminals", "it uses https protocol", "it is protected through a firewall", and a long etcetera. There is a need to incorporate security and eliminate the belief that the application of these security measures should be introduced in the last stage of a product development and change the culture of awareness assuming that security is imperative from the ning of the SDLC. And this is so because the cost of solving any security problem is higher the later it is detected. Therefore, the adoption of security practices in the DevOps philosophy is an imperative element to guarantee the secure construction (confidentiality, availability and integrity) of the software. With the development of this Master´s Thesis, it is emphasized that the incorporation of security measures in the early phases of software development supposes a saving in general costs for any organization and that security must adopt an approach of shared responsibility for all members IT teams: security, development and operations. It has been n that using free and/or open source tools it is possible to implement a software development life cycle (SDLC) efficiently, quickly and safely in any business environment. It has also become clear that the implementation of task automation processes is absolutely necessary to achieve the objective of launching software applications quickly and sustainably, complying with data security standards.
  • Tipo de documento: Trabajo de Fin de Máster (TFM)
  • Directores: Jaime Mingo
  • Tipo de autorizacion: Acceso abierto
  • Título obtenido:
  • Derechos: CC Atribución-NoComercial-SinDerivadas 3.0 España