Captcha
CAPTCHA står for Completely Automated Public Turing test for å fortelle Computers and Humans Apart . [ 1 ] De er maskinstyrte utfordring-respons-tester (ingen vedlikehold eller menneskelig intervensjon er nødvendig for å utføre dem, og de er implementert på en datamaskin) som brukes til å bestemme når brukeren er et menneske eller et automatisk program ( bot). Det ligner på en Turing-test, men med den forskjellen at i Turing-tester er dommeren et menneske. Av denne grunn kalles captcha noen ganger omvendte Turing-tester eller omvendte Turing- tester ; [ 2 ] Denne betegnelsen er noe tvetydig, siden den til slutt kan bety at deltakerne eller brukerne prøver å overbevise noen (menneske eller automat) om at de ikke er mennesker.
Ideelt sett er algoritmen som brukes offentlig. På denne måten blir brudd på en captcha et kunstig intelligensproblem og ikke brudd på en hemmelig algoritme.
Motivasjon
Ulike tjenester tilbys gratis på Internett i håp om at annonseinntekter eller salg av brukerdata vil generere fortjeneste. Hovedantakelsen bak forretningsmodellene som brukes av disse nettstedene, er at menneskelige øyne ser disse annonsene. Imidlertid kan disse tjenestene brukes av automatiserte programmer for å skaffe penger. Nettbaserte e-postkontoer kan for eksempel brukes til å sende spam eller sosiale nettverkstjenester, eller tjenester for innholdspostering kan brukes til kommando- og kontrollservere for et botnett . CAPTCHA-er ble utviklet som et middel for å begrense angripernes evne til å eskalere sine aktiviteter ved hjelp av automatiserte midler. [ 3 ]
Historikk
Begrepet begynte å bli brukt i år 2000 av guatemalieren Luis von Ahn , [ 4 ] samt av Manuel Blum og Nicholas J. Hopper [ 5 ] fra Carnegie Mellon University , sammen med John Langford fra IBM . [ 1 ] [ 6 ]
Opprinnelig besto captchaen i at brukeren riktig skrev inn et sett med tegn som vises i et forvrengt bilde som vises på skjermen. En maskin skal ikke være i stand til å forstå og legge inn sekvensen riktig, så bare et menneske kunne gjøre det. [ 1 ] [ 7 ]
Litt etter litt har programmene lært å løse denne typen problemer. Dette har tvunget CAPTCHA til å utvikle seg, noe som gir opphav til forskjellige typer CAPTCHA. [ 8 ]
Typer
Hovedegenskapene som en CAPTCHA må oppfylle er: [ 3 ]
- Enkelt å løse for mennesker.
- Enkelt å generere og evaluere den leverte løsningen
- Vanskelig å løse med maskiner
Flere forskjellige teknikker er utviklet for å generere CAPTCHAer, som hver tilfredsstiller egenskapene beskrevet ovenfor i ulik grad. De vanligste er:
- Tekstbaserte eller tekstbaserte CAPTCHAer . De består av en visuell utfordring i form av alfanumeriske tegn som er forvrengt på en slik måte at tilgjengelige datasynsalgoritmer har problemer med å segmentere og gjenkjenne teksten. Samtidig har mennesker, med en viss innsats, evnen til å tyde teksten og svare riktig på utfordringen. [ 3 ] Fra 2017 ble det utviklet programvaresystemer basert på Artificial Intelligence som enkelt har klart å løse denne typen CAPTCHAS. På denne måten har det vært nødvendig å redesigne CAPTCHAS for å utvikle mer egnede og moderniserte systemer. [ 9 ] [ 10 ] Tekst CAPTCHA kan brukes til å digitalisere deler av dokumenter som OCR ikke klarer å skille. For eksempel plasserte Google to ord i Captcha-testene sine. Av disse to ordene var det ene kjent av systemet og det andre ikke. Systemet ba brukeren, som ikke vet hvilket ord som er kjent og ikke, om å skrive inn begge ordene som tekst. Dersom ordet kjent for systemet er skrevet inn riktig av et menneske, antok systemet at det er stor sannsynlighet for at brukeren også har skrevet inn det ukjente ordet riktig. Hvis det ukjente ordet mottar den samme menneskelige transkripsjonen (oversettelse fra bilde til tekst) ved flere anledninger, anses den transkripsjonen som korrekt. [ 11 ]
- Basert på matematiske beregninger. I dem må brukeren løse enkle matematiske problemer. [ 12 ] For å gjøre det vanskelig å løse problemet med programvare, er det vanlig å introdusere tekst som kompliserer tolkningen av problemet. For eksempel "Multipliser 7 og 7, og skriv det første sifferet i resultatet i svarfeltet." [ 8 ]
- Basert på ordspill. I dem får brukerne et ord og blir bedt om å skrive det på nytt, eller en serie av dem der de må gjenta det siste. Eller vis en farge og be ham skrive navnet. [ 12 ]
- Basert på logiske spørsmål, spørsmål om generell kultur eller som krever en viss grad av kunnskap om emnet for den aktuelle søknaden. For eksempel, hvilken farge har Santiagos hvite hest?I hvilken by ligger Colosseum? [ 8 ]
- Basert på sosiale nettverk. Det består i å be brukeren registrere seg gjennom en av kontoene deres på sosiale nettverk. Generelt er det ganske trygt når det gjelder å skille mellom tilstedeværelsen av et menneske eller en robot, men mange mennesker er nølende med å gi denne relevante informasjonen siden det gjør det lettere å modellere brukerens atferd gjennom ulike plattformer (profilering av brukere) . [ 12 ]
- Basert på tidsbegrensning. Denne typen CAPTCHA teller tiden det tar for en bruker å fylle ut et skjema. Det er forstått at mennesket vil trenge litt tid mens boten vil gjøre det nesten automatisk. Selv om en robot kan trenes til å vente i en viss tid, vil den oppdages umiddelbart hvis den ikke er spesifikt opplært til å gjøre det. [ 12 ]
- Basert på skjulte felt. I den finner vi en rekke felt eller celler, hvorav noen er synlige for mennesket og andre ikke. Imidlertid er alle feltene synlige for programvaren fordi de kan lese innholdet i cellene. På denne måten vil de gå i fella ved å fylle ut alle feltene og ikke bare de som var synlige for folk. [ 12 ]
- Visuelle eller grafiske CAPTCHA-er. I dem blir vi presentert med en serie bilder, og vi må klikke på alle de som inneholder et bestemt element som trafikklys eller butikkvinduer. Den har for tiden en ganske høy suksessrate. Utseendet til bildegjenkjenningsalgoritmer setter imidlertid deres effektivitet i fare. [ 12 ] Google bruker også captchaer som består av et rutenettbilde der brukeren må klikke på bestemte områder, for eksempel i feltene der et trafikkskilt vises. [ 8 ]
- Basert på lyd- eller auditive CAPTCHA-er . Den består vanligvis av en knapp som brukeren kan bytte til den stemte versjonen av en figursekvens med som deretter kan skrives inn i feltet for svaret. Det er viktig at opptaket er forståelig og tilpasset brukerens språk, noe som ikke alltid skjer. Denne typen captchas brukes ofte som et alternativ til visjonsbaserte captchaer, for å gi tilgang for personer som har synsvansker. [ 8 ]
- Lekne captchaer . Flere og mer kompliserte CAPTCHAS er nødvendige, som for visse tjenester skremmer brukere. En ny trend består av gamification, det vil si å gjøre CAPTCHA-oppløsningen til et mer underholdende spill enn komplekse CAPTCHA-er. Leverandører som SweetCaptcha eller FunCaptcha tilbyr underholdende spill som kan integreres i captchaer. For eksempel å ha en puslespillbrikke og si hvor den skal passes, eller rotere et bilde til det er riktig orientert. [ 8 ]
- Basert på videoer. [ 9 ]
- Basert på atferds- eller atferdsanalyse. For eksempel følger versjon 2 og 3 av reCAPTCHA denne strategien. [ 8 ]
Applikasjoner
Captchaer brukes til å prøve å hindre automatiserte programmer fra å bruke visse tjenester. For eksempel, slik at de ikke kan delta i undersøkelser eller diskusjonsfora , registrere seg for å bruke e - postkontoer eller sende spam (for å sende en e-post blir brukeren tvunget til å bestå testen). [ 13 ]
CAPTCHA-oppløsningstjenester
For å lindre funksjonaliteten til CAPCHA-ene har betalte CAPTCHA-oppløsningstjenester blitt opprettet . Disse tjenestene er av to typer: De som er basert på automatiserte løsninger og de som er basert på menneskelig arbeid. [ 3 ]
Kostnaden knyttet til hver tjeneste bestemmer graden av bruk. Siden for at en tjeneste skal brukes, er det nødvendig at verdien av de tilknyttede eiendelene (for eksempel en e-postkonto) er mer verdt enn kostnaden for å løse CAPTCHA. [ 3 ]
Basert på automatiserte løsninger
Med denne tilnærmingen utvikler det seg en teknisk konkurranse mellom de som utvikler løsningsalgoritmer og de som utvikler stadig mer forvirrende utfordringer som svar. Tenk imidlertid på at den underliggende kostnadsstrukturen favoriserer utfordrerbyggerens talsmann. [ 3 ] Teknikkene som brukes for å løse denne typen problemer er fra kunstig intelligens. For eksempel maskinlæring [ 8 ] og nevrale nettverk . [ 14 ]
Forskningen innen kunstig intelligens går videre i et jevnt tempo, og spesialiserte programmers evne til å tolke CAPTCHA-er forbedres i en rasende hastighet. Mange captcha-leverandører prøver å kompensere for fremgang med stadig mer komplekse verifiseringsmetoder, ofte på grensen til hva som er gjennomførbart. Allerede i 2010 påpekte forskere fra Stanford University at captchas i mange tilfeller er en stor utfordring selv for internettbrukere. [ 8 ]
Basert på menneskelig arbeid
Å bruke menneskelig arbeidskraft til å løse CAPTCHA omgår effektivt designpunktet. I tillegg har kombinasjonen av billig Internett-tilgang og varenaturen til dagens CAPTCHA-er globalisert løsningsmarkedet; faktisk har engroskostnadene falt raskt ettersom tilbydere har rekruttert arbeidere fra rimeligere arbeidsmarkeder. I dag er det mange tjenesteleverandører som kan løse et stort antall CAPTCHA-er gjennom on-demand-tjenester med priser så lave som $1 per tusen. [ 3 ]
Kontroverser
Tilgjengelighet for funksjonshemmede
Ethvert vanskelig å løse problem innen kunstig intelligens kan brukes, for eksempel bilde/tegngjenkjenning ( OCR ) eller talegjenkjenning . Disse løsningene forhindrer imidlertid personer med syns- eller hørselshemninger fra å få tilgang til beskyttede ressurser. [ 15 ] I tillegg, på grunn av deres natur og oppdrag, kan enkelte assistenter for funksjonshemmede (som skjermlesere ) ikke tolke dem, noe som lar tilgangen til ressursen være blokkert. [ 16 ]
Noen nettsteder lar deg velge mellom visuell eller lydvalidering. For tiden er utviklingen av lydbaserte captchaer langt bak de visuelle og de er ikke like effektive. Det er et prosjekt under utvikling kalt Accessible Captcha som prøver å lage en skjermleserorientert captcha for blinde.
Systemsvakheter
Det er noen få tilnærminger til hvordan CAPTCHA kan brytes: ved å bruke mennesker som billig eller uvitende arbeidskraft for å gjenkjenne dem, ved å utnytte feil i implementeringen som lar en angriper omgå gjenkjenning, og til slutt ved å forbedre programvare for optisk tegngjenkjenning . Prosjekter som reCAPTCHA har nylig forsøkt å forbedre effektiviteten til CAPTCHA-systemet for å unngå gjenkjennelse av OCR-programmer.
Å lage en sikker captcha krever kompliserte metoder for å implementere som bare store selskaper har. Men det finnes metoder for å hindre OCR-programmer. En av disse metodene er "crossout-metoden". Denne metoden består i å krysse ut captcha-bokstavene på en slik måte at et menneske vet hvordan det skal identifisere dem, men en OCR-programvare kan ikke skille dem fra hverandre. For denne metoden er det viktig å bruke samme skriftfarge (å endre fargen er egentlig lite nyttig siden for å gjenkjenne dem gjør de bildet til svart) og krysse ut med samme farge som bokstavene, hvis mulig, en linje som er ikke rett og mer enn én piksel tykk.
Det er mulig å løse CAPTCHA-er ved å bruke utnyttede mennesker som billig arbeidskraft for å dekode CAPTCHA-er. Et dokument fra W3C -organisasjonen sier at en operatør «lett kan sjekke hundrevis av dem hver time». På den annen side er det de som hevder at dette ikke er økonomisk forsvarlig. En cracking - teknikk som brukes med systemet er å bruke et skript som viser en CAPTCHA fra et angrepet nettsted som en CAPTCHA på et nettsted som eies av angriperen, der intetanende mennesker besøker og løser disse CAPTCHA-ene.
Usikre implementeringer
Howard Yeend har identifisert noen implementeringsproblemer med dårlig utformede CAPTCHAer:
- Noen CAPTCHA-beskyttelsessystemer kan omgås uten å bruke et optisk tegngjenkjenningssystem ( OCR ) ganske enkelt ved å gjenbruke økt-ID-en til et kjent bilde.
- CAPTCHA-er som er vert på delte servere utgjør også et problem: et sikkerhetsproblem på en annen virtuell vert kan gjøre CAPTCHA-systemet sårbart.
- Noen ganger, hvis en del av CAPTCHA-genereringsprogramvaren gjøres på klientsiden (validering gjøres på serveren, men teksten som brukeren må identifisere gjengis på klientsiden), kan brukere endre klienten for å vise teksten uten gjengivelse. Noen systemer bruker MD5 -hasher som er lagret på serversiden, som ofte kan knekkes.
Datamaskinkaraktergjenkjenning
Selv om CAPTCHA-er opprinnelig ble designet for å forhindre OCR -programvare i å gjenkjenne tegn i genererte bilder, har forskningsprosjekter vist at det er mulig å omgå mange CAPTCHA-er med programmer som er spesielt designet for en bestemt type CAPTCHA. For CAPTCHA med forvrengte bokstaver er den typiske tilnærmingen å følge disse trinnene:
- Fjerning av bakgrunnsstøy, for eksempel med fargefiltre og finlinjedeteksjon.
- Segmentering, for eksempel ved å dele bildet i segmenter som inneholder en enkelt bokstav.
- Identifiser bokstaven til hvert segment, og bruk dermed informasjonen som er hentet ut fra bildet.
Trinn 1 er vanligvis veldig enkelt å automatisere. I 2005 ble en nevrale nettverksalgoritme vist å ha en mindre feilmargin enn mennesker ved å løse trinn 3. Den eneste delen der mennesker utkonkurrerer maskiner er på trinn 2. Hvis bakgrunnsstøyen består av former som ligner på bokstaver og bokstavene er festet til denne støyen, er segmentering gjort nesten umulig med gjeldende programvare. Derfor bør en effektiv CAPTCHA fokusere på trinn 2, segmentering.
Se også
Referanser
- ^ abc Grossman , Lev (5. juni 2008). "Datakompetansetester: Er du menneskelig?" (på engelsk) . Tid . Arkivert fra originalen 30. april 2009 . Hentet 12. juni 2008 . «Carnegie Mellon-teamet kom tilbake med CAPTCHA. (Det står for "fullstendig automatisert offentlig Turing-test for å skille datamaskiner og mennesker fra hverandre"; nei, akronymet passer egentlig ikke.) Poenget med CAPTCHA er at det å lese disse virvlende bokstavene er noe datamaskiner ikke er så gode på. . »
- ↑ Charles Naut, David Chung, Maurizeio Calo, Reverse Turing Test , 'SlideShare' digital space, 1. juli 2010.
- ↑ a b c d e f g Forstå CAPTCHA-løsningstjenester i en økonomisk kontekst . Marti Motoyama et al. 2010
- ↑ Oppfinneren av Captcha-koden er guatemalansk! Arkivert 6. oktober 2014 på Wayback Machine . , digital side 'Yahoo! Nyheter på spansk', 23. september 2014.
- ↑ Nicholas J. Hopper: Forskningsinteresser; Utdanning; Publikasjoner; Akademiske utmerkelser og priser; Lærererfaring; Akademikere og profesjonelle tjenester; Konferanse- og workshoppresentasjoner; Annen yrkeserfaring; Sammendrag av aksepterte og innsendte artikler , 'Computer Science Department / Carnegie Mellon University' nettsted.
- ^ "CAPTCHA: Å fortelle mennesker og datamaskiner fra hverandre automatisk" . Carnegie Mellon University. Arkivert fra originalen 4. april 2012 . Hentet 16. august 2012 .
- ↑ Sergio Luján Mora (2011). Hva er en CAPTCHA? Opprinnelse og bruk . Spania: Universitetet i Alicante. Scene klokken 4:01 . Hentet 16. august 2012 .
- ↑ a b c d e f g h i Captcha: Hvordan skille mennesker fra roboter . Digitale guideioner. 22. august 2018
- ↑ a b Kunstig intelligens lærer å lure 'captcha' . Francesco Rodella. landet er. 14. desember 2018
- ↑ Tekstbaserte CAPTCHA-er er ikke lenger pålitelige . Francisco R. Villatoro. Vitenskapen til Francis Mule. 8. desember 2017
- ↑ CAPTCHA. SVAKHETER OG STYRKER . Patricia Roman Escabias. Avsluttende gradsprosjekt i datateknikk. Universitetet Carlos III i Madrid. 24. juni 2013.
- ↑ a b c d e f Hva er en Captcha, alt du trenger å vite . Raul Garcia Calvache. Hosting Challenge. 28. oktober 2019
- ^ "Applikasjoner av CAPTCHAer" . Carnegie Mellon University. Arkivert fra originalen 4. april 2012 . Hentet 16. august 2012 .
- ↑ CAPTCHA-gjenkjenning med nevrale nettverk . Alexander Leon Fernandez. Avsluttende gradsprosjekt. Høyskole for ingeniør og teknologi. University of the Lagoon. 10. juni 2019
- ↑ Sergio Luján-Mora. «Hva er en CAPTCHA? Tilgjengelighetsproblemer» . Hentet 19. mai 2013 .
- ↑ "Utilgjengelighet for CAPTCHA " . W3C. 23. november 2005 . Hentet 16. august 2012 .
Eksterne lenker