jueves, 12 de enero de 2023

Introducción a la seguridad de Microsoft para DevOps

Para nadie es un secreto la cantidad de problemas causados ​​por fallas de seguridad encontradas y explotadas en aplicaciones desarrolladas en los más variados nichos de mercado, desde aplicaciones de mensajería hasta sistemas bancarios.


Así, decir que la seguridad es algo más que esencial y debe ser una preocupación de todos, especialmente cuando se trata del desarrollo de productos de software, resulta “innecesario”.


Sin embargo, este cuidado no siempre es tenido en cuenta en los hechos y cuando lo es no puede quedar únicamente bajo la responsabilidad de las personas, ya que en el día a día de las entregas pueden ocurrir errores ya sea en una revisión manual en busca de vulnerabilidades, o en el propio proceso de desarrollo, por lo que debemos buscar alternativas para ayudar con las validaciones de seguridad.


Herramientas como Microsoft Security for DevOps , que una vez implementadas durante el proceso de CI/CD permitirán identificar una serie de vulnerabilidades cuando el desarrollador está actualizando el repositorio de código de la aplicación, permiten identificar riesgos de forma anticipada, evitando así que dichos fallos se produzcan. llegar al usuario final.


Introducción a la seguridad de Microsoft para DevOps

Microsoft Security for DevOps es una herramienta desarrollada por Microsoft que permite el análisis estático de vulnerabilidades en el código fuente de la aplicación, es decir, en cuanto el desarrollador envía al repositorio la actualización del código desarrollado, Microsoft Security for DevOps inicia una escanea en busca de posibles vulnerabilidades y, si existen, se presenta un resumen de las mismas en el propio pipeline.


Algo similar a lo que podemos ver en la siguiente imagen:





Este resumen se encuentra más detallado en la pestaña Scans de la ejecución del pipeline, donde es posible revisar ítem por ítem lo analizado, como se muestra en la siguiente imagen:



¿ Qué analiza Microsoft Security para DevOps ?

Microsoft Security for DevOps analiza todo, desde posibles fallas con contraseñas expuestas en el código hasta inconsistencias en el montaje de imágenes acoplables, por ejemplo.

Todo esto se realiza a través de la ejecución de siete herramientas, las cuales son:


HerramientaTipo de análisis realizado
BanditComprueba problemas de seguridad comunes en el código escrito en Python.
BinskimComprueba configuraciones y características de dependencias en busca de posibles fallas de seguridad.
ESlintEscanea el código fuente escrito basado en lenguajes JavaScript en busca de patrones de codificación que puedan generar posibles vulnerabilidades y agujeros de seguridad.
CredscanComprueba el código fuente de la aplicación en busca de contraseñas y credenciales expuestas, como el usuario y la contraseña expuestos en las cadenas de conexión de la base de datos.
Template AnalyzerComprueba las plantillas ARM (Azure Resource Manager) y Bicep Infrastructure-as-Code (IaC) para asegurarse de que se sigan las comprobaciones de seguridad y las prácticas recomendadas antes de la implementación de sus soluciones de Azure.
TerrascanEscanea la infraestructura como código en busca de configuraciones incorrectas, detectando vulnerabilidades de seguridad y violaciones de cumplimiento.
TirvyAnaliza problemas de seguridad en imágenes de contenedores, archivos de sistema, repositorios Git, máquinas virtuales, así como entornos AWS y Kubernetes en busca de vulnerabilidades, paquetes de sistemas operativos, licencias de software, datos confidenciales, así como vulnerabilidades CVE y problemas en la configuración de la infraestructura como código.


¿Qué riesgos ayuda a mitigar Microsoft Security for DevOps?

De las herramientas enumeradas anteriormente, Microsoft Security for DevOps busca constantemente fallas de seguridad que puedan comprometer el uso de su aplicación, lo que lleva a algún tipo de exposición de la información de sus usuarios.


Fallos como contraseñas o tokens de autenticación expuestos en el código fuente de la aplicación, como podemos ver en los resultados presentados en nuestra aplicación de prueba:



Donde a través del análisis credscan, Microsoft Security for DevOps detectó que hay un token de autenticación de Azure DevOps expuesto.


Una vez detectado este fallo, se elabora un plan de acción para su corrección, que comienza, por ejemplo, instruyendo al desarrollador para que no defina en el código fuente ninguna información que pueda ser utilizada para la autenticación.


Concluyendo

Cuando se opta por utilizar herramientas como Microsoft Security for DevOps, los riesgos de seguridad disminuyen automáticamente, ya que al ser identificados se toman inmediatamente las medidas necesarias, ya por parte del propio equipo de desarrollo, sabiendo de una vulnerabilidad que actuará sobre ella. preventivamente, no permitiendo que llegue al usuario final.


Brindar más calidad, seguridad y confiabilidad a las aplicaciones y compartir la responsabilidad de las preocupaciones relacionadas con posibles fallas y vulnerabilidades con los equipos de seguridad.


¿Estabas interesado?

Microsoft Security for DevOps es una herramienta que está disponible para Azure DevOps y GitHub , y que, asociada a Microsoft Defender for DevOps, permitirá publicar y monitorear posibles fallas y vulnerabilidades encontradas en dashboards en Azure.