Seguridad

Cloudflare Turnstile & Precursor: Cómo detectar Bots y Humanos sin usar Captchas Cognitivos

Muchas personas, usuarias de Internet, conocen a Cloudflare por el famoso widget de «Verifica que eres Humano» que está en muchas páginas web de Internet. Esta verificación ha hecho que la gente conozca mucho la marca de Cloudflare sin conocer todo lo que realmente hace la compañía, y es normal. Aproximadamente el 20% de los dominios web del mundo en Internet están en Cloudflare, y una gran cantidad de ellos utilizan las herramientas de protección y gestión contra Bots que ofrece Cloudflare.
Los bots recogiendo datos de tus sitios web, masivamente, generan gastos de egress y de computo en los servicios cloud, así que elegir si quieres bots en sitios diseñados para personas o no, es una decisión importante, pues si quieres bots, es mejor abrirles los MCP con las capacidades que quieras que tengan. Además, puede ser que decidas qué bots quieres que vengan, y cuales no, y cómo qué quieres que hagan con tus datos.
Los equipos de Application Security de Cloudflare trabajan constantemente para dotar a los administradores de dominios de Internet de herramientas para gestionar el control de quién hace qué en cada una de las webs de los dominios que están protegidos en la plataforma. Cuando creas una cuenta en Cloudflare, tienes muchas opciones de seguridad por defecto, y todas las herramientas de Bot Protection las tienes en el Plan Profesional, que cuesta 20 USD al mes en los planes anuales. 
Dentro de estas herramientas tienes muchas tecnologías, para luchar contra los bots maliciosos, y entre ellas se encuentran AI Labyrinth, del que os dejó un artículo el año pasado publicado, la gestión de Bots y Agentes IA Identificados y Verificados, de lo que os hablé hace unos meses, y por supuesto, Turnstile y el nuevo Precursor.
El primero de ellos, que lleva tiempo entre la familia de soluciones de Cloudflare, es Turnstile, que cuenta con el famoso widget que, como os decía al principio, ha hecho tan popular la marca de la empresa. Se trata de una solución que busca identificar a los humanos usando un navegador, por medio de la Plataforma de Challenges, o lo que es lo mismo, de retos lanzados a la sesión.
Estos retos están divididos en varias categorías, como son Proof-of-Work (PoW) donde se le pide al navegador que resuelva determinadas operaciones, con código en client-side, Proof-of-Space (PoS) que es menos intensivo en computo y energía, pero más en espacio y gestión de almacenamiento o Proof of web APIs, para conocer realmente si el cliente tiene las características de un navegador.
Todas esas categorías son hechas automáticamente por el código que Cloudflare inyecta en la página web que ven los usuarios y los bots, y trata de detectar si hay un entorno de usuario humano detrás. Como podéis imaginar, no exige ninguna acción por parte del usuario. Esto, muchas páginas lo hacen de forma transparente sin que lo sepas, y otras muestran un pequeño icono de Cloudflare que se anima. Son los modos Invisible y No-Interactivo de TurnStile.

Sin embargo, con la aparición de los Agentes AI que manejan los WebBrowsers, o directamente los AI WebBrowers como Atlas o Comet, para incrementar el nivel de detección se usa también el modo Interactivo, donde el usuario tiene localizar su ratón, y hacer clic en un checkbox. En estos casos se busca medir las reacciones y comportamientos de los seres humanos, como el tiempo de reacción, y la forma de mover el ratón, los tiempos, y el temblor de nuestras manos y dedos.
En este caso, cuando los bots o Agentes AI intentan simular ese comportamiento, en este juego del gato y el ratón, hacen movimientos con funciones matemáticas para generar ruido, pero no consiguen imitar al detalle la humanidad de los errores en nuestros movimientos de ratón, y los tiempos de respuesta entre que visualizamos dónde hay que hacer clic, y cómo hacerlo.
Pero por supuesto, lo intentan. Así que, Cloudflare ha lanzado una nueva evolución de estas tecnologías, llamadas Precursor, que lleva estas comprobaciones más allá de un simple control en un momento puntual. Se trata de monitorizar las sesiones completas para que ir gestionando de cada una de ellas un Bot Score, que determinará cuál es la probabilidad de que en una sesión completa, formada por un historial de navegación a lo largo del tiempo, las pruebas y mediciones realizadas han detectado la posibilidad de que haya una persona o un bot detrás de ella.
Por supuesto, como en el caso de Turnstile, se pueden configurar dos modos, como son Minimizar Fricción o Maximizar Seguridad. Esa obsesión de reducir la ficción en las soluciones de detección de Bots tiene por detrás un sentido. 

No sólo se trata de que, como ya hemos visto y os he publicado muchas veces, los Catpchas Cognitivos no son una barrera ya para el mundo de los Agentes AI, sino que cualquier complejidad para los usuarios es una barrera de UX que en aplicaciones de negocios generan pérdidas económicas. El famoso «un clic más, un cliente menos» se ve afectado por las soluciones Captchas que muchos añaden.

Por otro lado, si tu web está frente a un ataque, o tienes a bots avanzados que están haciéndote WebScrapping para construir negocios de Dropshipping encareciendo el coste de tus anuncios para vender tus productos más caros, o están haciéndote WebScalpping de entradas de conciertos o productos exclusivos, entonces la opción de Maximizar la Seguridad es la que deberías configurar, y protegerte contra estos actores.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)  

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.