Logotipo de Zephyrnet

Puerta trasera de XZ Utils implantada en un intrincado ataque a la cadena de suministro

Fecha:

A puerta trasera recién descubierta en XZ Utils, una utilidad de compresión de datos presente en casi todas las distribuciones de Linux, ha reavivado los fantasmas de importantes temores de seguridad de la cadena de suministro de software anteriores, como la vulnerabilidad Log4Shell y el ataque a SolarWinds.

La puerta trasera está integrada en una biblioteca XZ llamada liblzma y brinda a los atacantes remotos una forma de eludir la autenticación de shell seguro (sshd) y luego obtener acceso completo a un sistema afectado. Un individuo con acceso al código a nivel de mantenedor parece haber introducido deliberadamente la puerta trasera en un ataque minuciosamente ejecutado que duró varios años.

La puerta trasera afecta a XZ Utils 5.6.0 y 5.6.1, que son versiones de la utilidad que actualmente se utilizan sólo en versiones inestables y beta de Fedora, Debian, Kali, open SUSE y Arch Linux. Como resultado, la amenaza potencial con esta puerta trasera por ahora es considerablemente más limitada que si el malware hubiera llegado a una distribución estable de Linux.

Aun así, el hecho de que alguien lograra introducir una puerta trasera casi indetectable en un componente de código abierto confiable y ampliamente utilizado (y los estragos potenciales que podría haber causado) ha sido una dolorosa llamada de atención sobre cuán vulnerables siguen siendo las organizaciones a los ataques a través del suministro. cadena.

"Este ataque a la cadena de suministro fue un shock para la comunidad OSS, ya que XZ Utils se consideraba un proyecto confiable y examinado". Los investigadores de JFrog dijeron en una publicación de blog.. "El atacante se ganó una reputación creíble como desarrollador de OSS a lo largo de varios años y utilizó código altamente ofuscado para evadir la detección mediante revisiones de código".

Utilidad XZ es una utilidad de línea de comandos para comprimir y descomprimir datos en Linux y otros sistemas operativos similares a Unix. El desarrollador de Microsoft, Andrés Freund, descubrió la puerta trasera en el software cuando investigaba un comportamiento extraño en las últimas semanas en torno a liblzma en algunas instalaciones de Debian. Después de pensar inicialmente que la puerta trasera era puramente un problema de Debian, Freund descubrió que el problema en realidad afectaba al repositorio XZ ascendente y a los archivos tar o archivos asociados. Él públicamente reveló la amenaza el 29 de marzo.

Durante el fin de semana, los equipos de seguridad asociados con Fedora, Debian, openSUSE, Kali y Arco emitió avisos urgentes alertando a las organizaciones que ejecutan las versiones de Linux afectadas para que vuelvan inmediatamente a versiones anteriores y más estables de su software para mitigar el riesgo potencial de ejecución remota de código.

Vuln de gravedad máxima

Red Hat, el principal patrocinador y colaborador de Fedora, asignó a la puerta trasera un identificador de vulnerabilidad (CVE-2024-3094) y lo evaluó como un riesgo de gravedad máxima (puntuación CVSS de 10) para llamar la atención sobre la amenaza. La Agencia de Seguridad de Infraestructura y Ciberseguridad de EE. UU. (CISA) se unió al coro de voces que instan a las organizaciones que utilizan distribuciones de Linux afectadas a degradar sus utilidades XZ a una versión anterior, y buscar cualquier actividad potencial relacionada con la puerta trasera e informar dichos hallazgos a la agencia.

Todos los avisos ofrecieron consejos para los usuarios sobre cómo verificar rápidamente la presencia de versiones XZ con puerta trasera en su código. Red Hat lanzó una actualización que revierte XZ a versiones anteriores, que la compañía pondrá a disposición a través de su proceso de actualización normal. Pero los usuarios preocupados por posibles ataques pueden forzar la actualización si no quieren esperar a que esté disponible a través del proceso normal, dijo la compañía.

Hoy Binarly lanzó una herramienta gratuita que las organizaciones también pueden utilizar para buscar XZ con puerta trasera.

"Si este código malicioso se hubiera introducido en versiones estables del sistema operativo en múltiples distribuciones de Linux, podríamos haber visto una explotación en masa", dice Scott Caveza, ingeniero de investigación de Tenable. "Cuanto más tiempo pase esto desapercibido, mayor será el potencial de que se genere más código malicioso de quienquiera que sea el actor malicioso".

En una pregunta frecuente, Tenable describió la puerta trasera como modificar funciones dentro de liblzma de tal manera que permita a los atacantes interceptar y modificar datos dentro de la biblioteca. "En el ejemplo observado por Freund, bajo ciertas condiciones, esta puerta trasera podría permitir a un actor malicioso 'romper la autenticación sshd', permitiendo al atacante obtener acceso a un sistema afectado", señalaron los investigadores.

XZ Utils “Mantenedor” detrás de la puerta trasera

Lo que hace que la puerta trasera sea especialmente problemática es el hecho de que alguien que usó una cuenta perteneciente a un mantenedor de XZ Util incrustó el malware en el paquete en lo que parece haber sido una operación de varios años cuidadosamente planificada. en un publicación de blog ampliamente referenciada, El investigador de seguridad Evan Boehs rastreó la actividad maliciosa hasta 2021, cuando un individuo que usaba el nombre Jia Tan creó una cuenta de GitHub y casi de inmediato comenzó a realizar cambios sospechosos en algunos proyectos de código abierto.

La publicación del blog proporciona una cronología detallada de los pasos que Jia Tan y un par de personas más tomaron para generar gradualmente suficiente confianza dentro de la comunidad XZ para realizar cambios en el software y, finalmente, introducir la puerta trasera.

"Toda la evidencia apunta a que una persona utiliza la manipulación social con el único objetivo final de insertar una puerta trasera", le dice Boehs a Dark Reading. "Básicamente, nunca hubo un esfuerzo genuino por mantener el proyecto, sólo para ganar suficiente confianza para insertar [la puerta trasera] silenciosamente".

Normalmente, obtener acceso de confirmación a un repositorio requiere que un individuo establezca un sentido de confiabilidad. A menudo, los proyectos dan acceso a nuevos compromisos a individuos solo cuando es necesario y después de alguna evaluación de riesgos, dice Boehs.

“En este caso, Jia creó una necesidad [aparentemente] legítima de más mantenedores... y luego comenzó a generar confianza. Nuestra sociedad se basa en la confianza y, en ocasiones, algunas personas astutas la explotan”, señala. “Obtener permiso requiere confianza. Se necesita tiempo para establecer la confianza. Jia estuvo ahí a largo plazo”.

Boehs dice que no está claro cuándo exactamente Jia Tan se convirtió en un miembro confiable del repositorio. Pero poco después de su primer compromiso en 2022, Jia Tan se convirtió en un colaborador habitual y actualmente es el segundo más activo en el proyecto. Desde entonces, GitHub suspendió la cuenta de Jia Tan.

Saumitra Das, vicepresidente de ingeniería de Qualys, dice que lo que pasó con XZ Util puede suceder en otros lugares.

"Muchas bibliotecas críticas de código abierto están mantenidas por voluntarios de la comunidad a quienes no se les paga por ello y pueden estar bajo presión debido a sus problemas personales", dice Das.

Los mantenedores que están bajo presión a menudo dan la bienvenida a los contribuyentes que estén dispuestos a dedicar aunque sea un poco de tiempo a sus proyectos. "Con el tiempo, estas personas pueden obtener más control sobre el código", como fue el caso de XZ Utils, dice.

punto_img

Información más reciente

punto_img