# Ataque a la cadena de suministro

> Hackear a un proveedor confiable para que sus actualizaciones lleven el ataque a todos.

- Nivel: Intermedio
- Temas: Seguridad, Software
- URL: https://tidbit.legios.com.ar/es/supply-chain-attack/
- En inglés: [Supply chain attack](https://tidbit.legios.com.ar/supply-chain-attack/)

El software de hoy se arma con piezas hechas por otros: bibliotecas de código abierto que trae un gestor de paquetes, herramientas de compilación, servicios en la nube, servidores de actualizaciones. Un **ataque a la cadena de suministro** no va directo contra el objetivo final. Compromete una de esas piezas de confianza y deja que el flujo normal de actualizaciones lleve el código malicioso a cada empresa y persona que está más abajo.

Dos casos muestran el patrón. En un ataque descubierto en 2020, unos intrusos habían metido una puerta trasera en actualizaciones de SolarWinds Orion, un producto de monitoreo de redes que miles de organizaciones, incluidas agencias del gobierno de Estados Unidos, instalaron como un trámite más. En 2024 un desarrollador notó que `xz`, una biblioteca de compresión presente en muchos sistemas Linux, tenía una puerta trasera escondida, puesta por un colaborador que pasó unos dos años ganándose la confianza de los mantenedores. También abundan las versiones más simples: publicar un paquete malicioso con un nombre que difiere en una letra de uno popular, o robarle la contraseña a un mantenedor y subir una versión envenenada.

Es difícil defenderse porque el código llega firmado, desde la fuente esperada y por el canal en el que se supone que tenés que confiar. Las respuestas apuntan a saber y verificar de qué dependés: fijar versiones exactas, llevar un inventario de componentes (un SBOM), chequear firmas y procedencia con marcos como SLSA, proteger las cuentas de los mantenedores con un 2FA fuerte y limitar lo que cada componente puede hacer.

## Una analogía

Envenenar la harina en el molino en vez de entrar a cada panadería. Cada panadero sigue su receta al pie de la letra y aun así vende pan malo, porque el problema entró con un ingrediente en el que tenía todas las razones para confiar.

## Para quedarse

- El atacante compromete a un proveedor y las actualizaciones normales esparcen el ataque.
- SolarWinds (2020) y la puerta trasera de `xz` (2024) son los ejemplos de manual.
- Las dependencias de código abierto y los sistemas de compilación son blancos frecuentes.
- Defensas: versiones fijadas, SBOM, compilaciones firmadas y cuentas de mantenedores protegidas.

## Para seguir leyendo

- [Supply chain attack en Wikipedia (en inglés)](https://en.wikipedia.org/wiki/Supply_chain_attack)
- [SLSA: un marco para la integridad de la cadena de suministro de software (en inglés)](https://slsa.dev/)
- [La puerta trasera de XZ Utils en Wikipedia (en inglés)](https://en.wikipedia.org/wiki/XZ_Utils_backdoor)

## Términos relacionados

- [Código abierto](https://tidbit.legios.com.ar/es/open-source/): Software cuyo código cualquiera puede leer, usar, cambiar y compartir.
- [Biblioteca de software](https://tidbit.legios.com.ar/es/software-library/): Código ya hecho para una tarea común que se enchufa dentro de otros programas.
- [Compilador](https://tidbit.legios.com.ar/es/compiler/): Un programa que traduce código fuente a instrucciones que la computadora corre directo.
- [Computación en la nube](https://tidbit.legios.com.ar/es/cloud-computing/): Alquilar computadoras por internet en vez de comprar las tuyas.
- [Servidor](https://tidbit.legios.com.ar/es/server/): Una computadora cuyo trabajo es responder pedidos de otras computadoras, todo el día.
- [Linux](https://tidbit.legios.com.ar/es/linux/): Un sistema operativo libre y de código abierto que mueve la mayoría de los servidores.
- [Paquete](https://tidbit.legios.com.ar/es/packet/): El pedacito en que se corta cada dato de internet antes de viajar.
- [Autenticación de dos factores](https://tidbit.legios.com.ar/es/two-factor-authentication/): Una segunda prueba de que sos vos, para que una contraseña robada no alcance.
