Observamos ataques sofisticados a la cadena de suministro que aprovechan puntos de entrada en repositorios de paquetes de código abierto populares como PyPI (Python), npm (JavaScript), Ruby Gems y NuGet (.NET).
Este vector de ataque plantea riesgos importantes tanto para los desarrolladores individuales como para las empresas y destaca la necesidad de medidas de seguridad más integrales en entornos de código abierto.
Los puntos de entrada están diseñados para permitir a los usuarios exponer funcionalidades específicas como comandos de la interfaz de línea de comandos (CLI) sin tener que conocer la ruta de importación exacta o la estructura del paquete. Sin embargo, los atacantes han encontrado una manera de explotar esta característica con fines maliciosos.
Según Checkmarx, el ataque funciona creando paquetes maliciosos que definen puntos de entrada que imitan herramientas comunes de terceros o comandos del sistema.
Analiza archivos sospechosos con ANY.RUN: Intergarte With You Security Team -> Pruébalo gratis
Los desarrolladores desprevenidos que instalan estos paquetes y luego ejecutan los comandos asociados pueden provocar, sin saberlo, la ejecución de código dañino.
Un punto de entrada sofisticado
Ataques a la cadena de suministro utilizando puntos de entrada
Los atacantes emplean una variedad de tácticas para maximizar el impacto y el sigilo de sus operaciones.
Secuestro de comandos: los paquetes maliciosos se hacen pasar por herramientas de terceros ampliamente utilizadas, como “aws”, “docker” y “npm”. Si un desarrollador utiliza estos comandos, una versión falsa puede filtrar información confidencial o comprometer toda la infraestructura de la nube.
Falsificación de comandos del sistema: los atacantes crean puntos de entrada que imitan utilidades básicas del sistema como “touch”, “curl” y “ls”. El éxito de este método depende del orden de su RUTA, que a menudo favorece los paquetes instalados localmente.
Envoltura de comandos: para evitar la detección, algunos atacantes implementan envolturas alrededor del comando original. Esta técnica ejecuta silenciosamente código malicioso mientras ejecuta comandos legítimos, preservando así el comportamiento normal y haciendo que el ataque sea extremadamente difícil de detectar.
La explotación del punto de entrada no se limita al ecosistema Python, sino que se extiende a otros ecosistemas importantes como npm (JavaScript), Ruby Gems, NuGet (.NET), Dart Pub y Rust Crates.
Checkmarx dijo que esta vulnerabilidad generalizada resalta la necesidad de una comprensión integral de cómo funcionan los puntos de entrada en diferentes lenguajes de programación y administradores de paquetes.
Medidas de impacto y mitigación
Este nuevo vector de ataque plantea riesgos importantes tanto para los desarrolladores individuales como para los sistemas empresariales. Puede eludir los controles de seguridad tradicionales y proporcionar a los atacantes una forma sigilosa y persistente de comprometer su sistema.
Para reducir estos riesgos, los expertos recomiendan lo siguiente:
Implementar un proceso de inspección más estricto para paquetes de terceros Auditar periódicamente los paquetes instalados y sus puntos de entrada Usar entornos virtuales para aislar paquetes potencialmente dañinos Detectar puntos de entrada sospechosos Adoptar una solución de seguridad integral
Estos hallazgos requieren que los desarrolladores y las empresas permanezcan atentos y tomen medidas proactivas para proteger sus cadenas de suministro de código abierto.
Esto incluye realizar una auditoría de seguridad exhaustiva de sus paquetes, utilizar fuentes confiables para instalar sus paquetes y mantenerse informado sobre las últimas amenazas de seguridad y las mejores prácticas en la comunidad de código abierto.
Cómo elegir la solución SIEM gestionada definitiva para su equipo de seguridad -> Descargue la guía gratuita (PDF)
New Supply Chain Attack Leveraging Entry Points in PyPI, npm, Ruby Gems & NuGet