CAPTCHA para verificación humana

Como respuesta a la amenaza hacker que usualmente crea robots para abusar de los sistemas, nace el uso del CAPTCHA para verificación humana, y en la actualidad es popularmente utilizado alrededor del Internet. En este artículo nuestros Ingenieros ZARZA discuten sobre este interesante tema, y comparten información concreta sobre el correcto uso, y las medidas alternativas recomendables.

¿Qué es y para que sirve un CAPTCHA?

Cuando nos inscribimos en un sitio web, o completamos un formulario nos encontramos con un texto deformado, una figura que nos piden que escribamos su nombre, o mejor dicho, que transcribamos su contenido… En ese momento nos estamos topando con un CAPTCHA, y su finalidad es saber si el que está rellenando el formulario es un programa de computadora (un robot programado), o un ser humano.

CAPTCHA: Completely Automated Public Turing test to tell Computers and Humans Apart

La prueba de Turing completamente automática y pública para diferenciar computadoras de humanos, es lo que entendemos como CAPTCHA, y luce básicamente así:

CAPTCHA

Como podemos ver, las letras sufren una transformación, pensada en dificultar el discernimiento de los bots automáticos de las letras, y aun así, permitir que un ser humano identifique la secuencia, misma que sería «smwm», aunque las estadísticas muestras que no es tan sencillo para todas las personas.

Adicionalmente a la distorsión de las letras los CAPTCHA pueden incluir líneas, gradientes, y elementos distractores que aumenten así el nivel de complejidad del mismo.

Sin embargo, los CAPTCHA más modernos, incluyen la opción de escuchar las letras, y de probar con un nuevo CAPTCHA en el caso de que no comprendamos cual es el contenido del mismo. Por ejemplo, uno de los más destacados es el que ofrecen gratuitamente en reCAPTCHA (actualmente propiedad de Google), donde se mezclan además 2 o más palabras, tal y como lo vemos en el ejemplo a continuación:

recaptcha

Los CAPTCHA seguirán aumentando su complejidad, y cada vez se volverán más modernos, sin embargo, siempre veremos la delgada línea entre lo comprensible para un humano, y no para un robot.

¿Es el CAPTCHA totalmente infranqueable? No, no lo es.

En la actualidad tanto los que practican el Back Hat Hacking, como el White Hat Hacking saben que existen herramientas de reconocimiento visual, que han sido promovidas en Internet, y que inclusive algunos servicios de pago dentro y fuera de la Deep Web, ofrecen conexión expedita para descifrar los CAPTCHA, y así vulnerar sistemas y ralentizarlos.

Es por lo anterior que al desarrollar su software, o al contratar por el desarrollo, debe considerar que el CAPTCHA es solo una medida más, y no debe ser en ningún momento el único control que se realice para proteger el sistema en cuestión.

Algunas recomendaciones adicionales pueden ser, dependiendo del esquema del sistema, los siguientes:

  • Limitar el número de consultas: Tanto por dirección IP, como por país, por tiempo y por tipo de consulta. Con esto, aunque el atacante logre descifrar el CAPTCHA se encontrará con otros limites físicamente imposibles para seres humanos.
  • Verificar número de errores: Muchas veces los scripts utilizados para descifrar los CAPTCHA envían matrices con múltiples posibilidades, que pueden conducir a un número de errores superior al que usualmente un usuario podría reintentar. Pruebe y pídale a su desarrollador (o a usted mismo si es programador) que estos parámetros puedan ser ajustados eventualmente, según las estadísticas de uso de sus propios usuarios.
  • Verifique los servicios por usuarios: Si el esquema lo permite exija la validación de credenciales al mismo tiempo de verificar el CAPTCHA, a la vez, registre la utilización, y así localice fácilmente usuarios abusivos, que puedan ser excluidos manual y automáticamente.

Muchas veces este tipo de elementos pueden resultar frustrantes para usuarios reales, por lo que podría también analizar, en vez de bloquear totalmente las consultas, el incluir un tiempo de espera, así sea en segundos, que obligue al usuario a esperar un tiempo entre cada consulta, y una vez esta sea exitosa, que deba esperar para recibir los resultados, todo basado en su comportamiento, y en las políticas que se definan para cada rango de usuarios. No debería aplicar los mismos parámetros para usuarios registrados conocidos, que para visitantes, o usuarios recientemente inscritos.

Para los Ingenieros de ZARZA es y será un placer ayudarle en todas sus necesidades de desarrollo de software, y deseamos recordarle que nuestra especialidad, es satisfacer sus necesidades, mantenerle protegido, y elevar su rendimiento y el rendimiento de su presencia en la Internet.

¿Quiere formar parte de la élite de gerentes que cada semana elevan su rendimiento y capacidades al próximo nivel?

Coaching para Gerentes✅ Semana a semana creamos mejores gerentes en el Podcast 🎙️ Coaching para Gerentes, es gratis y le permite conocer una porción los temas que abordamos 1:1 como parte de los servicios de Coaching Gerencial que se pueden permitir los gerentes de empresas que invierten en obtener mayores y mejores habilidades de alta gerencia.