Browser Fingerprinting: votaciones en la Web

En esta ocasión trataremos el tema de las votaciones en la Web. Esas votaciones que se utilizan para valorar un post en un blog, un vídeo en una Web o una canción en un concurso de nuevos talentos musicales. A día de hoy, casí todos los sistemas de votación que se utilizan para estos menesteres tienen algo en común, y es la técnica usada para limitar y controlar que un usuario sólo pueda realizar un voto, para evitar trampas en el resultado final de las votaciones; el Browser Fingerprinting.

Pero, ¿qué es exactamente el Browser Fingerprinting? Pues bien, los que estáis más metidos en el mundo de la seguridad, sabréis que el término Fingerprinting se utiliza para describir el proceso de recopilación de información de un servicio o software.

Si le añadimos delante el concepto Browser, que se refiere a nuestro navegador Web, podemos llegar a la conclusión que se trata de una técnica usada para recopilar la máxima información imposible del navegador Web de un usuario que visita un sitio Web.

¿Cuál es esa información que se recopila que pueda identificar de forma única a un usuario/navegador? La primera respuesta que se nos viene a la cabeza, es la dirección IP, parámetro que no es específico del navegador, si no más bien de la conexión, aunque sí es cierto que es un dato que también se utiliza. Pero realmente son muchos más los parámetros usado para esta identificación única:

  • Sistema operativo
  • Resolución de pantalla
  • Zona horaria
  • Fuentes instaladas
  • Agente de usuario
  • Fecha y hora
  • Plugins instalados
  • Lista de tipos MIME aceptados
  • Cookies

Como se puede observar, la lista es bastante amplia, y la unión de todos estos datos hace única la identificación de un usuario / navegador, de cara a controlar y limitar el número de votos en un sistema Web de votación.

Para hacer una pequeña prueba, usaremos la Web http://fingerprint.pet-portal.eu que sirve precisamente para testear nuestro navegador y ver la información que se puede extraer con un Browser Fingerprinting.

Sólo tenemos que acceder a la Web y hacer click en el enlace para comenzar el test.

Veamos un resultado:

Se puede observar la cantidad de información extraída, que en su conjunto pueden perfectamente identificarnos de forma única al visitar una Web. Ahora bien, ¿cómo nos defendemos contra esto?

Lo que voy a explicar a continuación no es para saltarse la limitación en los sistemas de votación, más bien para mantener nuestra privacidad a salvo.

Existen varios plugins para Mozilla, en concreto yo he usado dos para hacer esta prueba de concepto:

  • FireGloves
  • RandomUserAgent

El primero, es más completo, permite bloquear las solicitudes de información de las características de nuestro navegador, y el segundo (RUA) permite “cambiar” el User Agent y hacer creer que estamos usando otro navegador Web.

Tomaremos ahora como ejemplo una Web hecha en WordPress donde el visitante puede votar por las entradas de la Web. El sistema de votación, según nuestras investigaciones, se basa en Browser Fingerprinting para limitar los votos, y no sólo en la dirección IP, por lo tanto el uso de Tor aquí no nos serviría.

El sistema de votaciones tiene contabilizados un total de 20 votos para una entrada.

Realizamos un voto y lo contabiliza.

Se ha contibilizado y observad que el texto “Votaciones: 4.0/5 (21 votos)” aparece más tenue, deshabilitado y no me deja volver a hacer más votaciones. Hasta aquí todo correcto y el sistema de control y limitación está haciendo su trabajo ya que mediante Browser Fingerprinting me ha identificado de forma única.

A continuación usamos nuestras herramientas: FireGloves y RUA.

Con FireGloves borraremos/bloquearemos todas las características de nuestro navegador para que no se faciliten y con RUA cambiar nuestro User Agent, para hacernos pasar por otro navegador Web.

Desde FireGloves borraremos las cookies y limpiaremos también la lista de fuentes y resto de información. Con RandomUserAgent (RUA) cambiamos nuestro User Agent (navegador Web).

Una vez hecho esto, volvemos a recargar la Web de las votaciones:

Bingo! Efectivamente, parece que nos permite volver a votar.

Resumiendo, espero que no baséis vuestro sistemas de votos Web en Browser Fingerprinting o dirección IP de origen ya que acabamos de comprobar que no nos garantiza que el resultado de las votaciones sean reales y legítimas.

Como siempre, espero que haya sido de vuestro agrado y hasta la próxim!

Miguel Ángel Arroyo

Leave a Reply

You must be logged in to post a comment.