- La verificación de dispositivo “Verify you're human” de Cloudflare Turnstile entra en un bucle infinito desde hace aproximadamente una semana en navegadores basados en WebKitGTK
- La causa directa aparente de que se bloquee el acceso a varios sitios web es que Cloudflare intenta obtener la huella digital del dispositivo mediante WebGL
- El aviso de Turnstile indica que utiliza la recopilación de huellas del navegador para confirmar si se trata de una persona, y que las herramientas de bloqueo o aleatorización pueden hacer que parezca un bot
- WebKit lleva años bloqueando este tipo de funciones, y no parece tratarse de una opción de privacidad que el usuario pueda desactivar fácilmente
- Mientras que se presume que Safari tiene una excepción, todos los navegadores WebKitGTK quedan bloqueados, y los usuarios de Firefox con protecciones de privacidad también podrían verse afectados
Verificación de Turnstile que se repite en WebKitGTK
- La verificación de dispositivo “Verify you're human” de Cloudflare Turnstile entra en un bucle infinito desde hace aproximadamente una semana en navegadores basados en WebKitGTK, bloqueando el acceso a varios sitios web
- La causa aparente del bloqueo de acceso es que Cloudflare intenta obtener la huella digital del dispositivo mediante WebGL
- El texto informativo de Turnstile señala que utiliza la recopilación de huellas del navegador para determinar si se trata de una persona
- Las herramientas de privacidad que bloquean o aleatorizan la huella digital pueden hacer que el navegador parezca un bot que intenta ocultar su identidad
- WebKit lleva años bloqueando este tipo de funciones, y no parece ser una función de privacidad que pueda desactivarse fácilmente
- Mientras se presume que Cloudflare ha dejado una excepción para Safari, todos los navegadores WebKitGTK han quedado en estado de bloqueo
Comportamiento de protección relacionado en Firefox
- La protección contra huellas digitales de WebGL en Mozilla Firefox tiene el problema Bugzilla#1916271: Gecko reveals sanitized GPU Characteristics; webkit and blink return hardcoded strings for all users
privacy.resistfingerprintingno se activa aunque se seleccione “Strict” o “Enhanced Privacy Protection” en la configuración- Los usuarios de Firefox orientados a la privacidad que hayan activado manualmente
privacy.resistfingerprintingpodrían no poder superar en el futuro la verificación de dispositivo de Cloudflare
1 comentarios
Opiniones de Hacker News
Se sabe que Cloudflare usa fingerprinting del navegador para detectar scrapers. Por ejemplo, compara la huella JA3 con el user agent para bloquear cosas como cURL y permitir OkHttp (cliente de Android), pero es fácil hacerse pasar por otro usando paquetes como CycleTLS [1]
No quiero defenderlo porque bloquea gran parte de internet en nombre de la “protección contra bots”, pero si no van a usar prueba de trabajo (PoW), el fingerprinting puede ser un método realista, y el resultado es que la privacidad de todos los involucrados queda completamente destruida
Cromite, un fork de Chromium para Android centrado en la privacidad, tiene problemas constantes con Cloudflare Turnstile [2], porque Cloudflare recolecta huellas de varias maneras para dejar pasar el challenge
Para resolverlo, hay que entrar al programa Cloudflare Browser Developer, pero exigían firmar un NDA, y parece razonable que el mantenedor del proyecto se haya negado
Si quieren ver qué tan a fondo escarba Cloudflare en el fingerprinting del navegador, basta con mirar en el issue [2] qué flags hay que desactivar para pasar el challenge. Como mínimo, Cloudflare podría ser lo bastante flexible como para reemplazarlo con prueba de trabajo en lugar de simplemente bloquear a personas al enviar formularios o entrar a sitios web
[1]: https://github.com/Danny-Dasilva/CycleTLS
[2]: https://github.com/uazo/cromite/issues/2365
Otra forma de llegar al resultado deseado podría ser asignar reputación a IP residenciales y a rangos comerciales. Eso probablemente haría que los proveedores fueran mucho más cuidadosos con el abuso de IP, pero entonces podría venirse abajo al mismo tiempo el negocio de DDoS tanto del lado atacante como del lado defensor
Irónicamente, hay bastantes empresas que invierten en cómo bloquear bots ajenos mientras construyen los suyos
Si aplicas una carga de 5W durante 2 segundos, son 0.002Wh, y como también tienen que pasar los smartphones, no puedes ponerles una prueba de trabajo de decenas de segundos. Incluso si haces 8 mil millones de verificaciones al día durante un año, serían 8GWh
Hay una razón por la que
privacy.resistfingerprintingno se activa aunque elijas “Strict” y “Enhanced Privacy Protection”. Lo usé activado durante bastante tiempo, pero los sitios se rompían de formas raras, así que tenía que apagarlo seguido y agregar excepcionesEn ciertos sitios se descomponía el manejo de zonas horarias, y casi pierdo citas varias veces. Para hacerle saber al usuario que Firefox no está roto, prácticamente haría falta un banner permanente tipo: “si el sitio se ve roto, aparecen glitches raros, la hora de tu computadora está mal, la tipografía se ve extraña o a veces no sale video, haz clic aquí para desactivar la protección contra fingerprinting”
Curiosamente, Turnstile se rompe con
resistfingerprinting, pero funciona confingerprintingProtection. Parece que esta última sí tuvo en cuenta este tipo de basuraCon la configuración Strict uno ya espera hasta cierto punto que algunos sitios se rompan, pero no espera que las vías de rastreo sigan completamente abiertas. Se siente engañoso
Mantengo un navegador minoritario[0], y desde hace unas semanas varios usuarios están teniendo este problema[1]. Por ahora no lo veo como un bug del navegador, aunque claro que podría haber alguno relacionado, y estaría bien que más gente lo viera, así que necesito ayuda e ideas para mejorar o mitigar la situación
[0]: https://konform-browser.codeberg.page/
[1]: No sé si son la mayoría o todos. Estamos dependiendo de reportes de usuarios y de pruebas propias sin telemetría
“Si descubrieron que te estabas disfrazando, es que no te disfrazaste con la suficiente intensidad.”
Esta estúpida guerra contra los bots va a llevar al colapso de internet y terminará convirtiéndolo en otro jardín amurallado donde solo se permita entrar a agentes hostiles para el usuario pero “aprobados”. No hay que tragarse las tonterías sobre “scrapers de IA”. Es solo un medio para fabricar consentimiento
¿Google y Cloudflare hicieron algún trato para dificultar el uso de navegadores que no sean Chrome? La presión para usar Chrome sigue creciendo, y lo que se puede hacer en Chrome para filtrar anuncios sigue reduciéndose
Si escondes algo, automáticamente te clasifican como “un agente que tiene razones para esconder algo”
Para ser claros, ese es justo el problema central. Dado que una parte tan grande de internet pasa por Cloudflare, debería haber suficientes señales alternativas para demostrar que no eres un actor malicioso, más allá de una sola señal en particular
Dicho eso, como casi no hay usuarios con esa misma configuración dentro de la base instalada, tal vez falte muchísimo para que aparezca una solución real
Dicen “parece que está intentando ocultar su identidad”, pero para empezar nunca tuvieron derecho a exigir eso
No conocía
privacy.resistfingerprinting, pero de ahora en adelante pienso dejar que falle todo Cloudflare TurnstileLa configuración
privacy.resistfingerprintinges para Tor BrowserTambién viene activada por defecto en Konform Browser y Mullvad Browser, que incorporan muchos de los parches de privacidad y seguridad de Tor Browser
Me gusta ese dicho del ámbito criminal: si X% de la población está violando cierta ley, entonces esa ley debería abolirse. Las drogas recreativas son un ejemplo clarísimo
Si el renderizado aleatorio de canvas era algo que se perseguía como comportamiento de bot y ahora lo hace todo el mundo que usa Firefox, entonces quizás Cloudflare también debería simplemente “legalizarlo”