Esto no es nada nuevo, y los Stories de Instagram funcionan exactamente. Es una funcionalidad que utilizan muchos en la plataforma para difundir sus contenidos. La única diferencia fundamental, como vamos a ver, es que en Instagram el usuario que publica una Story no tiene un log detallado de horas de conexión y cuentas de sus contactos de Instagram que han visto la Story. En WhatsApp sí.
Figura 5: Si activas las "confirmaciones de lectura de mensajes"
WhatsApp te deja ver un log detallado de a qué hora quién
visitó tu ESTADO, lo que da una información valiosa.
Ahora ya podemos organizar esto. Por un lado un registro de visitas a la web que capture la hora exacta y la dirección IP del visitante. Por otro un registro detallado de contactos de WhatsApp que han visitado el estado. Si hay "match", ya sabes la dirección IP y dónde está el contacto de WhatsApp concreto.
Cómo preparar la web de registro (Stickyweb)
En primer lugar, creamos una tabla en
MySQL con el propósito de almacenar la
GEO información de las direcciones
IP de las visitas de los contactos que han sido redirigidos. La estructura de la tabla
Log se muestra en la imagen siguiente.
Figura 6: Estructura de la tabla LOG donde se registrará la
GEO información IP de las visitas a xxxx.com
En segundo lugar, construimos una página web que, por simplicidad, consta de solo un fichero (
index.php) y que también por simplicidad está construida en
PHP, tal y como se puede ver en la imagen siguiente.
Figura 7: código PHP que obtiene la información de GEOIP
y la registra en la tabla LOG
En la ejecución del código PHP se recuperan las variables de entorno asociado con la navegación del usuario y que junto a un campo “Timestamp” de la tabla Log anterior expuesta, que supone la fecha de creación del registro en el momento que las instrucciones de PHP realizan la inserción de estos datos de navegación en la tabla Log de la base de datos MySQL.
Cronología de los Eventos
Una vez desplegada la web y con la tabla de registro del Log en la base de datos funcionado, punto 1 del cronograma del esquema siguiente. El siguiente paso corresponde al punto 2, en el que publicamos nuestro estado a la espera de que nuestros contactos hagan un clic en la URL asociada a nuestro estado de WhatsApp.
Figura 8: Cronología de creación de la web, creación del estado y clic de los contactos
Cronológicamente los contactos
1,
43 y
22, lo harán en el tiempo en los puntos
3,
4 y
5 respectivamente, como también muestra la imagen anterior.
Análisis de la Información registrada
Una vez que ya está registrada la
GEO información IP de navegación de los contactos en la tabla
Log de
MySQL, procedemos a correlacionar el campo “
FechaRegistro” (que recordemos que es de tipo
TimeStamp) con la fecha y hora que muestra el
Historial de los contactos que han visto el
Estado de WhatsApp e hicieron clic en la
URL del enlace de
Estado, como muestra la imagen siguiente.
Figura 9: En el log del Estado de WhatsApp podemos ver qué contacto vio
el Estado y a qué hora, y luego buscamos esa hora en la tabla de Log
para saber qué IP usó en la conexión a la web.
El resto, es mirar la información extendida en la tabla de GEO Información IP que tenemos en la base de datos de MySQL con toda la información extendida que hemos sacado y que va asociada a la dicha dirección IP. Lo dicho, puede ser más o menos exacta.
Figura 10: Información extendida sobre la dirección IP
A partir de esta correlación tenemos accesible la información del número de teléfono (haciendo uso de la agenda) y de la dirección IP de conexión, que determinan la información geográfica asociada, así como el proveedor que nos presta el servicio de interconexión, ya sea móvil o no, exponiendo la privacidad de navegación de los contactos de una manera ni autorizada ni solicitada.
Impacto y mitigación
El impacto de esta práctica es una pérdida efectiva de la
"GEO privacidad" de los usuarios que hubieran hecho clic en el estado, pudiendo suponer un seguimiento no autorizado de las personas. Algo que de facto es deducir si se está usando una red móvil o una conexión fija, en qué ciudad, provincia o país se está conectado, con todas las implicaciones para la seguridad de las personas o de sus bienes que ello pudiera implica.
Tal vez, se debiera advertir al usuario que este será redirigido a una web externa, (como ya hace WhatsApp), pero debería informar de lo que ello implica, lo que sería una mitigación muy efectiva, ya que las personas se darían cuenta del peligro de pérdida de privacidad que eso implica.
Figura 11: WhatsApp avisa antes de hacer una redirección fuera de la cuenta,
y ahí podía poner más información del riesgo de privacidad.
Además, se podía hacer que el registro de accesos al Estado de WhatsApp fuera menos "detallado", y hacerlo más similar al de Instagram, donde se puede ver qué usuarios vieron la Story, y luego datos agregados de clics o comparticiones, pero no quién hizo qué ni a qué hora exacta.
Figura 12: En Instagram, las estadísticas de las Stories no
son tan detalladas como la de los Estados de WhatsApp.
Están agregadas y no dicen quién hizo qué a qué hora.
La curiosidad por saber qué quiere mostrarnos un contacto, unido al desconocimiento general de este funcionamiento y que termina en visitar una
URL del
Estado de
Whatsapp, unido a la funcionalidad del registro temporal del historial de visitas que hace
WhatsApp de los
Status, conlleva a una importante exposición de la privacidad de navegación, al correlacionar toda esta información.
Saludos,