Los investigadores de seguridad de Secure Annex han señalado un aumento en la popularidad de un nuevo método de monetización de extensiones del navegador, en el que las extensiones de los usuarios forman una red distribuida utilizada para scraping (indexación de contenido de sitios web). Los sistemas de los usuarios se utilizan como bots web y proxies para descargar contenido de sitios; la extensión del navegador instalada recibe instrucciones de un servidor externo sobre la indexación de sitios, después de lo cual, en un iframe oculto, inicia la descarga del contenido solicitado y envía los datos obtenidos a un servicio externo. En los catálogos de Chrome, Firefox y Edge, se ha identificado el uso de este esquema de monetización en 245 extensiones, con un total de 909 mil instalaciones.
La operación se organiza mediante la inclusión en el código de las extensiones del navegador de una biblioteca de JavaScript de código abierto llamada mellowtel.js, que se proporciona bajo la licencia LGPLv3. La biblioteca es desarrollada por el proyecto Mellowtel, que promociona una nueva plataforma de monetización que, además de en extensiones del navegador, puede aplicarse en programas basados en los frameworks Flutter y Electron. La idea principal de la plataforma es que los desarrolladores de extensiones del navegador y aplicaciones pueden ganar dinero no a través de la publicidad o métodos cuestionables, como la venta de datos que comprometen la privacidad de los usuarios, sino realizando tareas de indexación de contenido web para entrenar sistemas de IA.
La necesidad de las empresas de IA por datos para entrenar modelos ha llevado a la aparición de numerosos bots que indexan sitios sin una limitación razonable en la intensidad de las solicitudes y que ignoran las reglas de indexación de robots.txt. Estos bots generan una enorme carga parasitaria sobre servidores, interfiriendo en el funcionamiento normal de los sistemas y robando tiempo a los administradores, lo que ha llevado a que en los últimos tiempos se comience a bloquearlos activamente (por ejemplo, la red de distribución de contenido Cloudflare ha implementado una opción para bloquear este tipo de bots por defecto).
Las empresas de IA están dispuestas a pagar por la indexación, y la plataforma Mellowtel ha proporcionado la oportunidad de satisfacer esta necesidad mediante la participación de usuarios comunes en el proceso de recopilación de datos de sitios web. La plataforma comparte el 55% de los ingresos obtenidos de la colaboración con empresas de IA con los propietarios de extensiones. El proyecto es completamente legítimo y enfatiza que la participación en el scraping debe ser voluntaria y activarse solo después de un consentimiento explícito del usuario. Se supone que el usuario, como muestra de agradecimiento a los desarrolladores de la extensión, puede habilitar el modo de scraping y brindarle así apoyo financiero indirecto.
El problema es que no todos los desarrolladores de extensiones están dispuestos a trabajar de manera honesta y abierta. Algunas extensiones intentan habilitar la monetización de Mellowtel sin que el usuario se dé cuenta, eludiendo las reglas del servicio, lo que lleva a que el usuario se convierta en partícipe de una red distribuida para la descarga de datos de sitios web sin su consentimiento explícito. De las 45 extensiones de Chrome que utilizan Mellowtel, 12 ya han sido bloqueadas por Google por actividad maliciosa. En el catálogo de Microsoft, de 129 extensiones, 8 han sido bloqueadas, y en el catálogo de Mozilla, de 71 extensiones, 2 han sido bloqueadas. Las razones de eliminación no se detallan, pero no se descarta que el uso incorrecto de Mellowtel haya sido la causa.
El desarrollador de Mellowtel ha declarado que para resolver el problema del posible habilitamiento oculto del scraping, el servicio pasará a una verificación obligatoria de todas las extensiones que utilicen Mellowtel, asegurándose de que el scraping esté desactivado por defecto (activación solo después de un consentimiento explícito del usuario) y de que exista un botón visible para desactivarlo. Las solicitudes de extensiones que no hayan pasado la verificación serán puestas en cuarentena e ignoradas.
Durante el funcionamiento de las extensiones que utilizan la biblioteca Mellowtel, se establece una conexión websocket con un servidor externo alojado en la nube de AWS, a través del cual se transmiten datos sobre la disponibilidad del usuario, el país, el ancho de banda de la conexión y la activación del soporte de scraping por parte del usuario. Periódicamente, se envían solicitudes heartbeat a través de la conexión para verificar la disponibilidad del cliente. Cuando aparecen tareas de carga de contenido, se inserta un iframe oculto en las páginas que el usuario está visualizando, desde el cual se realiza el scraping.
Para cargar páginas externas desde el iframe insertado al visualizar otros sitios, la biblioteca elude temporalmente las protecciones contra la carga de contenido de terceros que brinda el navegador, eliminando los encabezados HTTP Content-Security-Policy y X-Frame-Options, y los restablece después de que se carga la página requerida. La eliminación se realiza mediante la modificación de solicitudes de red utilizando la API declarativeNetRequest (para acceder a esta API, la extensión solicita un permiso adicional). La desactivación temporal de los encabezados Content-Security-Policy y X-Frame-Options afecta negativamente a la seguridad, ya que elimina durante un tiempo la protección estándar contra ataques de scripting entre sitios (XSS).
La plataforma Mellowtel está afiliada a la empresa Olostep, que ofrece una API para scraping capaz de eludir protecciones contra bots y realizar hasta 100,000 solicitudes por minuto al mismo tiempo. Esta actividad del servicio, aplicada en el contexto de un solo sitio, puede compararse con la realización de un ataque DoS distribuido. El servicio también puede potencialmente utilizar a los usuarios como proxies para extraer contenido de sitios privados, accesibles solo en subredes a las que el usuario obtiene acceso a través de VPN.
Fuente: opennet.ru
