- #TECHBOX
- 5 min.
- 31.5.2023
Ako funguje "Nie som robot", alias často nenávidená, ale veľmi užitočná CAPTCHA?
Poznáte to, registrujete sa do novej služby alebo vypĺňate nejaký formulár a na jeho konci vás čaká zdanlivo zbytočné zaškrtávacie políčko, ktorým máte niekomu dokázať, že nie ste robot.
Ako môže jednoduché zaškrtávacie políčko vedieť rozoznať, či ste robot alebo človek? Kde vlastne tento nápad vznikol a prečo sa využíva? A kde sa vlastne stratili zvláštne zdeformované písmená?
Od jednoduchých obrázkov k logickým hádankám
Prepisovanie zdeformovaných písmen či označovanie školských autobusov, dopravných značiek či bicyklov na sérii obrázkov, sa stalo natoľko notoricky známym zážitkom každého používateľa internetu, že spolu s ním zľudovel aj názov tohto systému – kapča, teda pardon, CAPTCHA.
Hoci tento názov pozná už takmer každý, málokto už vie, že ide o skratku a takmer nikto už nedokáže povedať, čo presne sa pod ňou ukrýva. Podľa niektorých zdrojov ide o spojenie slov „CAPTure CHAracters“ (zachyť znaky), no oveľa zaujímavejšie znie názov „Completely Automated Public Turing test to tell Computers and Humans Apart“, teda kompletne automatický verejný Turingov test na rozoznanie počítača od človeka.
CAPTCHA vznikla v roku 2000 na Univerzite Carnegie Mellon ako odpoveď na rastúci problém robotov, ktoré dokázali na internete vytvárať registrácie, písať komentáre, vytvárať falošné objednávky a ďalšími rôznymi spôsobmi zahlcovať online služby. Úlohou testu bolo zabezpečiť, aby takéto aktivity na internete mohli robiť iba ľudia a keďže títo škodliví roboti nedokázali čítať obrázky, CAPTCHA začala práve nimi.
Prvé verzie CAPTCHA testov pozostávali z obrázkov ľahko zdeformovaných čísel a písmen, ktoré mal používateľ za úlohu správne prečítať a prepísať do textového poľa. Ako sa však zlepšovali spomínaní roboti, musela sa zlepšovať aj CAPTCHA. Časom tak do nej pribudli ťažšie čitateľné slová, obrázky či dokonca rôzne logické úlohy. Podľa profesora Luis von Ahna dnes existujú „pravdepodobne stovky“ rôznych verzií týchto automatizovaných Turingových testov. On stál pri vývoji toho najznámejšieho z nich- reCAPTCHA.
CAPTCHA, alebo skôr reCAPTCHA či hCaptcha
Šikovnosť robotov z roka na rok rástla, no náročnosť samotných testov už ďalej rásť veľmi nemohla. V istom bode sme sa dostali do stavu, kedy začalo byť absolvovanie CAPTCHA testov pre ľudí čoraz otravnejšie a frustrujúcejšie. Texty a obrázky tak museli ísť bokom a do hry nastúpili jednoduché zaškrtávacie políčko. Ak sa s nim niekde stretnete, s najväčšou pravdepodobnosťou pôjde o systém reCAPTCHA od spoločnosti Google alebo jeho priamu konkurenciu, hCaptcha.
Na prvý pohľad sa rozoznávanie človeka od robota zjednodušilo, no v skutočnosti je pravdou opak. Overovanie v rámci spomínaných systémov totiž po novom prebieha kompletne na pozadí a hoci sa na mnohých stránkach stretnete aj so spomínaným zaškrtávacím políčkom, niekedy overovanie prebieha aj bez neho, kompletne neviditeľne a bez vedomia používateľov.
Moderné systémy, ako sú reCAPTCHA (konkrétne typ NoCAPTCHA) a hCaptcha, stavajú svoju detekciu na vyhodnocovaní obrovského množstva dát, ktoré im napovie, či na druhej strane daného formulára, komentára či registrácie, sedí reálny človek alebo ide iba o softvér, teda robot.
Na stránke tohto systému je uvedené, že „hCaptcha zhromažďuje informácie, ako sú pohyby myši, pozícia posúvania, stlačenia klávesov, udalosti dotyku a informácie o gyroskope/akcelerometri“, zatiaľ čo systém NoCAPTCHA údajne pri posudzovaní používateľa berie do úvahy aj dáta o jeho internetovej aktivite a správaní „pred, počas a po absolvovaní testu“.
Klasická CAPTCHA nikam neodchádza a aj dnes sa vám ešte môže stať, že po zaškrtnutí políťka „Nie som robot“ na vás obratom vyskočí menšie okno, do ktorého budete musieť vpísať text z obrázka alebo rozhodnúť, na ktorých obrázkoch sa nachádza značka STOP, školský autobus či priechod pre chodcov.
Ak teda napr. webovú stránku navštevujete prostredníctvom anonymného okna, môže sa stať, že reCAPTCHA/hCaptcha nemá k dispozícii žiadne informácie o vašej predchádzajúcej aktivite na internete a tak vás cez zaškrtávacie políčko bez ďalšieho spôsobu overenia nepustí. K podobnej situácii môže dôjsť, ak políčko zaškrtnete na smartfóne položenom na stole, kedy systém nemá k dispozícii informácie o pohybe kurzora (logicky), ale ani o pohybe samotného zariadenia z akcelerometra a gyroskopu.
Ak si systém po zaškrtnutí nie je istý odpoveďou, zobrazí vám ďalší test, ktorým zároveň pomôžete vyškoliť umelú inteligenciu lepšie rozpoznávať text a objekty. To už je však celkom iná téma hodná samostatného článku.