Home Blogs El ataque de la cadena de suministro de Polyfill.io y cómo proteger su sitio
Applications

El ataque de la cadena de suministro de Polyfill.io y cómo proteger su sitio

About The Author

Outline

A estas alturas, es probable que hayas oído hablar de un importante ataque a la cadena de suministro de software que amenaza a muchos sitios web utilizando el servicio de código abierto polyfill.io. Este artículo le dará algunos antecedentes sobre el problema, así como acciones actualizadas que puede tomar para garantizar que sus usuarios estén protegidos. Si bien los servicios de Edgio no se ven afectados por este ataque, nuestro equipo de seguridad está listo para ayudar a cualquier cliente que esté preocupado de haber utilizado polyfill.io en su sitio web o aplicación.

Antecedentes en polyfill.io

Para entender el reciente ataque de la cadena de suministro polyfill.io, primero debemos definir el término “polyfil”. Polyfill se refiere al código que agrega funcionalidad moderna a los navegadores más antiguos que carecen de soporte nativo para las características web más recientes. Permite a los desarrolladores ofrecer una experiencia de usuario consistente en diversos navegadores, particularmente aquellos más lentos para adoptar los últimos estándares web. En el caso del ataque polyfill.io, los desarrolladores usaron polyfill para agregar funcionalidad JavaScript que no es compatible con navegadores antiguos.

Polyfill.io es un servicio ampliamente utilizado que detecta automáticamente el navegador del usuario final y sirve los polyfills necesarios para garantizar la compatibilidad con las tecnologías web modernas. Al incrustar scripts desde cdn.polyfill.io (CDN de código abierto de polyfill.io), los desarrolladores podrían proporcionar polyfills sin la molestia de la administración manual, simplificando el proceso de mantener la compatibilidad del navegador.

Sin embargo, a principios de este año polyfill.io fue adquirido por Funnull, una empresa relativamente desconocida y supuestamente china. Parece que la adquisición marcó estratégicamente el comienzo de un ataque significativo a la cadena de suministro. A finales de junio de 2024, la empresa de seguridad Sansec advirtió que el servicio se utilizó para inyectar código malicioso en miles de sitios web, redirigiendo a los usuarios a sitios de estafa y exponiéndolos a posibles robos de datos y acciones no autorizadas.

¿Quién se ve afectado por el ataque Polyfill.io?

El impacto de este ataque a la cadena de suministro es enorme y afecta a más de 100.000 sitios web en todo el mundo. Cualquier sitio web que incruste scripts de cdn.polyfill.io está en riesgo. El script malicioso introducido por Funnull redirigió a los usuarios a sitios de estafa, permitió el robo de datos y posiblemente permitió la ejecución remota de código. En particular, este ataque también comprometió a los usuarios móviles y a los dispositivos específicos en momentos particulares, evadiendo la detección mediante herramientas de seguridad y análisis.

El ataque de la cadena de suministro: Lo que necesitas saber

Si bien hay muchas posibilidades nefastas que los atacantes podrían tomar después de comprometer scripts de terceros, las más comunes incluyen:

  • Redirección a sitios maliciosos: Los sitios web que usan scripts comprometidos pueden redirigir a los usuarios a sitios de estafa, como Google Analytics falsos o sitios de apuestas deportivas. Estas redirecciones maliciosas comprometen la confianza del usuario y pueden provocar ataques de phishing.
  • Robo de datos y ejecución de código: El script modificado puede robar datos confidenciales de los usuarios y realizar la ejecución de código no autorizado, lo que supone graves riesgos para la integridad del sitio web y la privacidad del usuario. Los scripts no autorizados pueden exfiltrar datos confidenciales del usuario, como información personal, detalles de tarjetas de crédito y credenciales de inicio de sesión, a servidores externos.
  • Cross-Site Scripting (XSS): Los scripts maliciosos pueden ejecutarse en el contexto del navegador del usuario, lo que lleva al secuestro de sesión, la distribución de malware y, como se mencionó anteriormente, la exfiltración de datos.
  • Desfiguración del sitio: Los atacantes pueden modificar la apariencia o el contenido de una página web, lo que provoca daños a la marca y la pérdida de confianza del usuario.
  • Degradación del rendimiento: Los scripts maliciosos o no autorizados pueden causar problemas significativos de rendimiento de las aplicaciones, ralentizando los sitios web y proporcionando experiencias de usuario deficientes.

¿Qué puede hacer para proteger su sitio y sus usuarios?

Teniendo en cuenta este ataque y la gran dependencia de bibliotecas de terceros en las aplicaciones modernas de hoy en día, los desarrolladores y administradores de sitios deben tomar medidas inmediatas para proteger sus sitios web y usuarios. Aquí está nuestra última guía:

  • Identificar sitios con Polyfill.io: El primer paso para proteger su sitio y los usuarios de este ataque es saber si su código hace referencia a polyfill.io.

Si tiene una solución de prueba de seguridad de aplicaciones estáticas (SAST), podría ejecutar una consulta para buscar referencias a polyfill.io (la sintaxis puede variar, pero el siguiente Regex le da la idea):

Resultado = FindByRegex(@\»https?://(cdn.polyfill.io)\»);

Además, las herramientas de Análisis de Código Estático (SCA), que se centran en identificar y administrar componentes de código abierto y sus vulnerabilidades, pueden ayudar. Las herramientas de SCA mantienen bases de datos de vulnerabilidades conocidas asociadas a bibliotecas y marcos. Al escanear su base de código, las herramientas de SCA pueden marcar cualquier dependencia (incluyendo polyfill.io) con problemas de seguridad conocidos.

Si no tiene SAST o SCA en su lugar, le recomendamos seguir estos pasos desde ZAP, un proyecto GitHub Top 1000 de mantenimiento activo dedicado a las pruebas de seguridad.

docker run -t zaproxy/zap-stable zap.sh -cmd -addoninstall pscanrulesBeta -zapit https://www.example.com/

El comando de una línea utilizado por la Detección de scripts Polyfill.io de ZAP para comprobar si hay scripts que se sirven desde el dominio polyfill.io (requiere Docker); para un análisis más robusto, ejecute un análisis de línea base ZAP .

  • Implementar la protección del lado del cliente: La protección del lado del cliente ayuda a proteger contra los ataques de la cadena de suministro mediante el monitoreo y control de scripts y llamadas API de terceros en tiempo real, evitando la carga de código malicioso y bloqueando interacciones no autorizadas con hosts maliciosos.

La solución de protección del lado del cliente de Edgio permite a los equipos implementar un modelo de seguridad positivo al permitir que solo se ejecuten scripts definidos de terceros en los navegadores del cliente.

client-side-protection-policy-example

Ejemplo de una política de protección del lado del cliente. Se puede aplicar un modelo de seguridad positivo dirigiendo a qué fuentes de script se pueden llamar en la lista de permisos.

  • Elimine los scripts de Polyfill.io: Elimine cualquier referencia a cdn.polyfill.io de su código. Reemplácelos con fuentes alternativas y confiables para los polifills o suspenda el uso de los polifills por completo, ya que los navegadores modernos rara vez los requieren.

Las funciones Edgio’s Edge también se pueden utilizar para reescribir dinámicamente cualquier referencia de polirelleno hecha por su sitio a cualquier URL segura (disponible en nuestro repositorio de GitHub aquí). Esta capa de seguridad adicional se puede considerar como un “parche virtual” simple y fácil de implementar, brindando protección valiosa y tiempo de compra para que sus equipos de desarrollo regresen y eliminen y reemplacen referencias a la biblioteca comprometida.

  • Monitorea los compromisos: Revisa regularmente tu sitio web para detectar signos de compromiso, como redirecciones no autorizadas o exfiltración de datos. Implemente herramientas de monitoreo de seguridad para detectar actividades inusuales y mantenerse al día con los avisos y actualizaciones de seguridad relacionados con las bibliotecas y servicios que utiliza.
  • Cambie a Servicios de confianza: Si su caso de uso requiere polyfills, busque servicios alternativos de organizaciones con un historial comprobado. Sin embargo, usted sabe lo que dicen acerca de las garantías en la vida, por lo que es importante utilizar los controles y las mejores prácticas mencionadas anteriormente para reducir el riesgo. Después de todo, los desarrolladores usarán lo que piensan que funciona – polyfill.io era un servicio bastante popular – y no todos tienen un fondo de codificación seguro.

Conclusión

El ataque a la cadena de suministro Polyfill.io sirve como un recordatorio crudo de las vulnerabilidades inherentes a los componentes de software de terceros. En Edgio, enfatizamos la importancia de proteger sus aplicaciones web a través de una sólida seguridad multicapa. Nuestro servicio de protección de aplicaciones web y API (WAAP), que incluye la protección del lado del cliente para detectar y bloquear scripts maliciosos que se ejecutan en navegadores del lado del cliente, garantiza una protección continua contra ataques de la cadena de suministro y otras amenazas en evolución.

Además, nuestra nueva solución de gestión de superficies de ataque (ASM) proporciona una visibilidad completa en toda su huella web, lo que le permite identificar y mitigar las vulnerabilidades de forma proactiva, protegiéndose contra posibles exploits antes de que los atacantes puedan aprovecharlas.

Por último, los servicios de seguridad administrados de Edgio también están listos para ayudar a implementar o administrar completamente la seguridad de su aplicación web. Con las operaciones de seguridad de 24/7, un equipo dedicado a la inteligencia contra amenazas y arquitectos de seguridad asignados, puede estar seguro de que sus activos web están continuamente monitoreados y protegidos contra las últimas amenazas, lo que permite a sus equipos centrarse en la innovación mientras nosotros manejamos sus necesidades de seguridad.

Si tiene alguna pregunta o necesita ayuda para proteger sus sitios web de los ataques de la cadena de suministro, no dude en comunicarse con los expertos en seguridad de Edgio.