Aplicaciones de Instagram y Facebook pueden rastrear cualquier actividad de navegación de los usuarios en iOS
Un investigador de seguridad mostró cómo usar el navegador integrado de las aplicaciones de Instagram y Facebook para iOS permite rastrear las interacciones con sitios web externos.
El investigador advirtió a los usuarios de las aplicaciones de Instagram y Facebook de iOS de Apple que ambas usan un navegador en la aplicación. Este permite a la empresa matriz, Meta, rastrear “cada toque” que hacen los usuarios con sitios web externos a los que se accede a través del software.
Felix Krause, el investigador que reveló los hallazgos describió cómo Meta rastrea a los usuarios en una publicación realizada en su blog. Él afirma que este tipo de seguimiento pone a los usuarios en “varios riesgos”. Krause advirtió que ambas versiones de iOS de las aplicaciones pueden “rastrear cada interacción con sitios web externos. Esto va desde todas las entradas de formulario como contraseñas y direcciones, hasta cada toque” a través de sus navegadores en la aplicación.
Evadiendo ATT
Las preocupaciones de los usuarios de iOS sobre el seguimiento se abordaron con el lanzamiento de iOS 14.5 de Apple en 2021 y una función llamada Transparencia de Seguimiento de Aplicaciones (ATT). El control agregado tenía la intención de exigir a los desarrolladores de aplicaciones que obtuvieran el consentimiento del usuario antes de rastrear los datos generados por aplicaciones de terceros que no son propiedad del desarrollador.
Krause dijo que las aplicaciones para iOS, Facebook e Instagram, están utilizando un “agujero” para evadir las reglas de ATT. Es decir, pueden rastrear la actividad del sitio web dentro de sus navegadores en la aplicación mediante el uso de un código JavaScript personalizado que se usa en ambos navegadores en las aplicaciones.
En otras palabras, cuando un usuario de iOS de Facebook e Instagram hace clic en un enlace dentro de una publicación de Facebook e Instagram (o un anuncio), Meta inicia su propio navegador en la aplicación que luego puede rastrear lo que hace en los sitios externos que visita.
El uso de Meta de una inyección de JavaScript
“La aplicación de Instagram [y Facebook] inyecta su código JavaScript en cada sitio web que se muestra, incluso al hacer clic en los anuncios. Aunque pcm.js no hace esto, inyectar scripts personalizados en sitios web de terceros les permite monitorear todas las interacciones de los usuarios, como cada botón y enlace tocado, selecciones de texto y capturas de pantalla. Asimismo, cualquier entrada de formulario, como contraseñas, direcciones y números de tarjetas de crédito”.
Krause.
Un código PCM.JS, según el investigador, es un archivo JavaScript externo que se inyecta en los sitios web que se ven en el navegador de la aplicación. El código es utilizado por ambas aplicaciones y permite que ambas aplicaciones construyan un puente de comunicación entre el contenido del sitio web en la aplicación y la aplicación host. Puedes encontrar información técnica adicional sobre PCM.JS aquí .
Meta respondió a la investigación de Krause con una declaración publicada por The Guardian :
“Desarrollamos intencionalmente este código para honrar las opciones de las personas [Preguntar para rastrear] en nuestras plataformas… El código nos permite agregar datos de usuarios antes de usarlos con fines de medición o publicidad dirigida. No añadimos ningún píxel. El código se inyecta para que podamos agregar eventos de conversión de píxeles. Para las compras realizadas a través del navegador en la aplicación, buscamos el consentimiento del usuario para guardar la información de pago con el fin de autocompletar”.
Navegadores en las aplicaciones y los riesgos de privacidad
Según Krause, el uso de navegadores integrados en aplicaciones, ya sea de Meta o de otra empresa, presenta una serie de riesgos para la privacidad. Para empezar, podría permitir que una empresa recopile análisis del navegador, como toques, entrada, comportamiento de desplazamiento y copiar y pegar datos sin el consentimiento del usuario.
Una empresa también podría utilizar los navegadores integrados en la aplicación como escapatoria para robar las credenciales de los usuarios y las claves API utilizadas en los servicios de host o inyectar anuncios y enlaces de referidos para desviar los ingresos publicitarios de los sitios web. Si bien cita estos como ejemplos, Krause no acusa a Meta de ninguna de estas acciones.
“Según tengo entendido, todas [estas preocupaciones de privacidad] no serían necesarias si Instagram abriera el navegador predeterminado del teléfono, en lugar de habilitar y usar el navegador personalizado en la aplicación”.
Preguntas para eliminar el FUD
Si bien la investigación de Krause ha provocado indignación entre los activistas de la privacidad. Él moderó su investigación con respuestas a las preguntas planteadas por su investigación.
¿Puede Instagram/Facebook leer todo lo que hago en línea? ¡No! Instagram solo puede leer y ver tus actividades en línea cuando abres un enlace o un anuncio desde sus aplicaciones.
¿Facebook realmente roba mis contraseñas, direcciones y números de tarjetas de crédito? ¡No! No probé los datos exactos que rastrea Instagram, pero quería mostrar el tipo de datos que podrían obtener sin que lo supieras. Como se mostró en el pasado, si es posible que una empresa obtenga acceso a los datos de forma legal y gratuita, sin pedir permiso al usuario, lo rastreará .
¿Instagram está haciendo esto a propósito? No puedo decir cómo se tomaron las decisiones internamente. Todo lo que puedo decir es que la creación de su propio navegador en la aplicación lleva un tiempo no trivial para programar y mantener, mucho más que simplemente usar la alternativa de privacidad y fácil de usar que ya se ha incorporado en el iPhone durante los últimos 7 años.
Krause ofreció consejos a los usuarios de las aplicaciones preocupados por la privacidad. Él sugiere que, “siempre que abras un enlace de Instagram, Facebook o Messenger, asegúrate de hacer clic en los puntos en la esquina para abrir la página en Safari”. Safari, recomienda, porque ya bloquea por defecto las cookies de terceros .
El investigador también tiene cuidado de señalar que no tiene una lista precisa de los datos que ambas aplicaciones envían a Meta. “Tengo pruebas de que las aplicaciones de Instagram y Facebook ejecutan activamente comandos de JavaScript para inyectar un SDK de JavaScript adicional sin el consentimiento del usuario, además de rastrear las selecciones de texto del usuario”.
Escueta respuesta de Apple
En julio, Apple mejoró su juego de privacidad y anunció una función llamada Modo de Bloqueo. Este se ofrece como “un nivel de seguridad extremo y opcional para los muy pocos usuarios que, por quiénes son o lo que hacen, pueden ser atacados personalmente por algunas de las amenazas digitales más sofisticadas, como las de NSO Group y otras empresas privadas que desarrollan spyware mercenario patrocinado por el estado”.
El investigador presentó lo que se llama un Informe de errores de la comunidad Open Radar con Apple el mes pasado. Krause afirmó que “el modo de bloqueo de iOS permite vistas web personalizadas en la aplicación, las aplicaciones host pueden robar información”.
Apple respondió en un comentario al informe simplemente diciendo “Gracias por su informe. Esto no es para lo que fue diseñado el modo de bloqueo “.
Meta respondió directamente al informe de Krause indicando que PCM.JS de JavaScript se usa para “ayudar a agregar eventos, es decir, compras en línea, antes de que esos eventos se usen para publicidad dirigida y medición para la plataforma de Facebook”.
Meta le explicó a Krause que respeta la regla de transparencia de seguimiento de aplicaciones (ATT) de Apple, que requiere que los desarrolladores de aplicaciones obtengan permiso antes de realizar el seguimiento. El investigador señala que la exclusión voluntaria del seguimiento del navegador en la aplicación de Meta depende del uso de un sitio web de terceros de lo que se llama Meta Pixel. Un Meta Pixel es un “fragmento de código JavaScript que permite rastrear la actividad de los visitantes en su sitio web”. Esto según la descripción en la página para desarrolladores de Meta .
El investigador reconoce que Meta está siguiendo las reglas de ATT.
“Según Meta, el script inyectado (pcm.js) ayuda a Meta a respetar la opción de exclusión voluntaria de ATT del usuario, que solo es relevante si el sitio web renderizado tiene Meta Pixel instalado”.
Krause.