Ciberseguridad
Agile

10 principios para garantizar una ciberseguridad sólida en el desarrollo ágil

La filosofía ágil de gestión de proyectos valora la velocidad, la colaboración, la comunicación y la interacción.

metodología ágil, devops
Créditos: Kelly Sikkema (Unsplash).

El entorno empresarial hipercompetitivo actual requiere que las organizaciones se muevan rápido y sigan siendo innovadoras. Como resultado, más del 80% de ellas han adoptado un enfoque de desarrollo ágil. Desafortunadamente, esta mayor velocidad presenta varias oportunidades de explotación por parte de los ciberdelincuentes, especialmente si los procesos del ciclo de vida del software no están protegidos.

Entonces, ¿cómo pueden las empresas hacer que estas prácticas estén más habilitadas para la seguridad? Estos son los 10 principios que recomienda el ISF:

 

Definir roles y responsabilidades

Los altos directivos responsables de proyectos ágiles deben definir claramente las funciones responsabilidades de las actividades de seguridad. Esto incluye establecer líneas formales e informales de presentación de informes, así como acciones de gestión de proyectos, como protocolos de escalada, reuniones obligatorias e informes del estado del proyecto. Esto ayudará a integrar la seguridad en el desarrollo ágil de aplicaciones, y al mismo tiempo fomentará el compromiso y una relación constructiva entre TI y los representantes de ciberprotección.

 

Invertir en habilidades y capacitación

La seguridad es un deporte de equipo. Cada desarrollador debe contribuir a garantizar que el código esté libre de vulnerabilidades. Los desarrolladores a menudo carecen del conocimiento necesario y tienden a priorizar la entrega de software sobre los asuntos de seguridad. Para empoderar a los desarrolladores, las compañías deben invertir recursos en capacitación, tutoría y mejora de habilidades. Esto incluye una combinación de sesiones de concienciación, eventos especializados, o accesos a recursos gratuitos.

 

Aplicar un proceso de gestión de riesgos de la información

Es menos costos y eficiente incorporar la seguridad desde el principio, en lugar de intentar añadirla después. El liderazgo debe establecer procesos que ayuden a gestionar el riesgo de la información durante todo el ciclo de vida del desarrollo. Esto conlleva acordar una arquitectura de aplicaciones de alto nivel desde una perspectiva de seguridad, identificar una lista de aplicaciones y características críticas, realizar una evaluación del impacto corporativo y evaluaciones de vulnerabilidades de la información de las primeras etapas.

 

Especificar los requisitos de seguridad utilizando el formato del desarrollador

Utilice el formato de los desarrolladores (historias de usuarios, especificaciones de requisitos de software, mapeo de historias, estructuras alámbricas, personas y casos de uso) para articular los requisitos de seguridad de modo que los desarrolladores puedan comprender, definir e implementar mejor las especificaciones de seguridad.

Esto permite que los requisitos de seguridad sean tratados como requisitos funcionales en el backlog del producto, transformándolos en tareas, incorporándolos en herramientas de gestión de requisitos e incluyéndolos en las métricas de productividad del proyecto.

 

Realizar modelos de amenazas

Realizar ejercicios periódicos de modelado de amenazas para comprender el contexto de seguridad de la aplicación, descubrir aspectos del diseño que no son seguros, identificar, analizar y priorizar amenazas; descubrir las técnicas y métodos más comunes utilizados para atacar la aplicación (suplantación de identidad, manipulación, denegación de servicios, escalada de privilegios), identificar qué amenazas justifican pruebas de seguridad adicionales y, lo más importante, producir estrategias y soluciones para mitigar cada amenaza de forma proactiva.

 

Emplear técnicas de programación seguras

Exigir a los desarrolladores que aprovechen las técnicas de programación segura establecidas, como la programación en pares, la refactorización, la mejora continua/desarrollo continuo (CI/CD), la revisión por pares, las iteraciones de seguridad y el desarrollo basado en pruebas.

Esto mejora las cualidades no funcionales del código de la aplicación y ayuda a eliminar defectos de programación que permiten explotar las vulnerabilidades de seguridad. Las técnicas de programación segura también son útiles para dirigir a los desarrolladores que no tienen experiencia en métodos seguros, utilizando nuevas tecnologías como IA o low-code/no-code, desarrollando un aspecto de una aplicación que es complejo, integrando aplicaciones de terceros o cumpliendo requisitos de cumplimiento. 

 

Realizar revisiones de seguridad independientes

Consiga que revisores independientes realicen análisis de código estático (revisen el código fuente para analizar errores, errores y lagunas en el código de la aplicación) y análisis dinámico (examinen el comportamiento de la aplicación durante la ejecución para identificar comportamientos inusuales o inesperados). Esto proporciona seguridad a las partes interesadas de que la aplicación cumple con los requisitos de seguridad y no incluye ninguna vulnerabilidad de seguridad.

 

Automatizar las pruebas de seguridad

Por lo general, no es factible que los equipos de seguridad prueben y evalúen manualmente cada iteración ágil. Es por eso que es necesario emplear algún tipo de automatización que pueda verificar continuamente la seguridad del código de la aplicación en busca de defectos y vulnerabilidades, garantizar que las tareas relacionadas con la seguridad se completen de manera consistente y metódica, analizar eventos de seguridad y disminuir la carga de los equipos de seguridad y desarrolladores. Sin embargo, no todo se puede automatizar y la automatización no puede reemplazar por completo las pruebas manuales. Por ejemplo, se necesita una revisión manual para identificar fallas lógicas.

 

Incluir seguridad en los criterios de aceptación

Crear, comunicar y mantener un conjunto estándar de criterios de aceptación de seguridad para confirmar que se ha realizado una revisión independiente del código de la aplicación; se han completado las pruebas de seguridad; las secciones de código incorporadas en la aplicación se pueden mantener, rastrear y provienen de fuentes comprobadas y acreditadas; los requisitos del trabajo pendiente de iteración se han cumplido con éxito; Se han abordado todos los defectos, incluidas las vulnerabilidades de seguridad, y se ha identificado y aprobado cualquier cambio de diseño que pueda afectar la seguridad.

Esto ayuda a reducir la deuda técnica, brindar seguridad a las partes interesadas y verificar que los criterios de aceptación de seguridad se hayan cumplido completamente antes de entregar el código de la aplicación.

 

Evaluar el rendimiento de la seguridad

Los proyectos ágiles suelen incluir una evaluación limitada del rendimiento de la seguridad. Esto dificulta que las organizaciones determinen si la seguridad de sus aplicaciones cumple con los requisitos comerciales. Por lo tanto, es importante que las organizaciones supervisen y evalúen las métricas de seguridad adecuadas frente a un conjunto acordado de KPI.

Las métricas de seguridad pueden incluir cosas como el tipo, la cantidad y la gravedad de las vulnerabilidades de seguridad, los resultados de pruebas independientes, la cantidad de desviaciones aprobadas y no aprobadas de la política de seguridad, el período de tiempo sin una violación de seguridad y otras métricas de eliminación de defectos .

Si su desarrollo es ágil, entonces la seguridad de la información debe hacer lo mismo. Es por eso que se recomienda que todas las organizaciones sigan los principios de seguridad y las mejores prácticas anteriores. El éxito de la seguridad depende del nivel de colaboración y compromiso entre todas las partes (desarrolladores, directores de proyectos, equipos ejecutivos, etc.). Si los procesos de seguridad pueden realizar iteraciones y mejoras rápidas al igual que la codificación, sólo entonces se podrá ofrecer una mejor seguridad de las aplicaciones y cambios impactantes sobre el terreno.



TE PUEDE INTERESAR...

Webinars

Accede a la cobertura de nuestros encuentros
 
Lee aquí nuestra revista digital de canal

DealerWorld Digital

 

Forma parte de nuestra comunidad
 
¿Interesado en nuestros foros? 

 

Whitepaper