Seguro que has visto en cualquier sitio web mientras ingresas información segura como número de tarjeta de crédito o identificación de inicio de sesión que te ha pedido que ingreses algún código o número que se ve en una imagen o que resuelvas un problema matemático simple para avanzar más. Esos códigos de letras y números locos se llaman CAPTCHA, y son esencialmente una prueba de respuesta humana. La palabra es en realidad un acrónimo de: prueba pública de Turing completamente automatizada para diferenciar las computadoras y los humanos. En este artículo aprenderás qué es un código CAPTCHA, para qué se usa, tipos, ventajas, desventajas y alternativas.
¿Qué es un captcha?
Analizamos primero qué es un código Captcha.
Captcha es una estrategia utilizada para asegurar los sitios contra el spam. El objetivo es evitar que se envíen spam a sitios intuitivos examinando las entradas creadas de forma natural.
La abreviatura CAPTCHA significa «prueba de Turing inversa pública totalmente automatizada para distinguir computadoras y humanos». A partir del año 1950, el investigador de PC Alan Turing propuso una técnica para probar el límite académico del razonamiento computarizado. Como lo indicó el pionero del PC, la máquina puede imitar el cerebro humano cuando descubre cómo bromear con las personas en una conversación sin reconocer que es un PC.
El test de Turing inverso fue aprobado por primera vez por un programa de PC en 2014: como la máquina principal del planeta, el chatterbot Eugene Goostman prevaleció con respecto a desviar más del 30 por ciento del jurado libre para en cualquier caso 5 minutos. Eugene afirmó ser un joven ucraniano con conejillos de indias, que también era un gran admirador de Eminem.
Lo que parece ciencia ficción, es actualmente uno de los temas centrales en la web. Los sitios inteligentes deben tener la opción de reconocer a los invitados del sitio humano de los programas de PC dentro de la estructura de Verificación humana. Los captchas cada vez más avanzados están destinados a ayudar a prevenir el spam robotizado y los robots instantáneos (bots).
Ahora, los diseñadores web pueden usar el código CAPTCHA para:
- Evitar. El código podría evitar que los bots inunden blogs y secciones de comentarios con notas sobre sitios web, ventas, películas y más. El código también podría evitar que los bots envíen un formulario (como un voto) más de una vez.
- Proteger. Si tu sitio ofrece un registro, un CAPTCHA podría evitar que los bots soliciten cientos o miles de nombres de usuario / contraseñas. Esta misma técnica podría proteger tu dirección web de los spammers.
- Blindaje. El código CAPTCHA podría evitar que los bots lancen ataques de diccionario en sus sistemas de contraseñas. Las protecciones contra gusanos de correo electrónico también vienen con código.
¿Para qué sirve un código Captcha?
Los captchas se utilizan generalmente cuando las aplicaciones web requieren la entrada del cliente.
Los CAPTCHA son utilizados por cualquier sitio web que desee restringir el uso de bots. Los usos específicos incluyen:
- Mantener la precisión de la encuesta: los CAPTCHA pueden evitar el sesgo de la encuesta al garantizar que cada voto sea ingresado por una persona. Aunque esto no limita el número total de votos que se pueden realizar, alarga el tiempo necesario para cada voto, lo que desalienta los votos múltiples.
- Limitar el registro de servicios: los servicios pueden usar CAPTCHA para evitar que los bots envíen spam a los sistemas de registro para crear cuentas falsas. Restringir la creación de cuentas evita el desperdicio de los recursos de un servicio y reduce las oportunidades de fraude.
- Prevención de la inflación de las entradas: los sistemas de venta de entradas pueden utilizar CAPTCHA para evitar que los revendedores compren una gran cantidad de entradas para revenderlas. También se puede utilizar para evitar registros falsos a eventos gratuitos.
- Prevención de comentarios falsos: los CAPTCHA pueden evitar que los bots envíen spam a los foros de mensajes, formularios de contacto o sitios de reseñas. El paso adicional requerido por un CAPTCHA también puede desempeñar un papel en la reducción del acoso en línea por inconvenientes.
¿Dónde se suelen usar?
Como indicábamos anteriormente, los códigos captcha se usan principalmente en páginas web.
El razonamiento detrás de por qué los sitios web implementan código de CAPTCHA en sus procesos de registro se debe al spam . Esos personajes locos son una forma de comprobar si la persona que se registra o intenta comentar es un ser humano real en lugar de un programa informático que intenta enviar spam al sitio. Sí, es la misma razón por la que la mayoría de nosotros tenemos algún tipo de bloqueador de spam en nuestro correo electrónico.
Si el propietario de una web o blog no usara algún tipo de protección como CAPTCHA contra él, recibirían docenas de registrantes de spam o comentarios al día. Y eso es solo para sitios web pequeños y blogs personales que no son muy populares. Solo puedes imaginar lo que obtendrían los sitios web más populares.
Entonces, la próxima vez que te encuentres con una de esas imágenes y te frustres un poco al tratar de distinguir una Q de una O, recuerda no desahogar tu frustración en el sitio web. Concéntrate en los spammers, porque son la razón por la que tenemos que entrecerrar los ojos en nuestra pantalla casi cada vez que queremos registrarnos en un nuevo sitio web.
¿Qué tipos de captchas existen?
Veamos los diferentes tipos de código captcha que existen.
Textuales
Los CAPTCHA basados en texto son la forma original en la que se verificó a los humanos. Estos CAPTCHA pueden usar palabras o frases conocidas, o combinaciones aleatorias de dígitos y letras. Algunos CAPTCHA basados en texto también incluyen variaciones en las mayúsculas.
El CAPTCHA presenta a estos personajes de una manera que está alienada y requiere interpretación. La alienación puede implicar escalado, rotación, distorsión de personajes. También puede implicar caracteres superpuestos con elementos gráficos como color, ruido de fondo, líneas, arcos o puntos. Esta alienación proporciona protección contra bots con algoritmos de reconocimiento de texto insuficientes, pero también puede ser difícil de interpretar para los humanos.
Las técnicas para crear CAPTCHA basados en texto incluyen:
- El Rengo: selecciona un número arbitrario de palabras de un diccionario de 850 palabras y proporciona esas palabras de una manera distorsionada.
- EZ-Gimpy: es una variación de Gimpy que usa solo una palabra.
- Gimpy-r: selecciona letras al azar, luego distorsiona y agrega ruido de fondo a los caracteres.
- HIP de Simard: selecciona letras y números aleatorios, luego distorsiona los caracteres con arcos y colores.
Problemas matemáticos
Algunos mecanismos CAPTCHA piden a los usuarios que resuelvan un problema matemático simple como “3 + 4” o “18-3”. La suposición es que a un bot le resultará difícil identificar la pregunta e idear una respuesta. Otra variante es un problema de palabras, que pide al usuario que escriba la palabra que falta en una oración o que complete una secuencia de varios términos relacionados. Este tipo de problemas son accesibles para los usuarios con problemas de visión, pero al mismo tiempo pueden ser más fáciles de resolver para los robots malos.
Preguntas lógicas
Pueden incluirse también problemas de lógica o de cultura general pero, como los anteriores, sin complicación y sencillos por lo que no es necesario ser un experto en estas materias. Ejemplos de código Captcha son preguntas como juegos de palabras o en qué ciudad se encuentra un determinado monumento famoso. Información que cualquier persona sabe.
Juegos de palabras
Otra prueba usada comúnmente es aquella en la que se proporciona una palabra al usuario y se le pide que la vuelva a escribir, o una serie de ellas en la que tiene que repetir la última. O se muestra un color y se le pide que escriba su nombre. El objetivo es que el bot no pueda entender las instrucciones, aunque no siempre es así y cada vez son más capaces de resolver este tipo de pruebas.
Redes sociales
Cuando buscas un sitio, la alternativa de ingresar tu información privada es usar tu registro en redes sociales.
En lugar de mencionar que los clientes crean sus propios nombres de usuario y contraseñas, el propietario de la web puede permitirles usar la cuenta de Gmail o Facebook con pocas instantáneas esenciales. Este método evitará que los bots se alisten ya que no tienen cuentas en las redes sociales.
Este tipo de captcha ahorra tiempo a los clientes y aumenta la seguridad del sitio. Los clientes pueden usar la cuenta de las redes sociales sin tener que llenar la estructura de inicio de sesión. El lado malo es que algunos usuarios pueden dudar en vincular sus sitios sociales con un sitio totalmente nuevo, lo que podría resultar desagradable.
Límite de tiempo
Registrar la cantidad de tiempo que los usuarios dedican a completar el formulario es otro tipo eficaz de captcha.
Los bots tienden a completar el formulario de inmediato, mientras que los humanos tardarán un poco en ingresar la información requerida. Sin embargo, algunos usuarios se frustran fácilmente al perder el tiempo completando muchos formularios cada vez que comentan o realizan una tarea.
Visuales
Los CAPTCHA basados en imágenes se desarrollaron para reemplazar los basados en texto. Estos CAPTCHA utilizan elementos gráficos reconocibles, como fotos de animales, formas o escenas. Por lo general, los CAPTCHA basados en imágenes requieren que los usuarios seleccionen imágenes que coincidan con un tema o que identifiquen imágenes que no encajan.
Los CAPTCHA basados en imágenes suelen ser más fáciles de interpretar para los humanos que los basados en texto. Sin embargo, hay problemas con Captcha como la accesibilidad para los usuarios con discapacidad visual. Es más difícil para los bots interpretar los CAPTCHA basados en imágenes que el texto ya que, en este caso, se requiere tanto el reconocimiento de imágenes como la clasificación semántica.
Auditivos
Los CAPTCHA de audio se desarrollaron como una alternativa que otorga accesibilidad a los usuarios con discapacidad visual. Estos CAPTCHA se utilizan a menudo en combinación con CAPTCHA de texto o imágenes. Los CAPTCHA de audio presentan una grabación de audio de una serie de letras o números que luego ingresa un usuario.
Estos CAPTCHA se basan en que los bots no pueden distinguir los caracteres relevantes del ruido de fondo. Este tipo de CAPTCHA pueden ser difíciles de interpretar tanto para los humanos como para los bots.
Campos ocultos
Honeypot evoluciona creando un montón de campos ocultos en la página web para engañar a los bots. Los bots se programan para completar todos los campos que encuentran, incluso los invisibles. Cuando los bots lo completan, el sitio web puede reconocer instantáneamente que no es un verdadero usuario humano.
La ventaja de esta trampa es que los usuarios no son interrumpidos por ningún juego de captcha molesto ni pierden tiempo introduciendo mucha información innecesaria. Lo más probable es que ni siquiera conozcan la apariencia de un captcha de honeypot ni obtengan interacciones cuando visitan un sitio web.
A veces, existe la posibilidad de que los robots inteligentes detecten fácilmente este truco y se encuentren con los campos ocultos sin esfuerzo.
Lúdicos
Los webmasters preocupados por no espantar a sus visitas con captchas crípticos o complicadas operaciones matemáticas pueden apuntarse a la tendencia actual a la gamificación: proveedores como SweetCaptcha o FunCaptcha ofrecen juegos entretenidos que pueden integrarse en captchas.
SweetCaptcha confía en la capacidad asociativa de las personas y plantea tareas de clasificación de gran sencillez a las visitas de una web. Se usa una variación del clásico captcha con rompecabezas, que los usuarios han de resolver trasladando elementos de una imagen a su posición correcta.
Diferencias entre Captcha y reCaptcha
CAPTCHA y reCAPTCHA están desarrollados para proteger sitios web de ataques generados por máquinas llamados bots. Prácticamente no hay diferencia entre CAPTCHA y reCAPTCHA. Su único objetivo es garantizar que la máquina no use lo que está destinado a humanos, como publicar comentarios, registrarse en un sitio web, etc. La diferencia radica en el objetivo, el trabajo detrás de la escena y la seguridad.
- Reducir la carga de trabajo humana. El mayor objetivo detrás del desarrollo de reCAPTCHA es reducir la carga de trabajo de los humanos y hacer que el sistema sea completamente automatizado. Anteriormente, los textos de imágenes CAPTCHA disponibles para los sitios web fueron escritos por humanos. Este texto escrito por humanos luego se distorsiona agregando remolinos, deformaciones y mallas para asegurarse de que ninguna máquina lo lea.
- Detener el spam, leer libros. En reCAPTCHA, todos los textos se toman de las ediciones antiguas de los libros de The New York Times y Google que no son legibles para OCR (reconocimiento óptico de caracteres). Las palabras que no son reconocidas por el software de reconocimiento de caracteres se distorsionaron ligeramente y se convirtieron en CAPTCHA. Estos textos se muestran en bloque CAPTCHA / reCAPTCHA para que los usuarios los descifren. Es por eso que el lema de reCAPTCHAS dice «Detén el spam, lee libros».
- Mayor seguridad que CAPTCHA. La otra diferencia entre CAPTCHA y reCAPTCHA radica en la seguridad. Los CAPTCHA test son vulnerables a los ataques ya sea eliminando el desorden y el ruido de fondo o identificando al personaje en cada región. Cuando los spammers probaron las mismas técnicas contra imágenes creadas con reCAPTCHA, fallaron por completo. Hubo una gran diferencia en la transformación matemática en los textos CAPTCHA y reCAPTCHA. No podemos decir que los reCAPTCHA sean imbatibles, pero la tasa de éxito es tan baja como el 10%.
¿Los bots pueden engañar a las pruebas Captcha?
Debido a la evolución de la tecnología, la inteligencia artificial (IA) ha llegado al punto en que un moderno «bot CAPTCHA» o » block reCAPTCHA tool ”puede pasar por alto la prueba con facilidad, frustrando su propósito por completo.
Dado que los CAPTCHA no ofrecen ningún tipo de soporte o análisis, no puedes concentrarte en de dónde proviene el fraude. Incluso si tus CAPTCHA de alguna manera impidieran que los bots los esquivaran, aún tendrías que lidiar con el malware y el fraude humano.
Desafortunadamente, a pesar de los intentos de dejar atrás a los usuarios malintencionados en la publicidad digital, una búsqueda rápida en Google te proporcionará una gran cantidad de sitios que te dicen exactamente cómo desbloquear Captcha, incluso las pruebas más complejas.
Además, estas pruebas a menudo son tan difíciles o están mal hechas que los usuarios se enfadan al lidiar con ellas, pintando una imagen menos que ideal de CAPTCHA. En el mejor de los casos, esto conduce a un sabor amargo en la boca debido a la experiencia del usuario. En el peor de los casos, abandonan el sitio por completo.
Los CAPTCHA más utilizados en la actualidad no deben utilizarse como una solución definitiva para bloquear el tráfico fraudulento.
¿Qué otras brechas de seguridad presentan?
El primer gran problema con CAPTCHA es que a menudo se los considera una medida de seguridad, cuando en realidad no lo es. Un CAPTCHA code es una forma automatizada de diferenciar a los humanos de las computadoras. No prueba ni puede probar si se puede confiar en un usuario o no. Si estás utilizando CAPTCHA por seguridad, estás trabajando con la falsa suposición de que se puede confiar en los humanos, mientras que las computadoras (bots) no.
Si tu estrategia de seguridad es algo como «Si es un humano, podemos confiar en ellos», entonces tienes muchos problemas.
Afortunadamente, la mayoría de las personas se dan cuenta de que CAPTCHA no se trata de seguridad en absoluto, son simplemente una de las muchas formas de intentar reducir (pero no eliminar) los envíos de formularios automatizados.
El segundo gran problema de los CAPTCHA es que son relativamente fáciles de explotar. Mientras que un solo humano solo puede mirar un cierto número de imágenes por hora, varios humanos, con mucho tiempo en sus manos, pueden ver miles de imágenes por hora. Y si algo nos ha enseñado Internet es que hay muchos humanos en Internet con mucho tiempo libre. Entonces, mientras que un CAPTCHA ralentizará a un humano, no ralentizará a cientos de humanos.
Ventajas y desventajas del uso de Captchas
A continuación explicamos las ventajas y desventajas de usar códigos Captcha.
Ventajas
Dentro de las ventajas de los códigos Captcha, destacamos:
- Evitar el spam de comentarios: Los bots maliciosos envían spam a los formularios de tu sitio web con mensajes y anuncios no deseados. Interfieren en las interacciones genuinas de los usuarios y frustran a los usuarios. Si tienes un sitio web dirigido a una audiencia en particular y utilizas formularios de comentarios, habilitar CAPTCHA es una de las formas básicas de evitar el spam de comentarios hasta cierto punto.
- Detener los registros falsos: Las empresas en línea utilizan formularios para registrarse y suscribirse y para proporcionar servicios a sus usuarios. Los bots suelen apuntar a dichos formularios y llenarlos con información basura, lo que sesga las métricas de flujo de adquisición para el negocio. CAPTCHA generalmente se implementa para detener tales registros de spam de bots, pero hay ciertos bots sofisticados que eluden CAPTCHA y terminan enviando formularios de spam.
Desventajas
Dentro de las desventajas de los captchas, cabe destacar:
- Mala experiencia de usuario: Los CAPTCHA a veces pueden llevar mucho tiempo y ser desafiantes, especialmente aquellos con desafíos más complicados, como la identificación de texto o imágenes, que se han ganado notoriedad para los usuarios molestos. Los usuarios pueden potencialmente cambiar a sitios web sin CAPTCHA debido a la frustración.
- No es un remedio infalible contra los bots: Los CAPTCHA pueden proteger tu sitio web de los robots maliciosos menos sofisticados, pero recurrir a los CAPTCHA para abordar el problema del bot no es la mejor manera. Los CAPTCHA no distinguen entre usuarios genuinos y bots, y requieren indiscriminadamente que cada visitante los resuelva. Pueden averiguar cómo eliminar el Captcha.
¿Cómo poner un Captcha en mi web?
Cualquiera que sea el CAPTCHA que elijas utilizar, las piezas de código generalmente las proporciona el proveedor de CAPTCHA. La organización especializada en CAPTCHA se puede configurar regularmente para que solo muestre los códigos CAPTCHA que admites, y su dirección de correo electrónico se utilizará para las advertencias. Deberías colocar fragmentos de código en partes adecuadas de tu sitio web, en aquellos formularios donde debería aparecer la ventana CAPTCHA.
Generalmente, la integración de CAPTCHA es moderadamente simple. Por ejemplo, el código para integrar ReCAPTCHA se incorpora debajo.
Google reCAPTCHA es uno de los servicios CAPTCHA más populares. Se ofrece, de forma gratuita, con sus funciones básicas. También hay una versión Enterprise de pago con funciones ampliadas y posibilidades de integración. Ambas suscripciones se pueden encontrar en la sección Productos de la sección Desarrolladores de Google.
Alternativas al uso de Captcha
Como resultado de nuestras observaciones, recomendamos que nuestros clientes eliminen la herramienta CAPTCHA de su sitio. Por ello, os indicamos algunas alternativas al uso de Captcha.
Honey Pot
La mejor alternativa a una herramienta CAPTCHA es eliminar por completo el requisito de que los usuarios «demuestren que son humanos». La solución honeypot funciona colocando un campo oculto en una forma que el spambot vería, pero los usuarios no. La idea es que los spambots lo reconozcan como un campo normal para completar y cualquier formulario con una entrada se marcará como spam.
Método Timegate
Otra alternativa técnica que está oculta a los usuarios es el formulario basado en el tiempo. La idea detrás de esto es detectar un spambot en función del tiempo que lleva completar un formulario. Los usuarios genuinos se toman unos minutos para completar un formulario, mientras que los spambots completan los formularios al instante. Por lo tanto, cualquier formulario enviado demasiado rápido se identificaría como un bot. Podemos ver que esta solución funciona bastante bien, siempre que el marco de tiempo establecido sea práctico para que los usuarios lo logren.
Se trata de programar que si el formulario se rellena en menos de X segundos desde que el usuario empieza a escribir, no se da por válido porque un humano no puede tardar tan poco en rellenarlo, y por tanto se trataría de una máquina.