Alex Birsan, experto en seguridad de la información habló de un nuevo ataque llamado “confusión de dependencia”. El problema es una variación del ataque a la cadena de suministro.. Además del nombre “confusión de dependencia”, Los ataques también se denominan “ataques de sustitución”..
Para detectar este método de ataques., el investigador ya ha recibido más de $130,000 de varias empresas a través de programas de recompensas por errores. El hecho es que, usando este problema, el especialista pudo subir el suyo (inofensivo) código a los sistemas de Microsoft, Manzana, PayPal, comprar, netflix, Gañido, tesla, Uber y otras empresas.
La esencia de la confusión de dependencia es simple: malware de repositorios de código abierto (incluyendo PyPI, npm y RubyGems) se distribuye automáticamente a lo largo de toda la cadena de suministro, penetrar en las aplicaciones internas de las empresas sin la participación del usuario. Esto es lo que distingue el ataque del tipo habitual..
Esta sencilla idea de Birsan fue impulsada el año pasado por su colega., otro experto en seguridad de la información, Justin Gardner. Compartió con Birsan el archivo de manifiesto package.json del paquete npm utilizado internamente por PayPal.. Resultó que algunos de los paquetes del manifiesto no están en el repositorio público de npm., son paquetes privados creados por ingenieros de PayPal, y se utilizan y almacenan únicamente dentro de la empresa.
mirando esto, Birsan se preguntó si debería existir un paquete con el mismo nombre en el repositorio público de npm., y de ser así, ¿Cuál eventualmente tendría prioridad??
Para probar su teoría, El investigador comenzó a buscar los nombres de otros paquetes privados que se pueden encontrar en archivos de manifiesto en repositorios de GitHub o CDN de empresas conocidas., que no están en los repositorios públicos.
Después de descubrir varios objetivos de este tipo, Birsan comenzó a crear proyectos falsos con los mismos nombres en npm, PyPI y RubyGems (aunque Birsan señala que otros administradores de paquetes, incluyendo JFrog y NuGet, también son vulnerables).
El experto creó estas falsificaciones desde su cuenta y las acompañó de una explicación de que estaban destinadas únicamente a investigaciones de seguridad y no contenían ningún código útil..
Este experimento demostró que si un paquete de dependencia utilizado por una aplicación existe tanto en un repositorio público de código abierto como en una compilación privada, el paquete público finalmente tendrá prioridad y se utilizará sin ninguna acción por parte del desarrollador. También resulta que en el caso de los paquetes PyPI, la versión superior tiene prioridad sin importar dónde se encuentre.
Entonces, usando las mismas tácticas, Birsan lanzó ataques exitosos contra Microsoft, Manzana, PayPal, comprar, netflix, tesla, Gañido, Uber y otras grandes empresas, simplemente publicando paquetes con los mismos nombres que los paquetes utilizados internamente.
Todos los paquetes de prueba del investigador contenían scripts preinstalados que ejecutan automáticamente un script para recuperar información de identificación del «infectado» máquina, justo después del grupo de paquetes. Al darse cuenta de que sus guiones establecerían conexiones desde redes corporativas seguras., Birsan decidió eludir los mecanismos de seguridad utilizando DNS para recuperar datos.
En la siguiente ilustración se puede ver un ejemplo de un script de este tipo.: informa al investigador que la dirección IP desde la que se origina la solicitud pertenece a PayPal, y también informa el nombre de usuario y el directorio de inicio del sistema afectado.
Después de recopilar los datos y asegurarse de que tenía razón., el investigador comenzó a informar de sus hallazgos a empresas vulnerables, recibir recompensas a través de programas de recompensas por errores. Por ejemplo, PayPal ya ha publicado un informe pericial en HackerOne y le pagué $30,000; Yelp también confirmado los hallazgos de Birsan y lo recompensó con $15,000.
Sin embargo, Microsoft es quizás el más serio en cuanto a la confusión de dependencias. A este problema se le asignó un identificador. CVE-2021-24105 (para el artefacto azul), y la empresa no sólo pagó al experto $40,000, pero también publicó el suyo papel blanco detallando el problema y proponiendo soluciones.
En particular, Los ingenieros de Microsoft recomiendan minimizar los riesgos protegiendo los paquetes privados utilizando áreas controladas en repositorios públicos, además de utilizar la verificación del lado del cliente (versionando, control de integridad).
Permítanme recordarles también que el Un investigador descubrió que la función Chrome Sync se puede utilizar para robar datos.