Firefox 58, la próxima versión del navegador en el que todos confiamos pero que no usamos, será el primero de los principales navegadores en hacer algo contra las huellas canvas (canvas fingerprinting), una especie super cookie malvada que monitoriza a los usuarios en la web.
Las huellas canvas se basan en que las webs pueden extraer silenciosamente datos del elemento HTML <canvas>. En el futuro los usuarios deberán dar su aprobación antes de extraer los datos, de la misma forma que lo hace el navegador Tor.
La similitud con Tor no es casual. Ese navegador se basa en Firefox ESR (Extended Support Release) y una pizca de las funciones y componentes de Tor han regresado a Firefox.
En el caso de esta función, lentamente durante cuatro años. Así que veamos por qué es mejor tarde que nunca.
Las huellas del navegador
Las huellas del navegador (browser fingerprinting) han ganado relevancia durante los últimos años como el método que tienen las empresas para monitorizarnos sin informarnos.
Funcionan monitorizando el navegador en sí mismo, en vez de rastrear una señal colocada en él, como una cookie, un Flash LSO (local shared object) o un valor de almacenamiento DOM.
Este tipo de señales pueden ser bloqueadas o eliminadas, las huellas no.
Las huellas usan información que tu navegador almacena pasivamente como número de versión, sistema operativo, resolución de pantalla, idioma, lista de plugins y lista de fuentes instaladas.
Hay muchos ingredientes que pueden formar una huella, pero cuantos más sean, y mayor sea la entropía de cada uno, será más sencillo identificar tu navegador de entre todos los demás.
Uno de los ingredientes más populares es el elemento HTML canvas.
Las huellas canvas
El elemento <canvas> es una superficie en la que el navegador puede dibujar. En las huellas canvas, se le dan instrucciones al navegador para que renderice una imagen en un elemento canvas oculto. Esta imagen se extrae del canvas y se pasa por una función hash para producir un ID.
Las diferentes tarjetas gráficas y sistemas operativos trabajan de una forma ligeramente distinta, por lo que si das a dos visitantes distintos de una web instrucciones idénticas de dibujo, obtendrán dos imágenes ligeramente diferentes.
Las instrucciones complejas pueden producir una variación lo suficientemente grande entre dos visitantes para que el canvas sea un ingrediente potente en la huella del navegador.
Cuanto más complejas son las instrucciones, más sencillo es descubrir diferencias entre dos navegadores, pero el principio básico se puede comprobar con un simple test.
Las siguientes imágenes muestran como se renderiza la letra T en Firefox (izquierda) y Safari (derecha) en mi sistema, con los hashes de las dos imágenes justo debajo. Las diferencias son apenas visibles, pero lo importante para las huellas es que no son exactamente iguales, por lo que producen diferentes hashes.
Un paso en la dirección correcta
Las huellas son difíciles de parar porque se aprovechan de la complejidad, capacidad de personalización y transparencia de los navegadores modernos. Es difícil encontrar un balance entre la utilidad de las diversas funciones y su riesgo potencial. Los desarrolladores de navegadores también deben saber cómo se emplean las distintas funciones, en vez de saber con qué intención fueron creadas.
Para combatir la huellas canvas los desarrolladores de Firefox han optado por la pragmática opción del consentimiento previo como en Tor, en vez de denegarlo totalmente. El problema reside en que no se puede eliminar completamente la función canvas ya que es un elemento fantástico, pero que lamentablemente está siendo usado para monitorizar a los usuarios.
O por lo menos durante unos pocos meses más.
Para manteneros al día de las últimas amenazas haceros fans de nuestra página de Facebook o síguenos en Twitter para intercambiar experiencias en torno al mundo de la seguridad. Si deseas recibir nuestro boletín de seguridad en tu correo electrónico, suscríbete en la siguiente aplicación: