ClickCease Asegurar las dependencias directas y transitivas

Índice

Únase a nuestro popular boletín

Únase a más de 4.500 profesionales de Linux y el código abierto.

2 veces al mes. Sin spam.

Las amenazas ocultas en su código: Protección de las dependencias directas y transitivas

por Pawel Pawlak

20 de marzo de 2025 - Equipo de expertos TuxCare

Las dependencias de código abierto (OSS) representan más del 80% del código de las aplicaciones actuales. Estas dependencias incluyen tanto las elegidas explícitamente por los desarrolladores como las transitivas, que requieren estrategias únicas de gestión de dependencias.

Al desarrollar un proyecto, los programadores suelen incorporar dependencias de terceros para simplificar su trabajo. Estas dependencias directas se declaran explícitamente dentro del proyecto, a menudo utilizando herramientas como Maven o Gradle.

Sin embargo, estas bibliotecas también pueden utilizar dependencias, creando dependencias transitivas que no se importan directamente en el proyecto, sino a través de otras dependencias. Esta estructura anidada de dependencias pone de manifiesto la naturaleza interconectada del desarrollo de software y la dependencia de código externo.

A los atacantes sólo les interesa si se puede explotar una vulnerabilidad, no si existe en una dependencia directa o transitiva. Además, el código de origen a menudo llama directamente a métodos de dependencias transitivas, estableciendo una relación directa entre tu código y el código de esas dependencias.

La superficie de ataque se amplía debido a las dependencias transitivas, dejando los sistemas vulnerables a la explotación de varias maneras. Hay algunos vectores de ataque comunes que debes conocer:

 

La confusión de dependencias puede dar lugar a importantes riesgos para la seguridad, como demostró el investigador de seguridad Alex Birsan con el exploit 2020. Birsan descubrió que las empresas suelen utilizar inadvertidamente nombres de paquetes internos en repositorios públicos. Subió paquetes maliciosos con nombres idénticos y números de versión superiores a los repositorios públicos, lo que engañó a los gestores de dependencias para que descargaran y ejecutaran su código, afectando a importantes organizaciones. Esto puso de manifiesto la posibilidad de que se produjeran filtraciones de datos y cuantiosos daños financieros y de reputación si sus intenciones hubieran sido maliciosas.

 

La inyección de paquetes maliciosos presenta otra amenaza, en la que los atacantes comprometen los paquetes de confianza existentes. Tomando el control de la cuenta de un mantenedor o introduciendo actualizaciones dañinas, pueden insertar código malicioso sin levantar sospechas. Un ejemplo reciente es la explotación de Dependabot de GitHub, una herramienta automatizada de gestión de dependencias. Los atacantes obtuvieron acceso no autorizado y enviaron falsos pull requests disfrazados de contribuciones legítimas de Dependabot. Estas actualizaciones aparentemente rutinarias, etiquetadas como "correcciones de seguridad" o "parches", engañaban a los desarrolladores para que las fusionaran, lo que permitía a los atacantes recopilar y utilizar indebidamente datos confidenciales.

 

Explotar dependencias descuidadas es otro vector de ataque a tener en cuenta. Las bibliotecas sin mantenimiento, a menudo pasadas por alto por los desarrolladores, se convierten en objetivos fáciles. La vulnerabilidad 2021 Log4Shell en Apache Log4j ejemplifica este riesgo: la vulnerabilidad permitía la ejecución remota de código, pero el impacto generalizado se derivó de la prevalencia de Log4j como dependencia transitiva en numerosos sistemas. Los atacantes se aprovecharon rápidamente de este fallo, dejando a las organizaciones luchando por localizar y actualizar la biblioteca oculta dentro de sus complejas estructuras de dependencia.

 

TuxCare proporciona parches de seguridad tanto para proyectos Java Spring con dependencias directas como para proyectos del ecosistema Java, tan a menudo incluidos con dependencias transitivas.

Nuestra Soporte del ciclo de vida ilimitado (ELS) para Spring ofrece actualizaciones de seguridad continuas para los proyectos de Spring que han llegado al final de su ciclo de vida, incluidos Spring Boot, Spring Framework, Spring Data, etc., para que pueda seguir utilizando su versión de Spring sin soporte durante tantos años como necesite.

¿Necesita proteger sus aplicaciones Spring? Obtenga un presupuesto o pregúntenos sobre ELS para Spring aquí.

 

 

Resumen
Las amenazas ocultas en su código: Protección de las dependencias directas y transitivas
Nombre del artículo
Las amenazas ocultas en su código: Protección de las dependencias directas y transitivas
Descripción
Las dependencias de código abierto representan más del 80% del código de las aplicaciones actuales. Más información sobre la seguridad de las dependencias directas y transitivas
Autor
Nombre del editor
TuxCare
Logotipo de la editorial

¿Desea automatizar la aplicación de parches de vulnerabilidad sin reiniciar el núcleo, dejar el sistema fuera de servicio o programar ventanas de mantenimiento?