Saltar ao contido

CAPTCHA

Na Galipedia, a Wikipedia en galego.
Este CAPTCHA de "smwm" distorsiona a mensaxe para evitar a interpretación automática por unha computadora. 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 computadoras e humanos) desenvolto pola universidade do Carnegie-Mellon.

Un CAPTCHA inclúe unha computadora (un servidor) que pide a un usuario resolver un test. Como as computadoras deben ser incapaces de resolver o CAPTCHA, todo usuario que dá cunha solución correcta é presuntamente humano. O termo inventouse no 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 amosados. Como neste caso a proba é feita por un ser humano, en contraste co test de Turing que é feito por unha computadora, é descrito ás veces como "Proba inversa de Turing".

A primeira discusión sobre as probas automatizadas que diferencian seres humanos de computadoras, co obxectivo de controlar o acceso aos servizos da web, aparece nun manuscrito 1996 de Moni Naor do instituto de Weizmann de ciencia, co titulo "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 desenvoltos en 1997, para o sitio web 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 (tipografías 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 das computadoras. 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

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. Serven tamén para limitar o uso automatizado dun 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 et al. 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 as computadoras actuais non son quen de resolver, mentres que a maioría de seres humanos poden .[3] Un CAPTCHA non confía nunca en que o atacante non 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 precisa ser público, mais pode estar cuberto por patente. Aínda que a publicación poida axudar a demostrar que a resolución require solventar un 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 baseados 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 grande de persoas con problemas de aprendizaxe que inclúan a interpretación de texto.

Un CAPTCHA visual impide o acceso a usuarios cegos, e pode impedir persoas daltónicas. Por esta razón, algunhas implementacións permiten optar por un CAPTCHA de son[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 resoltos 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 implantación que permitan ao atacante omitir completamente o CAPTCHA, e finalmente improvisando 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ía facilmente resolver centenas delas cada hora. Se os seres humanos fosen empregados 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.

  1. "Breaking a Visual CAPTCHA". www.cs.sfu.ca. Consultado o 2019-02-28. 
  2. "CAPTCHA: Telling Humans and Computers Apart Automatically". Arquivado dende o orixinal o 17 de febreiro de 2008. Consultado o 09 de febreiro de 2008. 
  3. "CAPTCHA: Telling Humans and Computers Apart Automatically". www.webcitation.org. Arquivado dende o orixinal o 04 de abril de 2012. Consultado o 2019-02-04. 
  4. O artigo proposta para un Captcha accesíbel Arquivado 25 de febreiro de 2008 en Wayback Machine. describe como o test de son 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. Consultado o 2006-08-22. 
  7. Doctorow, Cory (2004-01-27). "Solving and creating CAPTCHAs with free porn". Boing Boing. Arquivado dende o orixinal o 09 de febreiro de 2006. Consultado o 2006-08-22. 
  8. "Breaking CAPTCHAs Without Using OCR". Howard Yeend (pureMango.co.uk). 2005. Arquivado dende o orixinal o 25 de xuño de 2017. Consultado o 2006-08-22. 
  9. Kumar Chellapilla, Kevin Larson, Patrice Simard, Mary Cz (2005). Computers beat Humans at Single Character Recognition in Reading based Human Interaction Proofs (HIPs) (PDF). Microsoft Research. Arquivado dende o orixinal (PDF) o 06 de marzo de 2008. Consultado o 2006-08-02. 

Véxase tamén

[editar | editar a fonte]

Ligazóns externas

[editar | editar a fonte]