CAPTCHA
Completely Automated Public Turing test to tell Computers and Humans Apart
CAPTCHA er en test, der bruges på hjemmesider til at afgøre om en besøgende er et menneske eller et automatiseret program, en såkaldt bot. Testen stiller en opgave, som normalt er let for et menneske at løse, men vanskelig for et computerprogram, og den optræder typisk i forbindelse med login, udfyldelse af formularer og gennemførelse af køb på nettet.
Har du nogensinde skullet skrive en række forvrængede bogstaver af, sætte flueben i en boks med teksten “Jeg er ikke en robot” eller klikke på alle billeder med en cykel eller et trafiklys, så har du løst en CAPTCHA. På den måde beviser du over for hjemmesiden, at det er et menneske og ikke et automatiseret script, der forsøger at oprette en konto, logge ind eller sende en besked.
Hvad står CAPTCHA for?
CAPTCHA er en forkortelse for “Completely Automated Public Turing test to tell Computers and Humans Apart”, altså en fuldautomatisk, offentlig Turing-test der kan skelne computere fra mennesker. Navnet trækker på den klassiske Turing-test, som Alan Turing beskrev i 1950 til at vurdere, om en maskine kan efterligne menneskelig adfærd. Selve betegnelsen CAPTCHA stammer fra begyndelsen af 2000’erne, hvor et forskerhold på Carnegie Mellon University udviklede teknologien til at løse et konkret problem: bots der oprettede store mængder falske mailkonti.
Hvorfor bruges CAPTCHA?
Formålet med en CAPTCHA er først og fremmest at holde automatiserede programmer væk fra funktioner, der er beregnet til mennesker. En hjemmeside kan bruge testen til at forhindre spam-indlæg i kommentarfelter og kontaktformularer, blokere for automatisk oprettede brugerkonti og gøre det sværere at gennemføre gentagne, automatiserede login-forsøg. Uden en form for CAPTCHA kan et program relativt let afprøve tusindvis af brugernavne og adgangskoder i timen eller oversvømme et debatforum med reklamebeskeder. CAPTCHA fungerer dermed som et ekstra lag oven på den øvrige sikkerhed på en side, ved siden af fx beskyttelse mod SQL injection og andre former for automatiserede angreb rettet mod login- og formularfelter.
Sådan virker en CAPTCHA i praksis
Princippet bag en CAPTCHA er, at systemet præsenterer en udfordring, som er baseret på noget, mennesker generelt er bedre til end computere, fx at genkende forvrænget tekst eller identificere genstande i et billede. Når brugeren afgiver det rigtige svar, eller adfærden på siden ligner et menneskes, giver systemet adgang til at fortsætte. Hvis svaret er forkert, eller adfærden virker maskinel, kan brugeren blive bedt om at prøve igen eller blive helt blokeret fra at fortsætte.
Forskellige typer af CAPTCHA
Den enkleste variant er en afkrydsningsboks, hvor brugeren blot markerer, at vedkommende ikke er en robot, mens systemet i baggrunden analyserer musebevægelser og andre adfærdsmønstre op til klikket. En anden udbredt type er tekstbaseret CAPTCHA, hvor brugeren skal genskrive en række forvrængede bogstaver eller tal, som er svære for tekstgenkendelsesprogrammer (OCR) at tolke. Billedbaseret CAPTCHA beder i stedet brugeren om at udpege bestemte objekter, fx trafiklys eller cykler, i en række fotos. De nyeste og mest usynlige varianter analyserer i stedet brugerens generelle adfærd på siden, fx skrivehastighed og museaktivitet, og viser kun en synlig opgave, hvis adfærden virker mistænkelig.
Forskellen på CAPTCHA og reCAPTCHA
reCAPTCHA er Googles egen, gratis udgave af teknologien og en af de mest udbredte CAPTCHA-tjenester på nettet, mens CAPTCHA er den bredere betegnelse for hele kategorien af tests. I de nyeste versioner af reCAPTCHA kan tjenesten køre en usynlig vurdering i baggrunden og kun vise en synlig opgave, hvis brugerens adfærd afviger fra et typisk menneskeligt mønster. Andre udbydere tilbyder tilsvarende løsninger, men med egne metoder til at vurdere, om en besøgende er menneske eller bot.
Kan en CAPTCHA hackes?
CAPTCHA-teknologien har siden starten været en form for våbenkapløb mellem dem, der udvikler testene, og dem, der forsøger at omgå dem. Efterhånden som tekstgenkendelse og billedgenkendelse er blevet bedre, er ældre og simplere CAPTCHA-typer blevet nemmere for maskiner at løse. Moderne AI-modeller, herunder generative modeller som GAN (Generative Adversarial Network), kan i visse tilfælde trænes til at genkende mønstre i billedbaserede CAPTCHA-opgaver, og store netværk af inficerede maskiner, kendt som botnet, bliver nogle gange brugt til at fordele forsøg på at omgå testene over mange forskellige IP-adresser. Det er en del af baggrunden for, at nyere CAPTCHA-løsninger i stigende grad baserer sig på adfærdsanalyse og risikovurdering frem for enkeltstående, synlige gåder.
Ulemper ved CAPTCHA
CAPTCHA kan opleves som et irritationsmoment i en ellers hurtig proces, særligt hvis teksten er svær at aflæse, eller billedopgaven skal løses flere gange, før den godkendes. For nogle brugere med handicap kan visse CAPTCHA-typer også være vanskelige eller umulige at gennemføre, hvilket har presset udviklere til at lave mere tilgængelige alternativer, fx lydbaserede opgaver eller usynlige, adfærdsbaserede løsninger.