Securing software development lifecycle using artificial intelligence and security chaos engineering

Aunque los procesos de desarrollo de software se han optimizado sustancialmente en los últimos años, las brechas de seguridad siguen representando un factor de riesgo importante para las organizaciones. Los procesos de transformación digital que no implementan la seguridad como pilar tienden a gener...

Full description

Autores:
Tipo de recurso:
Fecha de publicación:
2024
Institución:
Universidad del Rosario
Repositorio:
Repositorio EdocUR - U. Rosario
Idioma:
eng
OAI Identifier:
oai:repository.urosario.edu.co:10336/43178
Acceso en línea:
https://repository.urosario.edu.co/handle/10336/43178
Palabra clave:
Security Chaos Engineering
DevSecOps
Inteligencia Artificial
Modelado de Amenazas
Seguridad en Aplicaciones
Large Langage Models
Árboles de Ataque
Application Security
DevSecOps
Artificial Intelligence
Security Chaos Engineering
Large Language Models
Threat Modeling
Attack Trees
Rights
License
Attribution 4.0 International
Description
Summary:Aunque los procesos de desarrollo de software se han optimizado sustancialmente en los últimos años, las brechas de seguridad siguen representando un factor de riesgo importante para las organizaciones. Los procesos de transformación digital que no implementan la seguridad como pilar tienden a generar reprocesos y costos adicionales por remediación; en el peor de los casos, fugas de información, ataques de ransomware, denegación de servicio y otros ciberataques que generan fuerte impacto reputacional, legal o monetario. A lo largo de los años, las prácticas de desarrollo seguro han evolucionado, y hoy en día los frameworks de desarrollo ayudan a prevenir intrínsecamente las vulnerabilidades. También han surgido los Programas de Seguridad de Aplicaciones, que son un mecanismo que engloba las políticas, directrices, procesos, herramientas y personas que las organizaciones implementan para proteger sus aplicaciones. Aumentar el nivel de madurez de un programa de seguridad de aplicaciones requiere automatizar actividades y definir formas novedosas de desafiar la seguridad de las aplicaciones. Uno de los mecanismos en auge para automatizar las actividades de seguridad es la Inteligencia Artificial, con el surgimiento de los Large Language Models es posible resolver tareas en cada fase del ciclo de vida del software, reduciendo el tiempo empleado por las organizaciones para generar sistemas seguros. Por otro lado, a través de Security Chaos Engineering es posible descubrir nuevas formas de riesgo que no son fácilmente descubiertas a través de métodos tradicionales de pen-testing o herramientas automatizadas, lo que mejora la postura de seguridad de las aplicaciones. Esta tesis de máster genera una serie de aportaciones que permiten a las organizaciones mejorar sus Programas de Seguridad de Aplicaciones. Este trabajo introduce ideas sobre la identificación temprana de amenazas aplicando Procesamiento del Lenguaje Natural sobre historias de usuario, demuestra la automatización de modelos de amenazas basados en árboles de ataque-defensa utilizando Large Language Models, y propone casos de uso de Security Chaos Engineering aplicables a prácticas DevSecOps.