Gestión y prevención de vulnerabilidades en entornos CI

Por David Gil | April 30, 2021

La importancia de la detección temprana durante el desarrollo de software

La detección de vulnerabilidades ha pasado a formar parte inherente del proceso de modelado, desarrollo o implementación de un software. En lo que a seguridad se refiere, es importante recordar que el software es la capa más superficial dentro de un conjunto de otras dependencias, frameworks, lenguajes de programación y sistemas operativos que también están siendo expuestos y por ende, pueden comprometer a la estabilidad del conjunto.

Garantizar que WOCU-Monitoring esté protegido frente al cambiante panorama de ataques y fallos de seguridad de código, ha sido, es y será una de las principales preocupaciones que se llevan abordando desde versiones iniciales.

Visión general de nuestro proceso de gestión de vulnerabilidades

A la hora de abordar buenas prácticas durante el desarrollo y puesta en marcha de WOCU-Monitoring, nos topamos de frente con los entornos de Integración Continua (en adelante CI). Nuestro proceso de desarrollo está orientado a realizar un incremento de funcionalidad del producto. Para comprobar el correcto funcionamiento del software y verificar la calidad del código dentro de nuestro ciclo ágil de trabajo, se ejecutan una serie de comprobaciones y pruebas adaptadas (tests) en un entorno CI.

Recientemente, se han integrado nuevas medidas de fortalecimiento y prevención de ataques que puedan afectar a la seguridad del sistema, integrando en nuestro CI la comprobación de las dependencias instaladas en busca de vulnerabilidades de seguridad conocidas. Véase el siguiente ejemplo:

+==============================================================================+
| REPORT                                                                       |
+============================+===========+==========================+==========+
| package                    | installed | affected                 | ID       |
+============================+===========+==========================+==========+
| django                     | 1.2       | <1.2.2                   | 25701    |
+==============================================================================+
| Cross-site scripting (XSS) vulnerability in Django 1.2.x before 1.2.2 allows |
|  remote attackers to inject arbitrary web script or HTML via a csrfmiddlewar |
| etoken (aka csrf_token) cookie.                                              |
+==============================================================================+

Este nuevo subproceso consultará la base de datos donde se registran vulnerabilidades de paquetes que están en uso, para detectar o descartar la existencia de riesgos de seguridad. Además, se sugerirán las actualizaciones necesarias para solventar toda vulnerabilidad detectada. Para nosotros es primordial conocer cuáles son las dependencias y librerías que utilizamos y que estas estén actualizadas con las últimas correcciones de errores de seguridad.

En definitiva, el CI detectará en fase de desarrollo las dependencias vulnerables, tanto en backend como en frontend, que puedan afectar a la seguridad de WOCU-Monitoring y sugerirá los cambios pertinentes para solventarlas y no pasen desapercibidas durante un periodo prolongado.

¿Prevenir o actuar?

Sin duda alguna, en WOCU-Monitoring optamos por la prevención durante el proceso de desarrollo de nuestros proyectos, mediante la automatización de procesos proactivos para la detección temprana de vulnerabilidades con la máxima rapidez posible.