Kako je CAPTCHA postala test koji ni ljudi više ne umeju da polože?

Verovatno ste bar jednom zurili u devet mutnih fotografija pokušavajući da odlučite da li se tri piksela na ivici slike računaju kao semafor. Kliknete ono što mislite da je tačno, dobijete novu seriju fotografija, pa još jednu. U nekom trenutku više niste potpuno sigurni da li sajt proverava da li ste čovek ili koliko ste uporni.

Piše: Nemanja Pavlović  ·  CEO / Osnivač

5 min čitanja

Kako je CAPTCHA postala test koji ni ljudi više ne umeju da polože?

CAPTCHA je napravljena sa vrlo jednostavnom idejom: zadati zadatak koji čovek može lako da reši, a računar ne može.

Problem je što računari više nisu isti kao 2000. godine, kada je CAPTCHA nastala.

Još zanimljivije je što se zbog tog napretka promenila i sama definicija onoga što znači „dokazati da ste čovek“.

Kako je sve počelo?

CAPTCHA je skraćenica od Completely Automated Public Turing Test to Tell Computers and Humans Apart. Termin i prve sisteme razvili su istraživači sa Carnegie Mellon University oko 2000. godine, među kojima su bili Luis von Ahn, Manuel Blum, Nicholas Hopper i John Langford. Cilj je bio da se spreče automatizovani programi koji su mogli masovno da otvaraju naloge, šalju spam ili zloupotrebljavaju web servise.

Princip je bio elegantan: računar generiše test i zna tačan odgovor, ali sam ne ume dovoljno dobro da reši zadatak koji postavlja.

Dugo su taj zadatak predstavljala iskrivljena slova i brojevi. Ljudskom oku tekst je bio dovoljno prepoznatljiv, dok je tadašnjim sistemima za optičko prepoznavanje karaktera pravio ozbiljan problem.

Onda su računari postali bolji.

U jednom trenutku smo CAPTCHA-om radili i koristan posao

Luis von Ahn je 2007. predstavio reCAPTCHA, sistem koji je imao još jednu zanimljivu funkciju. Deo reči koje su ljudi prepisivali dolazio je iz skeniranih knjiga i drugih štampanih materijala koje softver za digitalizaciju nije uspevao pouzdano da pročita.

Tako je vreme koje su milioni ljudi svakako trošili dokazujući da nisu botovi korišćeno i za digitalizaciju tekstova. Google je reCAPTCHA kupio 2009. godine. Bio je to prilično pametan kompromis: već morate da rešite test, pa taj ljudski rad makar može da doprinese nečemu korisnom.

Ali upravo je razvoj tehnologije koja je omogućavala sve bolje prepoznavanje teksta počeo da ruši osnovnu pretpostavku CAPTCHA-e.

Mašine su naučile da čitaju ono što smo namerno učinili nečitljivim

Do 2014. situacija je postala prilično apsurdna.

Google je tada objavio da njihova istraživanja pokazuju da tehnologija veštačke inteligencije može da reši čak i veoma zahtevne varijante iskrivljenog teksta sa 99,8% tačnosti. Kompanija je otvoreno zaključila da iskrivljeni tekst više nije pouzdan način razlikovanja ljudi od računara.

CAPTCHA je zato morala da evoluira.

Tekst su počele da zamenjuju fotografije. Pronađite semafore. Izaberite autobuse. Označite pešačke prelaze.

Na telefonu je to delovalo praktičnije od dešifrovanja nečitljivih slova, ali je suštinski problem ostao isti: svaki test koji osmislimo kao nešto što je lako ljudima, a teško mašinama, ima ograničen rok trajanja ako mašine postaju sve bolje upravo u toj oblasti.

A onda se pojavio checkbox: „I’m not a robot“

Google je krajem 2014. predstavio No CAPTCHA reCAPTCHA, poznati checkbox „I’m not a robot“.

Na prvi pogled deluje gotovo komično. Ako bot može da klikne dugme, čemu onda dugme koje pita da li ste bot?

Odgovor je da sam klik nikada nije bio ceo test.

Google je objasnio da reCAPTCHA koristi sistem za procenu rizika koji posmatra korisnikovu interakciju sa sistemom pre, tokom i nakon CAPTCHA provere. Kada sistem proceni da je poseta legitimna, korisnik može da prođe samo jednim klikom. Kada postoji više sumnje, može da dobije dodatni izazov sa slikama.

Nekoliko godina kasnije stigao je reCAPTCHA v3, kod kojeg korisnik uopšte ne mora da rešava vidljivi test. Sistem umesto toga vraća procenu rizika za konkretnu interakciju, a vlasnik sajta odlučuje šta će uraditi sa sumnjivijim zahtevima.

CAPTCHA je tako polako prestala da bude pitanje koje rešavamo i postala sistem koji nas procenjuje u pozadini.

I tu dolazimo do najboljeg dela: botovi ponekad rešavaju CAPTCHA bolje od ljudi

Ovo više nije samo internet šala.

Istraživanje predstavljeno na USENIX Security konferenciji 2023. obuhvatilo je 1.400 učesnika koji su rešili ukupno 14.000 CAPTCHA testova. Istraživači su zatim rezultate ljudi uporedili sa rezultatima automatizovanih napada objavljenim u prethodnim istraživanjima.

Kod CAPTCHA testova zasnovanih na slikama ljudi su, u zavisnosti od sistema, imali prosečnu tačnost približno između 71% i 81%, dok su automatizovani napadi navedeni u poređenju za različite CAPTCHA sisteme postizali između 85% i 100% tačnosti, pri čemu je većina bila iznad 96%. Kod nekih tipova botovi su bili i znatno brži.

To ne znači da svaki bot danas može jednostavno da prođe svaku CAPTCHA proveru. Studija poredi konkretne CAPTCHA sisteme sa najboljim poznatim napadima iz literature, pa rezultate ne treba generalizovati na svaki sajt i svaku zaštitu.

Ali rezultat lepo pokazuje problem.

Test koji je nastao sa pretpostavkom da će čovek imati očiglednu prednost nad računarom više ne može uvek da računa na tu prednost.

Za neke ljude problem je postojao od samog početka

Postoji još jedan razlog zbog kojeg priča o CAPTCHA-i nije samo priča o iritantnim semaforima.

W3C već godinama upozorava na probleme koje CAPTCHA sistemi mogu da naprave ljudima sa invaliditetom. Vizuelni testovi mogu biti nepristupačni slepim i slabovidim osobama, kao i nekim ljudima sa kognitivnim teškoćama, uključujući disleksiju. Audio CAPTCHA može da uvede potpuno drugačiji skup problema.

Zato smernice za pristupačnost, kada se CAPTCHA koristi, predviđaju alternativne načine rešavanja zadatka kroz različite modalitete.

Drugim rečima, pitanje „da li ste čovek?“ nikada nije bilo jednako jednostavno za sve ljude.

Budućnost CAPTCHA-e verovatno izgleda kao da CAPTCHA ne postoji

Jedan od zanimljivijih pravaca razvoja danas jeste potpuno uklanjanje klasičnih vizuelnih zagonetki.

Cloudflare je 2023. saopštio da je na svojoj mreži prestao da koristi tradicionalne vizuelne CAPTCHA testove i zamenio ih sistemom Turnstile. Umesto traženja autobusa i semafora, Turnstile koristi niz provera u browseru i signale o okruženju kako bi procenio zahtev. U većini slučajeva korisnik ne radi ništa, dok se u određenim situacijama može pojaviti jednostavan checkbox.

Njegova dokumentacija opisuje proveru karakteristika browsera, dostupnosti određenih web API-ja i male računarske izazove koji se odvijaju u pozadini.

Ironija je prilično dobra: decenijama smo pokušavali da osmislimo sve komplikovanije zadatke koje samo čovek može da reši, da bismo sada došli do sistema koji pokušavaju da utvrde da smo ljudi tako što nam uopšte ne postavljaju pitanje.

Jesmo li onda završili sa semaforima?

Još ne.

Vizuelni CAPTCHA testovi i dalje postoje, a različiti sajtovi koriste različite generacije i implementacije sistema za zaštitu od automatizovane zloupotrebe.

Trend je, međutim, prilično jasan. Google već godinama nudi proveru zasnovanu na proceni rizika bez obaveznog prekidanja korisnika, dok Cloudflare svoj sistem eksplicitno pozicionira kao alternativu CAPTCHA zagonetkama.

Najzanimljivije je koliko se prvobitno pitanje promenilo.

Početkom dvehiljaditih trebalo je pronaći zadatak koji čovek ume da reši, a računar ne ume.

Danas računari prepoznaju tekst, klasifikuju slike i mogu da automatizuju veliki deo aktivnosti koje su nekada služile kao dokaz ljudskosti. Zbog toga se zaštita sve više seli sa pitanja „da li možete da rešite ovaj zadatak?“ na pitanje „da li ova interakcija izgleda kao legitimna aktivnost?“

I možda je to najbolji dokaz koliko se internet promenio u poslednjih dvadesetak godina.

CAPTCHA je napravljena da pronađe ono što ljudi rade bolje od računara.

Danas je jedan od njenih najvećih problema upravo to što je ta lista postala mnogo kraća.

AUTOR

Nemanja Pavlović · CEO / Osnivač

Piše o strategiji, prodaji i digitalnim proizvodima.