En los últimos días se ha viralizado el hilo de un científico de datos llamado Felix Krause en el que asegura lo siguiente: que empresas como TikTok e Instagram pueden registrar lo que hacemos y escribimos en distintas páginas webs si las abrimos desde su aplicación, incluidas contraseñas o datos sensibles como información bancaria. Esto se debería a que usan su propio navegador interno en la aplicación, en vez de usar uno externo como Google Chrome o Mozilla Firefox.
🔥 New Post: Announcing InAppBrowser - see what JavaScript commands get injected through an in-app browser
— Felix Krause (@KrauseFx) August 18, 2022
👀 TikTok, when opening any website in their app, injects tracking code that can monitor all keystrokes, including passwords, and all taps.https://t.co/TxN1ezZX71 pic.twitter.com/pQcX5vrEXc
Medios internacionales como The New York Times, The Guardian o Forbes se han hecho eco de la noticia y especialistas en privacidad han expuesto que esta es una práctica abusiva por parte de las plataformas. ¿Qué tiene de preocupante o en qué consiste realmente el asunto y por qué se acusa a TikTok o Instagram de “espiarnos”? Pues vamos a verlo con más detalle.
Navegador interno vs navegador externo: ¿cuál es la diferencia?
Para enterarnos de todo este embrollo, lo primero que tenemos que entender es la diferencia entre un navegador interno y uno externo. Cuando haces clic en un hipervínculo o enlace, ya sea en un móvil u ordenador, se abrirá una pestaña que muestra una visualización de una página web. Eso es un navegador, y algunos de los más conocidos son Chrome, de Google; Firefox, de Mozilla; Safari, de Apple; o Edge, de Microsoft. Son la ventana que abrimos cuando queremos asomarnos al mundo online y cada uno tiene su propia aplicación para navegar.
Con la popularización de otras aplicaciones que también generan contenido, como las redes sociales, se empezaron a desarrollar y usar los llamados in-app browsers o navegadores internos, de modo que cuando hiciésemos clic en un enlace dentro de la app, en vez de derivarnos a Chrome, Safari u otro programa, esta nos mostraría el contenido de esa página web en una ventana propia de la aplicación.
Tanto las aplicaciones del sistema operativo Android (Google) como las del iOS (Apple) tienen la opción de desarrollar integrar este tipo de navegador. Pese a estar orientado a hacer más cómoda y fluida la experiencia de usuario, es precisamente esta funcionalidad la que Felix Krause ha identificado como posible eje de explotación en su análisis, al demostrar que hay empresas como TikTok o Meta (propietaria de Instagram y Facebook) que pueden hacer uso de ella para registrar datos sobre nuestra navegación.
Hay que tener en cuenta otra cosa, y es que estos programas son inherentes a la aplicación de TikTok, Instagram, o la que sea, por lo tanto, son las empresas detrás de estas plataformas las que crean su código fuente. Es decir, las responsables del ‘manual de instrucciones’ que va a hacer que funcionen tanto la aplicación como el navegador interno. Por tanto, en ese manual pueden incluir lo que quieran.
TikTok, Facebook o Instagram usarían herramientas para registrar nuestra navegación fuera de sus apps
Todo el revuelo viene a raíz de que este ingeniero y científico de datos publicase dos informes en los que expone cómo algunas aplicaciones utilizan la funcionalidad de este navegador interno para recolectar más datos de la cuenta. El primer informe señalaba esta práctica por parte de las redes sociales de Meta y el segundo sobre TikTok, pero ha sido a raíz de la publicación del segundo que el asunto ha cogido carrerilla.
¿Cómo asegura que hacen este rastreo? Krause hizo este hallazgo al desarrollar una herramienta propia llamada InAppBrowser.com que es capaz de detectar si al abrir una página web en el navegador interno de una aplicación, esta hace algún tipo de registro de información. ¿Cómo? Escribiendo instrucciones en su código informático que manden a la app hacer cierta tareas cuando pulsamos en un enlace, tareas como comprobar qué botones se pulsan, si se hacen capturas de pantalla, si se copia texto, etc.
Así pudo comprobar que Instagram, por ejemplo, inyectaba código JavaScript en este navegador interno que permitiría hacer este seguimiento sin que el usuario se percate de ello. Esto, recordamos, ocurriría en el caso en el que abriésemos un anuncio o un enlace desde la propia app de Instagram, sin que eligiésemos ir a otro navegador.
La particularidad del caso de TikTok, por su parte, es que es la única de las aplicaciones que ha analizado que no nos permite salir de ese navegador interno y abrir el enlace en el programa que nosotros elijamos. Por otro lado, Krause asegura que la aplicación puede recoger cada “pulsación de teclas (y el texto resultante) en las páginas de terceros que se renderizan dentro de la app de TikTok. Esto incluye contraseñas y otros datos sensibles del usuario”, señala. También podría comprobar en qué imágenes se hacen clic y qué pasa en nuestro móvil al hacerlo.
De ahí que, tras este análisis, se compare esta funcionalidad de TikTok con un keylogger, un programa informático que realiza un seguimiento y registra cada tecla pulsada en un dispositivo, como explican desde Kaspersky. Este tipo de programa en ocasiones se usa con fines delictivos para hacerse con datos confidenciales de los usuarios, de ahí que se critique tanto que TikTok use una funcionalidad similar.
El científico de datos hace un apunte: “Solo porque una aplicación inyecte [código] JavaScript en páginas externas, no significa que la app esté haciendo nada malicioso”. Insiste en que con su análisis lo único que pretende conseguir es crear conciencia de que ese código existe y que la aplicación lo puede ejecutar. Pero no tiene manera de probar si llega a utilizarse y si llegan a registrarse datos o no.
Marcos Trujillo, desarrollador de Android y Tech Lead en JobTalent, nos explica que en el desarrollo de aplicaciones usan las llamadas “librerías o funcionalidades de analítica”: “Hay un montón y para muchas cosas diferentes. Por ejemplo, cuando ocurre un error en una app, nos manda información del dispositivo, de las características, si tenía o no conexión a internet, etc., además de en qué parte del código ocurrió el error”.
También pueden instalarse estas librerías para hacer analítica de uso: “Qué pantallas has visto, en qué momento, dónde has hecho clic, en qué botón, cuántas cosas tenías en el carrito cuando decidiste darle a ‘comprar’, etc.”, detalla. Estas librerías se usan para analizar las funcionalidades de las aplicaciones y comprobar que son útiles. Ahora bien, sacar un fingerprint para rastrear al usuario a determinados niveles es algo que puede usarse con precaución y en su beneficio o terminar siendo muy invasivo.
¿Qué datos se recogen y qué se hace con ellos?
Esto es algo que no podemos saber. Incluso Krauze, el ingeniero autor del estudio, alerta de ello: “No hay manera por la cual podamos saber al detalle qué tipo de datos recoge cada navegador interno o cómo se comparten o usan estos datos”, señala en el post en el que recoje las conclusiones de su análisis.
Muchos medios de comunicación y páginas web que se han hecho eco de este análisis aseguran (a veces directamente en los titulares) que TikTok puede por ejemplo recabar nuestras contraseñas o el número de nuestra cuenta bancaria o nuestra tarjeta de crédito. Sin embargo, el propio Krauze avisa en su hilo de Twitter de que el que las aplicaciones tengan esta funcionalidad activada no significa que accedan a esa información, sino que su intención era poner sobre relieve que el hecho de que se pueda hacer demuestra que ciberdelincuentes también podrían. “Como se ha demostrado en el pasado, si es posible para una compañía acceder legal y gratuitamente a cierta información sin pedir el permiso de los usuarios, lo harán”, también añade.
¿Qué dicen TikTok y Meta sobre los resultados de este análisis?
Tras la publicación del análisis de Krause y su aparición en varios medios de comunicación, ambas compañías han salido a desmentir que estas funciones realmente se utilicen para recopilar datos, aunque aparezcan en el código fuente de su navegador. Porque eso sí, no han negado su existencia a los medios internacionales que han preguntado por ello.
Por un lado, una portavoz de TikTok aseguró a Forbes que el código Javascript existía, pero que “al igual que otras plataformas”, usan un navegador interno para “proporcionar una experiencia de usuario óptima, pero el código de Javascript en cuestión se usa sólo para funciones de limpieza, diagnóstico de problemas y monitorización del desempeño de esa experiencia”. Por ejemplo, para comprobar la velocidad de carga de una página o si se cae.
Meta, por su parte, dijo en un comunicado a The Guardian que solo usaban el código añadido en el navegador interno para “agregar datos antes de que se apliquen a publicidad personalizada o para propósitos de medición en el caso de aquellos usuarios que han elegido no ser rastreados”. Aseguran que usar ese código fue la manera que encontraron de poder seguir midiendo la interacción de la gente con determinados sitios web pero sin rastrear su navegación por ellos. “No añadimos rastreadores”, explicaba un portavoz.
En los dispositivos de Apple, por ejemplo, existe una opción para “comunicar” a las aplicaciones que no quieres que te rastreen. Es decir, que al abrir una aplicación, directamente se pregunta al usuario si da su permiso para que se pueda usar su información o no. En teoría, con el uso de este tipo de código en navegadores internos, Meta podría seguir recogiendo ciertos datos básicos de estadística y personalización de esas personas que han elegido que no se les rastree.
Ojo, estas plataformas ya registran dónde hacemos clic: la diferencia está en que puedan hacerlo fuera de las mismas
¿Que no lo sabías? ¡Suspenso en lecturas de política de privacidad! Precisamente, tanto TikTok como Instagram son dos redes sociales que en sus respectivas políticas de privacidad indican que, entre los datos que recogen sobre nosotros y nuestros dispositivos, están los patrones de movimiento, de pulsación de teclas o cuánto tiempo pasamos en cada parte de la pantalla, por poner algún ejemplo.
TikTok señala que, aparte de registrar el modelo de dispositivo, sistema operativo, dirección IP e idioma del sistema, también recogen “patrones o ritmos de pulsación de teclas”.
Meta (Instagram y Facebook), por su parte, indica que recogen información sobre lo que hacemos con nuestro dispositivo, por ejemplo si la aplicación está “en primer plano” o “si el ratón se mueve”.
Por eso, no nos pilla por sorpresa que estas compañías estén interesadas en saber qué hacemos cuando navegamos por sus plataformas, dónde hacemos clic, dónde pasamos más tiempo, con qué botones y funciones interactuamos más. Aun así, es un asunto que suele hacer saltar las alarmas cada vez que se viraliza un contenido relacionado, como comprobamos en casos como el de Instagram y la polémica que se creó el año pasado a raíz de un cambio en sus políticas.
El problema con este caso concreto se debe a que una cosa es que estas empresas registren estos datos a partir de lo que hacemos dentro de su aplicación, y otra muy diferente es que aprovechen la función del navegador interno para obtener información sobre lo que hacemos en otros sitios web que nada tienen que ver con ellas.
“Creo que no es abusivo saber qué es lo que están haciendo los usuarios dentro de mi app”, señala Marcos Trujillo. “Es como si Mercadona analiza por qué pasillos va más o menos la gente para ponerte el guacamole a mano, que es lo que le interesa venderte. Ahora bien, otra cosa sería que Mercadona analizara lo que hacen los usuarios en Carrefour, ahí ya podría ser más discutible”, añade. Que es, en esencia, lo que plantea Felix Krause con su investigación.
Créditos de imagen de portada: imágenes obtenidas del blog de Felix Krause.