Un experto en ciberseguridad publicó un informe en el que narra, con amplios detalles, la forma en la que logró hackear los sistemas de reconocidas compañías tecnológicas como Apple, Microsoft o PayPal en un sofisticado ataque de cadena de suministro de software. Alex Birsan, cazarecompensas de vulnerabilidades de seguridad, afirma que logró concretar este ataque explotando una falla que identificó como confusión de dependencia.
El concepto de confusión de dependencias se refiere a las vulnerabilidades que permiten a los actores de amenazas desplegar y ejecutar software malicioso en las redes de una organización anulando los paquetes de dependencia de uso privado usando paquetes públicos maliciosos etiquetados con el mismo nombre. No son pocas las organizaciones que usan dependencias públicas y privadas en su código fuente, por lo que estos ataques son altamente factibles.
El experto menciona que esta idea vino a su mente al analizar un archivo Node.js diseñado para su uso interno en PayPal. Un análisis a detalle posterior reveló que algunos de los nombres de paquetes privados no existían en el registro público NPM: “¿Qué ocurre si se carga código malicioso en NPM usando el mismo nombre de un archivo legítimo? ¿Es posible que algunos de los proyectos de estas compañías los usen de forma predeterminada sin antes verificar si todo está en orden? “, se planeta Birsan.
Para resolver su planteamiento, Birsan cargó código malicioso en registros públicos de dependencia de NPM empleando nombres de paquetes privados disponibles en GitHub, sitios de hosting y foros en línea. Durante este proceso, el experto descubrió que si un paquete de dependencia incluye el mismo nombre en los repositorios públicos y privados, el sistema privilegiará el uso de la versión pública.
El experto menciona que este ataque no requiere interacción alguna de las víctimas para tener éxito, pues solo se requiere reemplazar automáticamente los paquetes privados con los públicos: “NPM permite que código arbitrario se ejecute automáticamente al instalar el paquete, lo que me permite crear fácilmente un paquete Node que recopila información básica sobre cada máquina en la que está instalado a través de su script de preinstalación”. Posteriormente el experto se envió la información a sí mismo usando una técnica de extracción DNS para evitar que los mecanismos de seguridad detecten la actividad maliciosa.
En su reporte, Birsen menciona que la falla fue explotada exitosamente en los sistemas de las compañías antes mencionadas, además de afectar a otras compañías como Shopify, Netflix, Tesla y Uber, acumulando recompensas por más de 130 mil dólares.
Este problema fue reportado a las compañías, las cuales se apresuraron a corregir las vulnerabilidades. Microsoft emitió una alerta de seguridad para que sus usuarios se aseguraran que todos los paquetes privados estén restringidos en fuentes públicas. La compañía otorgó al investigador una recompensa de 40 mil dólares por su reporte.
Trabajando como arquitecto de ciberseguridad, el se enfoca en protección de datos y la seguridad de datos empresariales. Antes de unirse a nosotros, ocupó varios puestos de investigador de ciberseguridad con diferentes empresas. También tiene experiencia en diferentes industrias como finanzas, salud medica y reconocimiento facial.