Pasar al contenido principal
Mapa del mundo oscuro con líneas blancas que conectan puntos y una propagación de color rojo
Los ataques a la cadena de suministro: cuando la confianza es el punto débil

En 2024, es probable que Internet estuviera a un paso de sufrir una catástrofe de grandes proporciones. No por culpa de un ransomware, ni de una filtración masiva de datos, ni de un nuevo grupo de hackers ultrasofisticado.

El peligro provenía de un componente de código abierto prácticamente desconocido para el gran público, pero muy utilizado: XZ Utils.

Esto me lleva a hablaros de los ataques a la cadena de suministro.

Un ataque a la cadena de suministro es aquel que no se dirige directamente a la víctima final, sino que pasa por un intermediario: un proveedor, un programa, una actualización, una biblioteca de código abierto o incluso un proveedor de servicios técnicos. El objetivo es sencillo: comprometer un elemento que ya se utiliza y se considera fiable para afectar indirectamente a todos aquellos que confían en él.

En lugar de forzar la entrada en una empresa bien protegida, los atacantes se centran en un eslabón de su sistema de información. Y eso es precisamente lo que hace que estos ataques sean especialmente eficaces. Un programa firmado inspira confianza. Una actualización oficial parece legítima. Un proveedor ya integrado en el sistema suele gozar de amplios permisos. En este contexto, los mecanismos de seguridad tradicionales se vuelven más flexibles y pierden gran parte de su eficacia, ya que las actividades maliciosas se asemejan, en apariencia, a comportamientos normales.

De hecho, esto es lo que hace que los ataques a la cadena de suministro sean tan preocupantes hoy en día. Las empresas modernas dependen de una inmensa cantidad de componentes externos: soluciones SaaS, servicios en la nube, bibliotecas de código abierto, herramientas de administración, dependencias de software, proveedores… Cada capa adicional aporta nuevas funcionalidades, pero también añade un nuevo punto de confianza que puede ser objeto de explotación.

Uno de los ejemplos recientes y más conocidos es el caso de SolarWinds en 2020. Unos atacantes lograron comprometer el proceso de actualización de Orion, un software de supervisión utilizado en todo el mundo. A continuación, se distribuyó una puerta trasera directamente a través de una actualización oficial del editor. Resultado: miles de organizaciones instalaron por sí mismas el software comprometido, incluidas agencias gubernamentales estadounidenses y grandes empresas estratégicas. Este caso causó un gran revuelo y marcó un punto de inflexión en la ciberseguridad moderna, ya que demostró que una simple relación de confianza podía servir de superficie de ataque para una propagación masiva.

Pero el caso de XZ Utils es probablemente aún más fascinante y preocupante.

Porque en este caso no se trata simplemente de un sistema comprometido o de una actualización maliciosa. El ataque parece haberse gestado a lo largo de varios años, con un enfoque casi imperceptible. En noviembre de 2021, un desarrollador que utilizaba el seudónimo «Jia Tan» comenzó a participar progresivamente en el proyecto de código abierto. Al principio, nada fuera de lo normal: contribuciones técnicas, correcciones de errores, participación activa en el mantenimiento, intercambios con la comunidad… Poco a poco, se ganó la confianza del proyecto y se convirtió en un colaborador importante.

Y ahí es donde esta historia se vuelve especialmente interesante, porque pone de relieve un problema mucho más amplio que la mera ciberseguridad técnica. Una parte enorme de la infraestructura digital mundial se basa hoy en día en proyectos de código abierto mantenidos por muy pocas personas, a veces incluso por una sola. Componentes críticos que se utilizan en todas partes pueden depender de desarrolladores aislados, a menudo bajo presión, con escasa financiación y que se enfrentan a una carga de trabajo enorme. En el caso de XZ Utils, el mantenedor histórico parecía precisamente agotado y relativamente aislado, lo que habría facilitado esa ganancia progresiva de confianza.

Una vez lo suficientemente integrado en el proyecto, se empieza a introducir código malicioso extremadamente sofisticado en XZ Utils. La primera versión (5.6.0) en la que se encuentra código malicioso se publicó en febrero de 2024. La puerta trasera era discreta, estaba ofuscada y diseñada para permanecer prácticamente invisible. El objetivo era comprometer OpenSSH para permitir el acceso remoto a sistemas Linux críticos. Probablemente, lo más impresionante de este caso sea el nivel de sofisticación del ataque: el código malicioso estaba oculto en el propio proceso de compilación, lo que hacía que su detección resultara especialmente compleja.

Y, sin embargo, este ataque se descubrió casi por casualidad. Unas anomalías inusuales en el rendimiento durante las pruebas de rendimiento llamaron la atención del ingeniero de Microsoft Andrés Freund en marzo de 2024, quien comenzó a investigar. Al indagar más a fondo, descubrió poco a poco la presencia del código malicioso antes de que este se implementara de forma masiva en entornos de producción. Al día siguiente de su descubrimiento, lo dio a conocer y la vulnerabilidad recibió el número CVE-2024-3094 con una puntuación de gravedad de 10,0. El desarrollador «Jia Tan» desapareció por completo a partir de entonces. Existen teorías que apuntan a que un Estado estaría detrás de este intento, pero ninguna investigación ha podido llegar a ninguna conclusión.

Este caso ha supuesto un auténtico revuelo en el sector, ya que demuestra que los ataques modernos a la cadena de suministro ya no se basan únicamente en la explotación de vulnerabilidades técnicas. Ahora se aprovechan de la complejidad de los ecosistemas digitales, de las dependencias invisibles entre programas, pero también de las debilidades humanas: el cansancio, el aislamiento, la falta de recursos o la confianza depositada en los colaboradores.

Hoy en día, ninguna empresa controla realmente la totalidad de su cadena de software. Entre las dependencias de código abierto, los servicios de terceros, los proveedores de la nube y las herramientas externas que se integran a diario en los sistemas de información, la superficie de ataque se ha vuelto gigantesca. Y cuanto más crece esta dependencia, más estratégicos se vuelven los ataques a la cadena de suministro para los ciberdelincuentes y los grupos estatales.

Precisamente por esta razón, las empresas deben ahora ir mucho más allá en su enfoque de la ciberseguridad. Resulta imprescindible cartografiar sus dependencias, supervisar los accesos de terceros, controlar las actualizaciones críticas, aplicar los principios de «Zero Trust» o incluso reforzar la visibilidad sobre su cadena de suministro de software.

↑