什么是验证码?它怎么知道你不是机器人?
Zakaj spletne strani uporabljajo CAPTCHA? Od kje sploh izvira ta zaščita? In zakaj je tako pogost pojav?
Vsaka spletna stran je lahko tarča kibernetskega napada, digitalnih zlorab in botov, ki zbirajo osebne podatke obiskovalcev za zlonamerne namene. CAPTCHA je bila zasnovana za zaščito pred tovrstnimi zlorabami in napadi botov.
Tudi v uredništvu ob prijavi računalnik preverja, ali smo robot ali človek. Včasih moramo okenček samo obkljukati, drugič pa moramo na zaslonu najti vse fotografije z vodnim hidrantom ali kaj podobnega. Zakaj ta razlika, boste izvedeli v nadaljevanju.
Kaj sploh je CAPTCHA?
CAPTCHA je akronim za »Completely Automated Public Turing Test to Tell Computers and Humans Apart« (slo. popolnoma samodejni javni Turingov test za ločevanje računalnikov od ljudi). Preprosto povedano gre za naključen test z izzivom in točno določeno rešitvijo, ki ga spletna mesta uporabljajo za obrambo pred napadi. 40 % celotnega svetovnega prometa na spletu naredijo »boti«, zato si zlahka predstavljate, kakšno škodo lahko naredijo. Če jih že takoj na začetku prepoznaš in na spletno stran spustiš samo ljudi, si lahko prihraniš veliko tegob.
Kako se je razvijala tehnologija CAPTCHA?
Prvi CAPTCHA testi so se pojavili proti koncu devetdesetih let prejšnjega stoletja in so bili sestavljeni iz popačenih slik s kombinacijo črk in številk. Tehnologijo je razvijalo več različnih skupin z namenom, da bi se tako lažje zoperstavili botom in hekerjem. Se še spomnite iskalnika AltaVista? Njihovi razvijalci so želeli preprečiti botom, da bi v podatkovno bazo dodajali zlonamerne spletne naslove.
Sam izraz CAPTCHA je bil prvič uporabljen leta 2003, skovala ga je skupina raziskovalcev računalništva na univerzi Carnegie Mellon. Spodbudo za razvoj jim je dal govor direktorja takratnega velikana Yahoo, ki je spregovoril o težavah s pajki, ki so ustvarjali milijone lažnih e-naslovov.
Skupina raziskovalcev je ustvarila računalniški program, ki je najprej ustvaril naključno besedilo, nato ustvaril izkrivljeno sliko tega besedila (ki se je imenovala CAPTCHA) in na koncu od uporabnika zahteval rešitev in klik na polje »Nisem robot«. Takrat tehnologija optičnega prepoznavanja znakov (OCR) ni uspela dešifrirati te enostavne uganke, zato so roboti kot za stavo padali na testu CAPTCHA. Kmalu zatem je Yahoo od svojih uporabnikov zahteval uspešno opravljen test CAPTCHA pred prijavo v e-poštni naslov. Upad števila botov je spodbudil tudi druga podjetja, da so implementirali zaščito CAPTCHA.
Neizogibno pa so hekerji razvili algoritme, ki so lahko zanesljivo pretentali novo zaščito. Ta bitka traja še danes.
reCAPTCHA v1 – nadgradnja, ki pa ni uspela ustaviti botov
2007 je Luis von Ahn, član prvotne skupine, ki je razvila sistem CAPTCHA, predstavil reCAPTCHA v1, s katero je želel otežiti delo hekerjem in izboljšati natančnost optične prepoznave znakov, ki so jo uporabljali za digitalizacijo tiskanih besedil. Hekerji so naleteli na še bolj popačene slike, kmalu pa so bile besede tudi prečrtane.
OCR je izboljšal tako, da je eno sliko naključno ustvarjenega popačenega besedila nadomestil z dvema popačenima slikama besed, ki sta jih iz dejanskih besedil skenirala dva različna programa OCR. Prva beseda ali kontrolna beseda je bila beseda, ki sta jo oba programa OCR pravilno prepoznala; druga beseda je bila beseda, ki je programa OCR nista prepoznala. Če je uporabnik pravilno prepoznal kontrolno besedo, je program reCAPTCHA domneval, da je uporabnik človek.
Dve leti kasneje se je vmešal Google, ki je kupil novo tehnologijo in jo začel uporabljati za digitalizacijo besedil za Google Knjige (Google Books) in jo licenciral drugim podjetjem. Razvoj tehnologije OCR je bil istočasno voda na mlin hekerjem, ki so to pridno izkoristili za razvoj naprednih algoritmov, ki so začeli uspešno reševati nove izzive reCAPTCHA. Leta 2012 so se pojavili slikovni izzivi reCAPTCHA, ki so lahko pretentali OCR in so bili obenem bolj prijazni za mobilne uporabnike.
reCAPTCHA v2 – boljša, vendar invazivna za uporabnike
Druga različica (reCAPTCHA v2 ali no CAPTCHA reCAPTCHA) je v celoti odpravila tekstovne in slikovne izzive. Namesto tega se je začelo uporabljati preprosto potrditveno polje »Nisem robot«, v ozadju pa reCAPTCHA v2 analizira uporabnikove interakcije s spletnimi stranmi, kako hitro uporabnik tipka, analizira tudi piškotke, zgodovino naprav in IP naslov. Sledi tudi gibanju miške. Uporabnikom, ki se sistemu zdijo sumljivi, se pojavi CAPTCHA izziv, ostali pa lahko nadaljujejo z brskanjem.
Ta novejša zaščita ima več pomanjkljivosti. Ker se veliko opira na piškotke, je bolj prijazna do uporabnikov brskalnika Chrome in tistih, ki so prijavljeni z Google računom. Na primer: Firefox uporabniki (ali Brave, Opera …), ki imajo izklopljene piškotke tretjih oseb, imajo več možnosti, da se jim pojavi izziv CAPTCHA.
Z napredkom umetne inteligence pa se je zgodilo, da lahko boti rešijo tudi najnaprednejše reCAPTCHA izzive. Zlonamerneži si lahko pomagajo tudi s t. i. CAPTCHA kmetijami, ki so avtomatizirana storitev, pri kateri razvijalci botov uporabljajo poceni človeško delovno silo za reševanje CAPTCHA izzivov.
Več kot očitno je bilo, da obstoječa zaščita ne zadošča.
reCAPTCHA v3 – še večje zanašanje na AI
Tretja nadgradnja v celoti odstrani potrditveno polje »Nisem robot« in se v še večji meri zanaša na umetno inteligenco in njeno sposobnost analize alarmnih faktorjev. reCAPTCHA v3 se integrira s spletno stranjo prek vmesnika API JavaScript in deluje v ozadju. Uporabnike ocenjuje na lestvici od 0 (bot) do 1 (človek) na podlagi njihovih dejanj na spletu. Lastniki oziroma administratorji spletnih strani lahko nastavijo samodejne ukrepe, ki se sprožijo v primeru, da reCAPTCHA prepozna morebitnega bota. Pred prijavo v profil lahko na primer zahteva večfaktorsko avtentikacijo, komentar na forumu mora najprej odobriti moderator in podobno.
Metoda je bolj prijazna do uporabnikov, ki niti ne vedo, da se v ozadju izvaja tovrstna zaščita. Vseeno pa je tu vedno prisotno vprašanje zasebnosti, hkrati pa imajo pri novi generaciji več dela spletni administratorji, ki se morajo odločiti, kje je prag za določen odziv.
Za kaj se uporablja CAPTCHA?
- Preprečevanje lažnih registracij, s katerimi boti izkoriščajo sistem za pošiljanje neželene pošte, zlonamerne kode in druge kibernetske dejavnosti.
- CAPTCHA se ponekod uporablja za varovanje pred sumljivimi transakcijami. Pred leti smo imeli krizo s čipi, kar so boti na primer izkoristili za nakup večjih zalog grafičnih kartic, ki so jih potem prodajali po višjih cenah.
- Spletne ankete, volišča, javnomnenjske raziskave so pogosto tarča botov, ki želijo izkriviti rezultate.
- Prevaranti in kibernetski kriminalci pogosto uporabljajo komentarje in ocene izdelkov za širjenje prevar in zlonamerne programske opreme ali pa za umetno dviganje v razvrstitvi določenega izdelka v spletni trgovini (Amazon, eBay …).
Primerov uporabe je veliko, skupna pa jim je bitka z boti, ki jih nepridipravi uporabljajo, ker se želijo okoristiti na račun spletnih obiskovalcev. CAPTCHA ni neprebojna zaščita, je pa nedvomno pomembna za celovitost spleta in njegovih obiskovalcev.