Millones de repositorios en GitHub son potencialmente vulnerables al secuestro

Millones de repositorios en GitHub son potencialmente vulnerables al secuestro

Millones de repositorios en GitHub son potencialmente vulnerables al secuestro de la inteligencia de datos de PlatoBlockchain. Búsqueda vertical. Ai.

Millones de repositorios de software empresarial en GitHub son vulnerables a volver a robar, un tipo relativamente simple de ataque a la cadena de suministro de software en el que un actor de amenazas redirige los proyectos que dependen de un repositorio en particular a uno malicioso.

El problema tiene que ver con cómo GitHub maneja las dependencias cuando un usuario u organización de GitHub cambia el nombre de un proyecto o transfiere su propiedad a otra entidad, dijeron investigadores de Aqua Security en un informe esta semana.

Riesgos de cambio de nombre

Para evitar romper las dependencias del código, GitHub crea un enlace entre el nombre del repositorio original y el nuevo para que todos los proyectos que dependen del repositorio original se redirijan automáticamente al nuevo nombre. Sin embargo, si una organización no logra proteger adecuadamente el antiguo nombre de usuario, un atacante podría simplemente reutilizarlo para crear una versión con troyanos del repositorio original para que cualquier proyecto que dependiera del repositorio vuelva a comenzar a descargar dependencias de él.

“Cuando el propietario de un repositorio cambia su nombre de usuario, se crea un enlace entre el nombre anterior y el nuevo para cualquier persona que descargue dependencias del repositorio anterior”. Los investigadores de Aqua dijeron en un blog esta semana. “Sin embargo, es posible que cualquiera cree el nombre de usuario anterior y rompa este enlace”.

Los investigadores de Aqua decidieron recientemente investigar la prevalencia de repositorios en GitHub que son vulnerables a este tipo de secuestro, o secuestro de repositorio de dependencia, como algunos investigadores de seguridad se refieren a la amenaza.

Problema ampliamente prevalente

Lo que Aqua descubrió fue doble: millones de estos repositorios, incluidos los que pertenecen a empresas como Google y Lyft, están presentes en GitHub; y las herramientas están fácilmente disponibles para que los atacantes encuentren estos repositorios y los secuestren. Una de estas herramientas es GHTorrent, un proyecto que mantiene un registro casi completo de todos los eventos públicos, como confirmaciones y solicitudes de incorporación de cambios, en GitHub. Los atacantes pueden usar GHTorrent para recolectar los nombres de GitHub de los repositorios que la organización usó anteriormente. Luego pueden registrar el repositorio con ese nombre de usuario anterior, recrear el repositorio y entregar malware a cualquier proyecto que lo use.

Cualquier proyecto que haga referencia directa a un repositorio de GitHub es vulnerable si el propietario del repositorio cambia o elimina el nombre de usuario de su repositorio.

“Hemos presentado un conjunto de datos significativo que los atacantes pueden utilizar para recopilar los nombres de repositorios anteriores que pertenecen a organizaciones”, dice Yakir Kadkoda, investigador de seguridad de Aqua Nautilus.

“Las organizaciones no deben asumir que los nombres de sus organizaciones anteriores permanecerán sin revelar”, advierte Kadkoda. "Es crucial para ellos reclamar y mantener sus antiguos nombres de usuario en GitHub y escanear las URL y las referencias de GitHub en su código para identificar cualquier repositorio que un atacante pueda reclamar".

Omitir protecciones

Kadkoda dice que GitHub ha intentado abordar este problema evitando la creación de nombres de usuario y repositorios que antes eran de su propiedad y ahora redirigen a otros proyectos. GitHub también implementado un mecanismo hace varios años para retirar los espacios de nombres de repositorios populares como un medio para mitigar esta amenaza. “Sin embargo, se han descubierto varios desvíos en los últimos años”, dice. Durante el estudio de Aqua, sus investigadores encontraron varios ejemplos de repositorios en los que no se aplicaba la protección implementada por GitHub. “Por lo tanto, los usuarios no pueden confiar completamente en estas defensas en este momento”, dice.

El blog de Aqua señaló una vulnerabilidad de GitHub que Checkmarx descubierto el año pasado como un ejemplo de las formas disponibles para que los atacantes eludan los intentos de GitHub de protegerse contra el secuestro. La falla involucró un mecanismo llamado "retiro del espacio de nombres del repositorio popular" y afectó a todos los nombres de usuario renombrados en GitHub, incluidos más de 10,000 paquetes en administradores de paquetes como Swift, Packagist y Go. "Repojacking es una técnica para secuestrar el tráfico de URL de repositorio renombrado y enrutarlo al repositorio del atacante mediante la explotación de una falla lógica que rompe la redirección original", dijo Checkmarx en un informe sobre la vulnerabilidad. "Un repositorio de GitHub es vulnerable a un nuevo secuestro cuando su creador decidió cambiar el nombre de su nombre de usuario mientras el nombre de usuario anterior está disponible para el registro".

Las organizaciones pueden mitigar su exposición a la amenaza de secuestro escaneando su código, repositorios y dependencias en busca de enlaces de GitHub, dice Kadkoda: "Deberían verificar si esos enlaces se refieren directamente a proyectos de GitHub o si hay redireccionamientos que apuntan a repositorios con otros nombres de usuario o repositorios". nombres que los enlaces originales.” En estos casos, las organizaciones deben intentar reclamar el nombre de usuario disponible para evitar que los atacantes lo hagan. “Además, las organizaciones siempre deben mantener sus antiguos nombres de usuario en GitHub”, dice.

Sello de tiempo:

Mas de Lectura oscura