Captcha

Captcha [1] ( de CAPTCHA  - Prueba de Turing pública completamente automatizada en inglés para  diferenciar a las computadoras y los humanos - una prueba de Turing  pública completamente automatizada para distinguir entre computadoras y personas ) es una prueba de computadora utilizada para determinar si el usuario del sistema es un humano o una computadora.

El término "Captcha" apareció en 2000. La idea principal de la prueba es ofrecer al usuario una tarea que una persona puede resolver fácilmente, pero que es extremadamente difícil y requiere mucho tiempo para una computadora. A partir de 2013, los usuarios de todo el planeta ingresan aproximadamente 320 millones de captchas todos los días [2] .

CAPTCHA  es una marca comercial de Carnegie Mellon University , que desarrolló esta prueba.

Opciones de implementación

En la versión más común de captcha, el usuario ingresa los caracteres que se muestran en la imagen (a menudo con la adición de ruido o translucidez), pero de tal manera que el reconocimiento del texto por parte de la máquina es muy difícil. De acuerdo con los estándares generalmente aceptados de accesibilidad a Internet para personas con discapacidad visual, dicho captcha debe complementarse con una variante basada en el reconocimiento de voz (captcha de audio). También hay captchas en los que debe seleccionar la imagen correcta de la lista [3] .

También se pueden usar otras tareas poco algorítmicas: por ejemplo, averiguar qué hay en la imagen, marcar todas las imágenes con gatos o responder una pregunta relacionada con el conocimiento o la mentalidad de las personas (por ejemplo, el acertijo: "una pera está colgando , no te lo puedes comer”). Sin embargo, es el reconocimiento de caracteres el que se ha convertido en el estándar: no está ligado a ninguna cultura (el principal obstáculo es la mala vista), funciona incluso en navegadores móviles y un usuario experimentado reconoce rápidamente una imagen como captcha. Los captchas combinados también son posibles.

Defectos

La desventaja de captcha es que no siempre es posible analizarlo. Debido a esto, a veces hay que ingresar el captcha varias veces.

Métodos para pasar captcha por un robot

Explotación de vulnerabilidades

Vulnerabilidad en CAPTCHA

Supongamos que la imagen con los números 1234 se llama con el código:

< img src = "/captcha.php?code=1234" />

En lugar de pasar el captcha, la máquina lee la URL e ingresa la respuesta 1234 .

Con calificaciones insuficientes de un programador web, un bot puede emitir una respuesta sin pasar la prueba. Por ejemplo, según cierta información contenida en la página, la computadora misma, sin intervención humana, es capaz de responder correctamente una pregunta que supuestamente solo una persona podría responder. O una persona pasa la prueba una vez y la computadora fabrica muchas solicitudes con la misma respuesta.

adivinación

Se utiliza principalmente para captchas "no tradicionales" con un pequeño número de opciones de respuesta (1000 o menos). El robot "adivina" enviando respuestas aleatorias, y algunas de ellas resultan ser correctas.

Usando bases de datos

Este enfoque es efectivo cuando las preguntas las prepara el administrador y no las genera la máquina. Con la ayuda de las bases de datos, puede pasar por muchas opciones de captcha no tradicionales: por ejemplo, marcar todas las imágenes con gatos.

Reconocimiento automático

Captcha muy débil (usando phpBB como ejemplo ) El recorte de brillo se aplica a la imagen superior (todo lo que es más oscuro que algún umbral se vuelve negro, el resto es blanco). Se determinan los límites de los caracteres y cada uno de ellos se compara con la base de caracteres. Para analizar dicho CAPTCHA, ni siquiera se necesita el reconocimiento óptico de caracteres , ya que tiene varias debilidades a la vez:
  • Facilidad de separar caracteres del fondo usando una clave de color,
  • Facilidad para separar caracteres entre sí,
  • Fuente fija y sin distorsiones.

Después del corte, se forma un patrón aleatorio en las letras, por lo que no hay una garantía del 100 % de que se reconozcan todos los caracteres (en PWNtcha, la calificación de este CAPTCH es del 99 %). Pero el uno por ciento restante es completamente irrelevante.

El nuevo hilo del foro de phpBB (3.xx) tiene como valor predeterminado un CAPTCHA mejorado que utiliza la biblioteca de gráficos GD .

Hay programas (por ejemplo: PWNtcha) que reconocen implementaciones específicas de captcha. Además, es posible conectar módulos de programas de reconocimiento de texto de uso general (por ejemplo: FineReader , OmniPage ) a programas de terceros para el reconocimiento de imágenes captcha.

En relación al reconocimiento automatizado, existen los conceptos de "captcha débil" y "captcha fuerte". Entre las “debilidades” se encuentran una fuente fija, una posición fija de los caracteres, ausencia de distorsión, separación de los caracteres del fondo mediante una clave de color o desenfoque gaussiano , fácil separación de los caracteres entre sí, etc. Sin embargo, a veces sucede que un fuerte captcha es difícil de reconocer y para una persona, que ya es un extremo inaceptable. Ocasionalmente hay un captcha que es fácil de leer por una computadora y con mucha dificultad por una persona (por ejemplo, con una imagen de bajo contraste), tal captcha no corresponde en absoluto al propósito del captcha como tal.

Si la imagen generada resultó ser ilegible, el usuario, por regla general, tiene la oportunidad de obtener una nueva. Un captcha fuerte debería devolver una imagen con una respuesta diferente [4] .

Muchas variantes de captcha no tradicionales también resultaron ser débiles: "no resistentes a los robots" [5] [6] .

Reconocimiento por poder

Existe un método de "reconocimiento" que utiliza un recurso humano de sitios muy visitados. El robot descarga el captcha del servicio de Internet requerido y lo presenta al visitante del sitio. A cambio, el visitante del sitio obtiene acceso al recurso y el robot reconoce el código que se muestra en la imagen y lo ingresa en el sitio "asaltado". Es posible que un visitante del sitio ni siquiera sospeche que cada video que mira se convierte en el registro de un nuevo buzón para enviar spam.

Para protegerse (no completamente) de este método de eludir el captcha, el sitio cambia automáticamente la imagen del captcha si la respuesta no se ingresó de inmediato (dentro de un corto período de tiempo), regularmente cada vez después de un cierto período de tiempo, o al intentar iniciar una respuesta tardía.

También existen sitios especializados para intercambiar o vender captchas.

Utilidad del captcha contra el spam

Captcha por sí solo no puede detener a los spammers . Por otro lado, este método de protección puede causar grandes molestias a las personas.

Además, se abusa del captcha, por ejemplo, en el alojamiento de archivos , lo que lleva los servicios de reconocimiento de captcha a las masas y lo hace aún más ineficiente [7] .

Servicios CAPTCHA conocidos

reCAPTCHA es un proyecto que utiliza una palabra ilegible para OCR , que es uno de los muchos fragmentos distorsionados de libros escaneados, además de una palabra generada por computadora, como elemento de trabajo para las respuestas de los usuarios a una solicitud de captchaEste servicio tiene en cuenta los métodos de uso y las capacidades de los programas para digitalizar textos de libros . Para mayor confiabilidad, la misma palabra se ofrece a varios usuarios de diferentes sitios. Cuando diferentes usuarios dan la misma respuesta a una solicitud de CAPTCHA, se supone que han ingresado la palabra correcta.

ver también

notas

  1. Ekaterina Nikolaevna Shagalova  - Diccionario de las últimas palabras extranjeras: finales del siglo XX-principios del siglo XXI; AST, 2009; pág.576; ISBN 5-17-061402-0 , ISBN 978-5-17-061402-8
  2. Louis von Ahn: Massive Online Collaboration Archivado el 6 de junio de 2012 en Wayback Machine // Conferencia TED , 2011
  3. Basec Captcha . Consultado el 4 de abril de 2015. Archivado desde el original el 4 de diciembre de 2017.
  4. Algoritmo de verificación  . CAPTCHA.com. Consultado el 4 de diciembre de 2011. Archivado desde el original el 16 de abril de 2013.
  5. Solución MintEye CAPTCHA en 23 líneas de código / Habrahabr . Fecha de acceso: 21 de enero de 2013. Archivado desde el original el 2 de febrero de 2013.
  6. Algoritmo de reconocimiento KeyCaptcha . Archivado desde el original el 17 de octubre de 2012.
  7. Preguntas frecuentes sobre Captcha - Comunidad JD . Consultado el 3 de mayo de 2020. Archivado desde el original el 19 de enero de 2021.

Enlaces