Durante un ataque en la cadena de suministro, los atacantes aprovechan las dependencias de terceros para infiltrarse en el sistema o la red de un objetivo.
Después de leer este artículo podrás:
Contenido relacionado
Suscríbase a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar enlace del artículo
Un ataque en la cadena de suministro utiliza herramientas o servicios de terceros, lo que se conoce colectivamente "cadena de suministro", para infiltrarse en el sistema o la red de un objetivo. Estos ataques se denominan a veces "ataques de valor-cadena" o "ataques a terceros".
Por naturaleza, los ataques en la cadena de suministro son indirectos: se dirigen a las dependencias de terceros de las que dependen sus objetivos finales (con frecuencia, sin ser conscientes de ello). Una dependencia es un programa o trozo de código (a menudo escrito en JavaScript) de proveedores de terceros que mejora la funcionalidad de la aplicación. Por ejemplo, una dependencia utilizada por un minorista de comercio electrónico podría ayudar a ejecutar bots de chat de asistencia al cliente o capturar información sobre la actividad de los visitantes del sitio. Se pueden encontrar cientos, si no miles, de estas dependencias en una amplia gama de software, aplicaciones y servicios que los objetivos utilizan para mantener sus aplicaciones y redes.
En un ataque en la cadena de suministro, un atacante podría tener como objetivo un proveedor de ciberseguridad y añadir código malicioso (o 'malware') a su software, que luego se envía en una actualización del sistema a los clientes de ese proveedor. Cuando los clientes descargan la actualización, creyendo que procede de una fuente de confianza, el malware concede a los atacantes acceso a los sistemas e información de esos clientes. (Así es básicamente como se llevó a cabo el ataque SolarWinds contra 18 000 clientes en 2020).
Antes de llevar a cabo un ataque en la cadena de suministro, los atacantes necesitan obtener acceso al sistema, aplicación o herramienta de terceros del que quieren aprovecharse (también conocido como ataque "ascendente"). Esto se puede hacer mediante el uso de credenciales robadas, dirigiéndose a los vendedores con acceso temporal al sistema de una organización, o aprovechándose de una vulnerabilidad de software desconocida, entre otros métodos.
Una vez asegurado el acceso a esta dependencia de terceros, el ataque "descendente" (el que llega al objetivo final, a menudo a través de su navegador o dispositivo) puede llevarse a cabo de diversas maneras.
Si volvemos al ejemplo anterior, el ataque "ascendente" se produce cuando el atacante añade código malicioso al software de un proveedor de ciberseguridad. Luego, el ataque "descendente" se realiza cuando ese malware se ejecuta en los dispositivos de los usuarios finales mediante una actualización rutinaria del software.
Los ataques en la cadena de suministro pueden dirigirse a hardware, software, aplicaciones o dispositivos gestionados por terceros. Algunos tipos de ataques comunes son los siguientes:
Los ataques basados en el navegador ejecutan código malicioso en los navegadores de los usuarios finales. Los atacantes pueden tener como objetivo las bibliotecas de JavaScript o las extensiones del navegador que ejecutan automáticamente el código en los dispositivos de los usuarios. De forma alternativa, también pueden robar información confidencial del usuario que se almacena en el navegador (mediante cookies, almacenamiento de la sesión, etc.).
Los ataques de software ocultan el malware en las actualizaciones de software. Al igual que en el ataque de SolarWinds, los sistemas de los usuarios pueden descargar estas actualizaciones automáticamente, lo cual permite a los atacantes infectar sus dispositivos y llevar a cabo otras acciones.
Los ataques de código abierto aprovechan las vulnerabilidades del código abierto. Los paquetes de código abierto pueden ayudar a las organizaciones a acelerar el desarrollo de aplicaciones y software, pero también pueden permitir a los atacantes manipular vulnerabilidades conocidas u ocultar malware que luego se utiliza para infiltrarse en el sistema o dispositivo del usuario.
Los ataques de JavaScript aprovechan las vulnerabilidades existentes en el código JavaScript o incrustan scripts maliciosos en las páginas web que se ejecutan automáticamente cuando las carga un usuario.
Los ataques Magecart utilizan un código JavaScript malicioso para sustraer la información de las tarjetas de crédito de los formularios de pago de los sitios web, que suelen estar gestionados por terceros. Esto también se conoce como "formjacking".
Los ataques de abrevadero identifican sitios web que son utilizados habitualmente por un gran número de usuarios (por ejemplo, un desarrollador de sitios web o un sitio web gubernamental). Los atacantes pueden utilizar una serie de tácticas para identificar las vulnerabilidades de seguridad en el sitio, y luego utilizar esas vulnerabilidades para entregar el malware a usuarios desprevenidos.
El criptojacking permite a los atacantes robar los recursos informáticos necesarios para minar criptomonedas. Pueden hacerlo de varias maneras: inyectando código malicioso o anuncios en un sitio web, incrustando scripts de criptominería en repositorios de código abierto o utilizando tácticas de phishing para entregar enlaces infectados con malware a usuarios desprevenidos.
Cualquier ataque que se aproveche de o manipule software, hardware o aplicaciones de terceros se considera un ataque en la cadena de suministro. Las organizaciones suelen trabajar con diversos proveedores externos, cada uno de los cuales puede utilizar decenas de dependencias en sus herramientas y servicios.
Por esta razón, puede ser difícil, si no imposible, que las organizaciones se aíslen completamente de los ataques en la cadena de suministro. Sin embargo, hay varias estrategias que las organizaciones pueden utilizar para defenderse de forma preventiva de los métodos de ataque más habituales:
*Detener las vulnerabilidades de día cero sigue siendo una tarea particularmente difícil para la mayoría de las organizaciones. En 2021 se descubrió una vulnerabilidad de día cero en Log4j, una biblioteca de software de código abierto que ayuda a los desarrolladores a registrar datos en las aplicaciones Java. Esto permitió a los atacantes infectar y tomar el control de cientos de millones de dispositivos, desde los que luego llevaron a cabo otros ataques, incluyendo ataques de ransomware y minado ilegal de criptomonedas. Leer más sobre cómo Cloudflare se defiende de la vulnerabilidad Log4j.
Cloudflare Zero Trust ayuda a frustrar los ataques en la cadena de suministro al bloquear el acceso a sitios web potencialmente peligrosos, impidiendo las cargas y descargas maliciosas y auditando las aplicaciones SaaS (tanto las aprobadas como las no aprobadas) en tu organización.
Cloudflare Zaraz es un gestor de herramientas de terceros que carga las aplicaciones en la nube, así que el código malicioso no puede ejecutarse en el navegador del usuario final. Zaraz proporciona a los usuarios visibilidad y control sobre los scripts de terceros que se ejecutan en sus sitios, lo cual les permite aislar y bloquear los comportamientos de riesgo.