La semana pasada me entrevistaron para un programa de TV que se emitirá en las próximas semanas. Para dicha entrevista me propusieron investigar la privacidad de algunas aplicaciones móviles que casi todos tenemos en nuestros teléfonos móviles. Instagram y Tiktok fueron las seleccionadas.
Tiktok lleva unos meses en el ojo del huracán, ya que el gobierno de los EEUU ha acusado en repetidas ocasiones que la aplicación nos espía. De hecho el pasado 18 de Mayo, Montana fue el primer estado en prohibir la aplicacion.
Mi opinión, es que el nivel de espionaje de ambas aplicaciones es bastante similar, lo cual me impulso a llevar a cabo un estudio de ambas aplicaciones. El estudio consiste en analizar las comunicaciones de ambas aplicaciones con Burp. Burp es un proxy muy utilizado durante las auditorias de seguridad.
Para poder estudiar las comunicaciones se necesita bypassear el certificate pinning de ambas aplicaciones y para ello utilicé Frida, hookeando las funciones de validación de certificados.
Al analizar las comunicaciones de ambas aplicaciones, me llamó poderosamente la atención el volumen de datos que se envían a los servidores cuando estamos en la pantalla en la que se añaden comentarios a un post. Esto puede parecer normal dado que estamos haciendo un post, si no fuera porque todavía no le hemos dado al botón de publicar, y podríamos arrepentirnos de subir las fotos o los videos.
Pero en caso de arrepentirnos ya es tarde. Como se puede ver en las capturas de Burp, ambas aplicaciones ya han enviado tus fotos o vídeos a sus servidores, con lo que aunque te arrepientas y no quieras publicarlas, ambas compañías ya tienen una copia de lo que ibas a postear.
En la imagen inferior podemos ver cómo la aplicación de instagram manda la foto que todavia no hemos publicado a sus servidores.
Si guardamos la comunicacion que se produce desde el dispositivo en un fichero y eliminamos las cabeceras http de la comunicación podemos recuperar el fichero siendo enviado antes de que pulsemos “publicar”
En el caso de la aplicación China (TikTok) este comportamiento es identico, salvo por el detalle de que envía la inforación comprimida en un fichero zip. De esta forma se ahorran datos en el envío de las fotos o vídeos
Si salvamos la petición a un fichero y eliminamos las cabeceras de la comunicacion http, obtendremos un fichero
Zip que al ser descomprimido, podemos ver la imagen que se iba a postear.
A algunos les puede parecer que al estar a un paso de publicar un contenido se quiere optimizar el rendimiento de la aplicación y no es tan grave, pero en mi opinión, es precisamente ahí donde reside el problema. Viendo ambas pantallas cualquier usuario de las aplicaciones puede pensar que al cancelar la publicación en el momento de comentarla no ha pasado nada…. Y sin embargo ya es tarde. El hecho de comentar una foto es sin duda un momento de reflexión. Momento en el que muchos usuarios pueden reflexionar sobre las consecuencias de un post y decidan que el contenido que iban a compartir esta mejor en su dispositivo sin que nadie mas lo conozca.
No sería raro pensar que el nivel de cancelaciones de publicaciones en esta pantalla es alto, y que esta es la verdadera razon que podría haber impulsado a ambas aplicaciones a quedarse con esas fotos “arrepentidas” y de este modo “conocer mejor a sus usuarios” o espiarlos…
Gracias por leer esta entrada y nos vemos en la red.