La automatización es un componente clave del enfoque seguro de DevOps o DevSecOps. La automatización es la forma en que las organizaciones establecen puertas de seguridad y se puede utilizar para priorizar los hallazgos y clasificar su respuesta de remediación. En 2022, Synopsys encargó al Instituto SANS que examinara cómo se pueden lograr mejoras en la postura de seguridad y la eficacia operativa al alinear los equipos de desarrollo, seguridad y operaciones en torno a los ideales culturales, las prácticas y las herramientas de DevOps seguro.
En esta serie de blogs, examinamos lo que la Encuesta SANS DevSecOps 2022 puede enseñarnos sobre cómo la implementación de prácticas DevSecOps puede ayudar a las organizaciones a instituir una codificación segura sin sacrificar la velocidad de desarrollo, establecer políticas y pruebas para automatizar la seguridad, y ayudar a los involucrados con la clasificación y la remediación de manera más eficiente.
En esta publicación de blog, se ven las lecciones que podemos extraer del estudio SANS sobre el uso de la automatización y las integraciones para garantizar que la priorización y la clasificación conduzcan a una corrección rápida. La priorización significa implementar la automatización en el front-end para detectar las vulnerabilidades que ha identificado como importantes para las necesidades de su negocio, mientras que la clasificación significa implementar la automatización en el back-end para alertar a los propietarios de proyectos, ingenieros de desarrollo o personal de seguridad que pueden remediar las vulnerabilidades de una manera oportuna.
Automatización para DevSecOps
La automatización es un tema central de la encuesta SANS y los encuestados de todos los sectores de la industria señalaron que está aumentando en importancia a medida que la cadencia de entrega continúa aumentando. Los resultados del informe concluyen que el 32% de los encuestados realiza cambios en el sistema de producción a diario o de forma continua, mientras que el 61% realiza cambios varias veces a la semana. Esto es mucho código, moviéndose a una velocidad muy alta, y los encuestados del informe SANS señalaron que, a medida que aumenta la proporción de desarrolladores e ingenieros de seguridad, la automatización de las pruebas de seguridad en los pipelines de CI/CD es la única forma de evaluar cada uno de estos códigos en busca de fallas de seguridad.
La automatización es el único camino a seguir si DevSecOps debe mantener el ritmo de la velocidad del desarrollo y de los negocios, y el 83,3% de los consultados por el informe SANS dijeron que han desarrollado la automatización para manejar estas necesidades. Y debido a que la seguridad continúa siendo «empujada hacia la izquierda» en el SDLC, la responsabilidad de detectar y reparar los defectos de seguridad recae cada vez más en los desarrolladores. Esto significa que los desarrolladores tienen un impacto cada vez mayor en la seguridad.
Las organizaciones necesitan crear flujos de trabajo automatizados eficientes en los sistemas que los desarrolladores ya están usando. La mayoría de los desarrolladores ya tienen un sistema de seguimiento de problemas avanzado que se puede usar para este propósito, pero cuando más del 30% de los encuestados informan que están presionando a diario o continuamente, la detección de problemas de seguridad debe automatizarse y aplicarse mediante políticas de AppSec establecidas por los equipos de seguridad. Aún mejor, los flujos de trabajo automatizados deberían notificar a los desarrolladores lo antes posible sobre los problemas que requieren solución, incluso mientras escriben el código y en su “commit”. Para el 80% de los encuestados que ya trabajan con compilaciones automatizadas, el análisis estático sigue siendo una herramienta de seguridad muy eficaz que se puede ejecutar automáticamente a escala en los pipelines nativos o en pipelines paralelos para actividades computacionales intensivas.
Los encuestados también informaron que necesitaban repositorios donde el historial de clasificación para la detección de vulnerabilidades desconocidas se pueda mantener y fusionar para evitar romper compilaciones o evitar el envío de alertas «ruidosas» para falsos positivos o problemas conocidos. Este historial de clasificación debe estar disponible en las herramientas que los desarrolladores usan mientras codifican.
La política automatizada es la clave para la priorización y clasificación
En esencia, la política automatizada es un sistema de registro para comunicar los requisitos de seguridad, los objetivos operativos y las necesidades de cumplimiento normativo que afectan a su proyecto y negocio. Establecer políticas es cómo un grupo pequeño, como un equipo de seguridad, puede comunicarse de manera efectiva con el C-suite, los propietarios del programa o los desarrolladores a escala y en un conjunto complejo de problemas de seguridad. Dado que cada uno de estos equipos tiene una función diferente y puede priorizar los problemas de manera diferente, las políticas automatizadas permiten generar mejores prácticas incluso cuando una parte contribuyente no está presente o no puede participar en el proyecto o sprint. Las infracciones de políticas se convierten entonces en una forma de comunicar a las partes interesadas que un aspecto del proyecto o flujo de trabajo tiene un problema y alertarnos de que se deben tomar medidas.
La automatización de la política como código permite a los ingenieros de seguridad definir los problemas que deben preocupar a la organización y priorizar cómo y cuándo deben solucionarse. Esto significa que los desarrolladores responsables de solucionar problemas no pierden el tiempo averiguando qué solucionar y cuándo. Simplemente pueden ponerse a trabajar.
Al automatizar la aplicación de políticas, las organizaciones pueden:
- Definir la estrategia de seguridad en función del perfil de riesgo de la aplicación.
- Adaptar la estrategia de seguridad a los perfiles de riesgo de las aplicaciones.
- Establecer y usar métricas y KPI para implementar mejoras continuas e impulsar medidas de seguridad eficientes.
- Reducir los ciclos de retroalimentación entre los equipos de desarrollo y seguridad.
La automatización de la aplicación de políticas es la forma en que administra la información que obtiene de todas las pruebas y herramientas que está utilizando. Una herramienta de gestión de información normaliza y correlaciona los hallazgos para que pueda priorizar sus esfuerzos para tener la mayor eficacia.
Lea también: ¿Cómo Estamos Conservando el Agua?
Navegando por la ola de hallazgos automatizados
Con las pruebas automatizadas vienen los hallazgos automatizados, muchos hallazgos automatizados. El truco para ejecutar un programa DevSecOps efectivo es encontrar una manera de no ahogar a sus desarrolladores en el gran volumen de esos hallazgos. Mediante el uso de herramientas que pueden ayudar a ordenar, priorizar y clasificar los resultados de las pruebas automatizadas, puede asegurarse de que sus desarrolladores navegarán por la cima de toda esa información, aprovechando al máximo la velocidad operativa que incorporó a sus flujos de trabajo y pipelines.
El primer desafío es priorizar sus hallazgos clasificándolos según cualquier criterio que funcione para su organización. Los criterios de priorización pueden incluir artículos tan variados como:
- Puntajes de riesgo estandarizados (CVSS, etc.)
- Puertas sí/no para la explotabilidad.
- Si una aplicación está detrás de un firewall.
- Si el archivo se usa solo para desarrollo o va a producción.
- Si la aplicación afectada está orientada al cliente y genera ingresos.
Las pruebas pueden automatizarse, pero la prioridad está determinada por lo que más le importa a su negocio. Una vez que haya determinado sus prioridades comerciales, puede recurrir nuevamente a la automatización para hacer cumplir las políticas que ha creado para administrar sus actividades y la tolerancia al riesgo antes y después de los escaneos.
El próximo desafío de administrar los resultados de las pruebas sin ralentizar la velocidad del negocio es determinar cómo clasificar el conjunto priorizado de hallazgos de seguridad automatizados que han devuelto sus políticas. Si bien puede ser imposible abordar todos los problemas de la lista incluso después de priorizarlos, aún puede categorizar qué problemas solucionar según su horizonte temporal, tolerancia al riesgo y otros factores organizativos u operativos. Establecer sus políticas de clasificación es clave para permitir que sus desarrolladores naveguen por la oleada de hallazgos, en lugar de verse abrumados por ellos.
Una vez que tenga implementadas las políticas de priorización y clasificación, sus desarrolladores pueden abordar la solución siguiendo los pasos con los que todos estamos familiarizados: volver a desarrollo, abrir automáticamente un ticket en el sistema de administración de problemas, enviar notificaciones automáticas de nuevos problemas para corregir, resaltar fallas de políticas y riesgos priorizados dentro del IDE, etc. La diferencia es que la automatización le permite acelerar este proceso sin agotar a sus desarrolladores.
Synopsys tiene un conjunto de herramientas para automatizar este proceso, desde la priorización hasta la clasificación, la corrección/remediación y la automatización, y se integran con las herramientas que sus equipos ya están usando. Las herramientas Synopsys incluyen:
- Intelligent Orchestration simplifica la integración de herramientas y elimina la congestión de los pipelines mediante el establecimiento de políticas definidas que garantizan que se ejecuten las pruebas correctas en el momento adecuado.
- Code Dx consolida los hallazgos de todas sus pruebas automáticas y manuales en un solo lugar, elimina los resultados duplicados y clasifica los problemas, para que pueda concentrar sus esfuerzos en un conjunto más pequeño de problemas de alta prioridad que tienen el mayor impacto comercial.
- Seeker IAST convierte las pruebas funcionales en pruebas de seguridad al monitorear las interacciones de la aplicación web en segundo plano e identificar los riesgos reales que se manifiestan en tiempo de ejecución.
- Code Sight mueve la detección de riesgos de seguridad y la clasificación hasta el IDE de los desarrolladores, donde detecta defectos de seguridad y calidad, y brinda una guía detallada de remediación a medida que los desarrolladores trabajan. Después de todo, la forma más importante de priorizar la reparación de vulnerabilidades es evitar que se introduzcan en su código en primer lugar.
La encuesta SANS DevSecOps de 2022 deja en claro la necesidad de automatización y políticas para la seguridad de las aplicaciones. DevSecOps inteligente y basado en políticas significa definir políticas que ejecuten las pruebas correctas en el momento adecuado. Al recopilar información sobre riesgos que se verifica y limpia automáticamente, puede asegurarse de enviar solo las prioridades más impactantes a los equipos de desarrollo para su corrección. Al invertir en hacer que sus desarrolladores sean más conscientes de la seguridad y más capaces, se asegura de que el bucle de DevOps en sí sea más seguro con el tiempo. DevSecOps exitoso significa proteger su código a las velocidades cada vez mayores que necesita el negocio, y Synopsys puede ayudarlo a hacerlo.
Más información en: https://www.synopsys.com/software-integrity.html
Partner autorizado en Latino América: Softegrity SpA – marí[email protected]










