héroe bg sin separador
Directrices

Uso de componentes con vulnerabilidades conocidas

La mayoría de las aplicaciones utilizan una gran cantidad de componentes de terceros. Estos componentes proporcionan todo tipo de funciones, como registro, plantillas y acceso a bases de datos.

Esto hace que el desarrollo de software sea mucho más fácil y ahorra mucho tiempo, pero estos componentes también son creados por personas y, por lo tanto, algunos de ellos contienen vulnerabilidades inevitables. Esto significa que existe la posibilidad de quedar expuesto a vulnerabilidades que podrían ser explotadas sin que uno se dé cuenta.

Mantener los componentes actualizados

Como regla general, se recomienda encarecidamente mantener actualizados periódicamente los marcos, bibliotecas y otros componentes. Hay varias formas de hacerlo.

  • Muchos programas de control de código fuente analizan los repositorios y avisan cuando encuentran vulnerabilidades en las dependencias.
  • Muchos gestores de paquetes pueden analizar aplicaciones e identificar dependencias vulnerables.
  • Existen numerosas soluciones de análisis de composición de software (SCA) capaces de identificar relaciones de dependencia vulnerables.

Reducción del riesgo de deuda técnica

Uno de los problemas más molestos relacionados con la actualización de bibliotecas es la posibilidad de que se introduzcan cambios que puedan dañar el código. Aunque estos cambios suelen estar documentados, hay otros que no lo están y que pueden pasar desapercibidos hasta que el código se ejecuta en un entorno de producción.

Si la aplicación está ejecutando una versión anterior a la última, la actualización a la última versión puede requerir un trabajo considerable. Cuando se publica una vulnerabilidad urgente, es importante mantener los componentes de terceros relativamente actualizados para evitar situaciones en las que la actualización pueda tardar varios días.

Además, no se recomienda actualizar el paquete sin leer las notas de la versión. Las notas de la versión pueden contener información importante sobre cambios que, aunque no sean evidentes, podrían afectar al funcionamiento de la aplicación.

¿Es posible que la seguridad mejore aún más con la actualización?

Aunque no es algo habitual, se han registrado los siguientes casos debido a vulnerabilidades.

  • No existe en versiones anteriores.
  • Cuando se corrige una vulnerabilidad, se presenta.

En estos casos, es posible que no sea muy recomendable actualizar el paquete con regularidad. Por supuesto, esta forma de pensar conduce a la acumulación de deuda técnica, por lo que debe evitarse en la medida de lo posible.

Teniendo en cuenta que este escenario es relativamente poco frecuente, las ventajas de actualizar los paquetes con frecuencia superan con creces la posibilidad de que se introduzcan nuevas vulnerabilidades. Si se obtiene información actualizada periódicamente, en cualquier caso debería ser fácil mitigar el problema.

Además, se supone que los proveedores no revelarán nada y corregirán las vulnerabilidades en silencio, lo que, lamentablemente, sigue siendo muy habitual en la actualidad.

Exemplos notables

A continuación se muestran algunos ejemplos destacados que probablemente haya oído recientemente. Comprenderá por qué es importante revisar la biblioteca y mantenerla siempre actualizada, así como la forma de hacerlo.