CAPTCHA

Na Galipedia, a Wikipedia en galego.
Este CAPTCHA de "smwm" distorsiona a mensaxe para evitar a interpretación automática por un computador. No entanto, existen programas capaces de ler este tipo de CAPTCHA[1].

CAPTCHA é o acrónimo de "Completely Automated Public Turing test to tell Computers and Humans Apart" (proba de Turing pública completamente automatizada para diferenciar entre computadores e humanos) desenvolvido pola universidade do Carnegie-Mellon.

Un CAPTCHA inclúe a un computador (un servidor) que pide a un usuario resolver un test. Como os computadores deben ser incapaces de resolver o CAPTCHA, todo usuario que dá cunha solución correcta é presuntamente humano. O termo inventouse en 2000 por Luis von Ahn, Manuel Blum e Nicholas J. Hopper (todos eles da universidade do Carnegie-Mellon), e por John Langford de IBM.

Un tipo habitual de CAPTCHA pídelle ao usuario que identifique as letras dunha imaxe distorsionada, engadindo ás veces unha secuencia escurecida das letras ou dos díxitos mostrados. Como neste caso a proba é feita por un computador, en contraste co test padrón de Turing que é feito por un ser humano, é descrito ás veces como "Proba inversa de Turing".

A primeira discusión sobre das probas automatizadas que diferencian seres humanos de computadores, co obxectivo de controlar o acceso aos servizos da web aparece nun manuscrito 1996 de Moni Naor do instituto de Weizmann de ciencia, titulado "Verification of a human in the loop, or Identification via the Turing Test" (verificación dun ser humano implicado, ou identificación a través do test de Turing).

Este CAPTCHA moderno mellora tentando crear un fondo distorsionado, cun alto nivel de torsión do texto, este CAPTCHA céntrase en facer a segmentación e dificulta engadindo unha liña angular

Os CAPTCHAs primitivos parece que foron desenvolvidos en 1997, para o site de procura AltaVista por Andrei Broder e os seus colegas para impedir que os bots engadisen URLs á súa Ferramenta de Busca. Procurando facer as súas imaxes resistentes ao ataque do OCR (Recoñecemento Óptico de Caracteres), o equipo ollou o manual do scanner, obtendo recomendacións para mellorar os resultados do OCR (typefaces similares, fondos lisos, etc.). En 2000, von Ahn e Blum desenvolveron e publicaron a noción dun CAPTCHA, que incluíse todo o programa que puidera distinguir aos seres humanos dos computadores. Inventaron exemplos múltiplos, incluíndo o primeiro CAPTCHA en ser usado en Yahoo.

Actualmente, os creadores de CAPTCHA recomendan o reCAPTCHA [2].

Aplicacións[editar | editar a fonte]

Os CAPTCHAs utilízanse para impedir que programas executen automaticamente accións que degraden a calidade do servizo dun sistema dado.

Os CAPTCHAs úsanse para protexer os sistemas vulnerábeis ao Spam de E-mail, tal como os servizos do AOL Webmail, do Gmail, do Hotmail, e Yahoo. Son tamén activamente utilizados para limitar e controlar o acceso automatizado aos blogs ou os forums, en busca de promocións comerciais, ou vandalismo. Sirven tamén para limitar o uso automatizado a un servizo.

CAPTCHA é tamén o mecanismo para impedir listas automatizadas en marcadores e en votacións de discusión pública. Un estudo de Arora e outros describiu as vulnerabilidades de varios forums que non usan este tipo de test (incluíndo a BBC).

Características[editar | editar a fonte]

Un sistema de CAPTCHAs consta de medios automatizados capaces de xerar novos desafíos que os computadores actuais son incapaces de resolver, mentres que a maioría de seres humanos poden [3]. Un CAPTCHA non confía nunca no atacante que coñeza previamente o desafío. Por exemplo, un checkbox “prema aquí se vostede é un bot” pode servir para distinguir entre seres humanos e computadores, pero non é un CAPTCHA pois un atacante non precisa esforzarse para quebrar ese formulario específico. Para ser un CAPTCHA, o sistema debe xerar automaticamente novos desafíos que requiren técnicas da intelixencia artificial na resolución.

Na práctica, o algoritmo usado para crear o CAPTCHA non necesita ser público, mais pode estar cuberto por patente. Aínda que a publicación poida axudar a demostrar que a resolución require a solución dun problema difícil no campo da intelixencia artificial, reter deliberadamente o algoritmo pode aumentar a integridade dun xogo limitado dos sistemas (ver a seguranza por medio do escurecemento). Quebrar un CAPTCHA require xeralmente un esforzo específico ata o punto de tornar non rendíbel o beneficio concedido polo desvío automatizado en comparación ao esforzo requirido para acadar o acceso.

Accesibilidade[editar | editar a fonte]

Os CAPTCHAs baseado en lectura de texto - ou outras tarefas de percepción visual - impiden que un usuario cego ou con restricións na visión acceda ao recurso protexido. Crea tamén barreiras para un número gran de persoas coas problemas de aprendizaxe que inclúan a interpretación de texto.

Un CAPTCHA visual impede o acceso por usuarios cegos, e pode impedir persoas daltónicas. Por esta razón, algunhas implementacións permiten optaren por un CAPTCHA de audio[4].

A escolla de adicionar un CAPTCHA a unha aplicación é un contrapeso entre a facilidade de utilización para usuarios lexítimos e crear desafíos para os non lexítimos.

Tentativas en CAPTCHAs accesíbel[editar | editar a fonte]

Houbo varias tentativas de crear CAPTCHAs máis accesíbeis. As tentativas inclúen o uso do Javascript[5], de preguntas matemáticas (“o que é 1+1”), ou “de preguntas do sentido común” (“que cor ten o ceo”). Estas tentativas violan un ou ambos os principios de CAPTCHAs: ou ben non se poden xerar automaticamente ou ben poden ser resolvidos facilmente dado o estado da intelixencia artificial.

Saltando o CAPTCHA[editar | editar a fonte]

Hai algunhas aproximacións para derrotar os CAPTCHAs: usando o traballo humano para recoñecelos, explorando erros na implementación que permitan ao atacante contornar completamente o CAPTCHA, e finalmente en improvisar un software de recoñecemento de caracteres.

Servos humanos[editar | editar a fonte]

CAPTCHA é vulnerábel a un ataque que use seres humanos na resolución dos enigmas. De acordo cunha estimación, un operador poderían facilmente resolver centenas delas cada hora. Se os seres humanos fosen empregados dedicados que receben salario mínimo isto non pode considerarse viábel[6],mais os servizos como o Amazon Mechanical Turk tiveron éxito. Outra variante é copiar as imaxes de CAPTCHA e usalas como CAPTCHAs nun lugar de elevado tráfico posuído polo atacante. Con tráfico suficiente, o atacante pode conseguir unha solución ao enigma do CAPTCHA.[7]

Execución Insegura[editar | editar a fonte]

As fallas de proxecto nun CAPTCHA poden permitir burlar unha medida de seguranza, ou poderían tornar un ataque OCR máis doado de saltar.

  • Os sistemas de protección dalgúns CAPTCHAs poden saltarse sen usar o OCR simplemente reutilizando a identificación dunha imaxe coñecida do CAPTCHA. Correctamente proxectado un Un CAPTCHA non permite tentativas múltiplas da solución[8]. Isto impide a reutilización dunha solución correcta ou de facer unha segunda suposición despois dunha tentativa incorrecta do OCR.
  • Usar un sistema de criptografía simple e con poucas combinacións.
  • Usando soamente un pequeno conxunto fixo de imaxes. Finalmente, cando nun período de tempo se levasen recollidas bastantes solucións de imaxe, o CAPTCHA pode quebrarse simplemente ollando enriba das solucións nunha táboa.

Recoñecemento de caracteres por computador[editar | editar a fonte]

Aínda que os CAPTCHAs visuais sexan proxectados para derrotar o software padrón do OCR deseñado para a exploración do orixinal, un número de proxectos de investigación probaron que é posíbel derrotar moitos CAPTCHAs con programas que se axustan especificamente a un tipo particular. Para CAPTCHAs con letras distorsionadas, a aproximación consiste tipicamente nas seguintes etapas:

  1. Extracción da imaxe da páxina web.
  2. Remoción da desorde do fondo, por exemplo con filtros da cor e detección de liñas finas.
  3. Segmentación, isto é rachando a imaxe nos segmentos que conteñen unha única letra.
  4. Identificando a letra para cada segmento.

A maioría dos CAPTCHAs presentes na web traballan como unha única liña de imaxe. Algunhas execucións rachan a imaxe nas pezas múltiplas ou codifican as partes da imaxe no código do HTML, facendo que un proceso automático lea e execute o OCR na páxina.

A remoción da desorde é normalmente doada de facer automaticamente. En 2005, mostrouse tamén que os algoritmos de redes neurais teñen unha taxa de erro máis baixa que os seres humanos na identificación do glyph[9]. A única parte onde os seres humanos gañan aínda aos computadores é na segmentación. Se a desorde do fondo consiste en formas similares, e as letras estivesen conectadas por esta desorde, a segmentación tórnase case imposíbel co software actual. Polo tanto, un CAPTCHA eficaz debe focalizar na segmentación.

Recoñecemento de imaxes fronte ao Recoñecemento de textos[editar | editar a fonte]

Coa demostración (a través das publicacións da investigación) de que algúns CAPTCHAs son vulnerábeis a OCRs e ataques, algúns estudosos propuxeron alternativas ao recoñecemento de caracteres, no formulario de recoñecemento CAPTCHA os usuarios identificarían obxectos simples dentro de imaxes presentadas. O argumento é que o recoñecemento do obxecto considérase tipicamente un problema máis complexo que o recoñecemento de caracteres, debido ao dominio limitado dos caracteres e dos díxitos nos alfabetos da maioría de linguas naturais.

Beneficios Colaterais[editar | editar a fonte]

Algúns dos inventores orixinais do sistema de CAPTCHA implementaron medios para medir e utilizar o esforzo e tempo gastado polas persoas que están respondendo aos desafíos de CAPTCHA. Contando traballo con elementos resolvidos” e “non resolvidos” incluíndo imaxes que non foron recoñecidas con éxito a través do OCR. Os mantedores do CAPTCHA estiman que os sistemas existentes de CAPTCHA representan aproximadamente 150.000 horas de traballo por día, que podería ser batido a través da revisión dos sistemas. Isto representa aproximadamente 75 anos de traballo.

Notas[editar | editar a fonte]

  1. http://www.cs.sfu.ca/~mori/research/gimpy/
  2. http://captcha.net/
  3. http://www.captcha.net/
  4. O artigo proposta para un Captcha accesíbel describe como o test audio e visual pode combinarse para aumentar a accesibilidade.
  5. http://www.protectwebform.com/smartcaptcha
  6. "Hire People To Solve CAPTCHA Challenges". Petmaíl Design. 2005-07-21. http://petmail.lothar.com/design.html#auto34.
  7. Doctorow, Cory (2004-01-27). "Solving and creating CAPTCHAs with free porn". Boing Boing. http://www.boingboing.net/2004/01/27/solving_and_creating.html.
  8. "Breaking CAPTCHAs Without Using OCR". Howard Yeend (pureMango.co.uk). 2005. http://www.puremango.co.uk/cm_breaking_captcha_115.php.
  9. Kumar Chellapilla, Kevin Larson, Patrice Simard, Mary Cz (2005) (PDF). Computers beat Humans at Single Character Recognition in Reading based Human Interaction Proofs (HIPs). Microsoft Research. http://www.ceas.cc/papers-2005/160.pdf. Consultado o 2006-08-02.

Véxase tamén[editar | editar a fonte]

Ligazóns externas[editar | editar a fonte]

en portugués:

en francés:

en inglés:

Derrotando aos CAPTCHAs[editar | editar a fonte]

en inglés: