Co je CAPTCHA a proč blokuje nákup vstupenek na koncert?

7

Jste připraveni koupit vstupenky na místní show. Košík je plný. Platební údaje byly zadány. A zde vzniká bariéra.

Toto je CAPTCHA.

Zkratka znamená Completely Automated Public Turing Test to Tell Computers and Humans Apart. Zní to jako něco ze sci-fi thrilleru, ale ve skutečnosti je to jen digitální ochranka. Tento test není pro lidi těžký. Pokud jste skutečný člověk, snadno to přejdete. Pro počítač? Musí to být téměř nemožné.

Cíl je jednoduchý: identifikovat škodlivé roboty dříve, než mohou poškodit vaše data nebo zničit váš nákup.

Tyto testy jsou také známé jako Human Interaction Proof (HIP). Všude jste je viděli. Klasická verze zobrazuje řetězec zdeformovaných, rozmazaných písmen. Zadáte je. Pokud je shoda s obrázkem správná, test prošel.

Je to tak jednoduché. Nebo to bylo předtím.

Vývoj úloh založených na obrázcích

Textové CAPTCHA se stávají zastaralými. Boti jsou stále chytřejší. Nyní se úlohy založené na rozpoznávání obrazu staly standardem.

Místo psaní písmen se vám zobrazí mřížka fotografií. Dálnice. Ulice města. parky. Budete požádáni o výběr obrázků obsahujících určité objekty.

  • Pouliční osvětlení
  • Požární hydranty
  • Jízdní kola
  • Přechody pro chodce

Vyberte správné fotografie. Udělejte si test.

Obrázky CAPTCHA založené na obrázcích jsou pro roboty mnohem obtížnější než ty textové. Zkreslené obrázky nebo rozmazané scény znesnadňují práci algoritmů rozpoznávání robotů. Vytvoření testu, který může vyřešit pouze člověk, vyžaduje pečlivý návrh.

Proč vůbec bojovat s roboty?

Proč vytvářet test k oddělení lidí a strojů?

Protože lidé se snaží ošidit systém. Zneužívají zranitelnosti v počítačích provozujících web.

Těchto lidí je mezi uživateli internetu menšina. Jejich činy ale ovlivňují miliony lidí.

Vezměme si jako příklad bezplatnou e-mailovou službu. Bez CAPTCHA může být zaplaven automatickými požadavky na vytvoření účtů. Automatizovaný program vytvoří tisíce účtů během několika sekund. za co? K pozdějšímu rozesílání spamu milionům lidí.

CAPTCHA to zastaví. Určuje, kteří uživatelé jsou skuteční lidé a kteří jsou pouze počítačové programy.

Každé selhání je průlomem v umělé inteligenci

Zde je zajímavý obrat událostí.

Lidé, kteří tyto testy vyvíjejí, nejsou vždy naštvaní, když selžou.

Aby test CAPTCHA selhal, musí někdo najít způsob, jak počítač naučit řešit.

Pokaždé, když bot obejde CAPTCHA, znamená to pokrok na poli umělé inteligence.

Ironie je zřejmá. Aplikace CAPTCHA vygeneruje test, který ani ona nedokáže vyřešit, aniž by předem znala odpověď. Spoléhá na lidské poznání jako parametr bezpečnosti.

Jsme v závodě ve zbrojení.

Boti jsou stále chytřejší. Testy jsou stále obtížnější. Uživatelé jsou naštvaní.

Ale dokud technologie lidi nedožene, budeme dál klikat na semafory.

Celý systém se vrací k Turingovu testu. Alan Turing, muž, který v podstatě vynalezl moderní výpočetní techniku, chtěl způsob, jak otestovat, zda stroje dokážou napodobit lidské myšlení. Schéma bylo jednoduché. Vyšetřovatel komunikuje se dvěma skrytými účastníky. Jedním z nich je člověk. Druhý je počítač. Pokud vyšetřovatel nemůže určit, kdo je kdo, vyhrává stroj.

CAPTCHA tuto logiku obrací. Cílem je vytvořit test, který lidé snadno projdou a roboti selžou. Musí být také dynamický. Pokud by každý uživatel viděl stejný statický obrázek se stejnými písmeny, spameři by jej hackli během několika minut. Jednoduše by napsali skript, který by automaticky zadal odpověď.

Většina těchto testů je vizuální. Počítače jsou ve srovnání s lidmi stále špatné ve zpracování obrázků. Lidé rozpoznávají vzory okamžitě. Někdy je dokonce „vidíme“ tam, kde nejsou. Tomu se říká pareidolie. Vidíte tvář v oblacích nebo postavu na Marsu. Váš mozek změní náhodný hluk do rozpoznatelné podoby. Stroje nemají tento intuitivní skok. Těžko se vyrovnávají s nejednoznačností.

Ale spoléhat se pouze na vizi je riskantní. To odrazuje uživatele se zrakovým postižením. Proto existují alternativy. Zvukové CAPTCHA jsou poměrně běžné. Posloucháte sadu čísel nebo písmen. Hlas může být zkreslený. Často je slyšet hluk na pozadí. To blokuje programy pro rozpoznávání řeči.

Pak je tu kontextová CAPTCHA. Nabízí krátký textový fragment. Uživatel musí interpretovat jeho význam. Algoritmy mohou extrahovat klíčová slova. Selhávají ve skutečném porozumění. Nechápou nuance.

Někdy je test prostě rozbitý. Obraz je tak zdeformovaný, že jej ani lidé nedokážou přečíst. Proto se zobrazí tlačítko „aktualizovat“. Zkuste to znovu. Doufám, že druhý pokus nebude hromada nesmyslných postav.

Kdo používá CAPTCHA

V další části se podíváme na to, které weby tyto kontroly skutečně používají, aby se ujistily, že nejste bot.

Průzkum integrity a zneužívání roboty

Průzkum Slashdot z roku 1999 o nejlepším studijním programu počítačových věd slouží jako varovný příběh. Jasně ukázal, co se stane, když jsou průzkumy ponechány otevřené automatickým skriptům. Studenti Carnegie Mellon University a Massachusetts Institute of Technology vytvořili roboty, kteří zaplavili jejich příslušné univerzity tisíci hlasů. Mezitím se každá druhá univerzita snažila získat několik stovek hlasů.

Pokud kód může odevzdat hlas, výsledky postrádají smysl.

Proto je důležité ověření. Bez filtru se online ankety promění v soutěže popularity o to, kdo má nejrychlejší skript. CAPTCHA zabraňuje programátorům v manipulaci se systémem.

Blokování spamových robotů během registrace

Vzpomeňte si, kdy jste se naposledy zaregistrovali do služby Hotmail, Yahoo! Mail nebo Gmail. Zadali jste nějaké osobní údaje. Služba nezkontrolovala, zda jsou pravé. Nevolal vám ani nepotvrdil vaši identitu.

Chtěl se jen ujistit, že se robot nepokouší vytvořit stovky spamových účtů během několika sekund.

Poskytovatelé bezplatného e-mailu používají CAPTCHA, aby zabránili spamu. Bez něj by se vaše e-mailová schránka zaplnila nevyžádanou poštou z falešných účtů ještě předtím, než byste dokončili nastavení svého.

Bojujte proti překupníkům vstupenek

Na tyto filtry spoléhají také zprostředkovatelé vstupenek, jako je TicketMaster. Proč? Aby se zabránilo činnosti překupníků.

Prodejci používají roboty k nákupu tisíců vstupenek na významné události během několika sekund. Legitimní fanoušci jsou blokováni. Akce se okamžitě vyprodávají. Prodejci pak tyto vstupenky prodávají za přemrštěné ceny.

CAPTCHA zcela nezabrání nadměrnému nákupu vstupenek. Jen to značně znesnadňuje hromadný automatizovaný nákup. Zpomaluje to roboty. Dává skutečným lidem šanci uspět.

Udržování fóra v čistotě

Webové stránky s kontaktními formuláři nebo fóry čelí stejné hrozbě. Lavina spamu může přehlušit skutečné diskuse.

Programy CAPTCHA filtrují šum. Zabraňují robotům automaticky posílat urážlivé zprávy nebo obtěžovat administrátory. Toto není dokonalý štít proti vytrvalému lidskému trollovi. Ale zastaví automatizovaný příliv spamu.

Dvojitá výzva reCAPTCHA

Standardní CAPTCHA vás požádá o zadání zkomolených písmen a číslic. Tvůrci ale našli způsob, jak tomuto úkolu přidat hodnotu. Používali ho k digitalizaci knih.

Toto je reCAPTCHA. Používá vaše odpovědi ke kontrole naskenovaných dokumentů. Počítače mají potíže se čtením slov z digitálních skenů. Lidé se s tím vypořádávají dobře.

Zde je postup:

  • Správce naskenuje knihu.
  • Program vybere dvě slova z obrázku.
  • Jedno slovo již bylo rozpoznáno.
  • Pokud jej zadáte správně, systém předpokládá, že i vaše druhé slovo je správné.
  • Toto druhé slovo jde do fondu pro ostatní uživatele.
  • Čím více lidí jej zadá, systém s vysokou mírou jistoty potvrdí, že slovo je správné.

To se může zdát zdlouhavé. Ale děláte dvě věci najednou. Dokazuješ, že jsi člověk. Pomáháte také vyhledávačům indexovat naskenované dokumenty.

Vytvoření šeku

Dále se podíváme na proces vytváření CAPTCHA.

Navrhování propasti mezi člověkem a strojem

Celý koncept CAPTCHA je založen na zásadní mezeře. Lidé vnímají kontext. Stroje zpracovávají instrukce. Pokud data spadnou mimo rigidní algoritmickou cestu, robot klopýtá. Neimprovizuje. Nedaří se mu.

Této slabosti musí designér využít. Podívejme se na metadata. Jsou pro vás neviditelní. Jsou čitelné podle scénáře. Pokud vytvoříte vizuální výzvu, kde je odpověď skryta v metadatech souboru obrázku, už jste prohráli. Jednoduchý skript může tato data odstranit a okamžitě odhalit řešení.

Zkreslení je nepopiratelný požadavek. Prostý text je otevřenou pozvánkou k softwaru pro optické rozpoznávání znaků (OCR). Tyto programy skenují formuláře. Rozpoznají rovné čáry a křivky. Pokud vaše postavy nejsou zdeformované, šikmé nebo zakryté, robot je přečte rychleji, než člověk může mrknout.

Lidé musí mít 80procentní úspěšnost. Stroje by měly být na 0,01 procenta.

Tento standard stanovili experti Microsoft Research Kumar Chellapilla a Patrice Simard. Nejen hádali. Vypočítali práh mezi použitelností a bezpečností.

Existují dva hlavní způsoby, jak generovat takové testy. První je statický. Předem definujete obrázky a jejich řešení. K tomu potřebujete obrovskou databázi. Proč? Protože spammer, který ukradne tuto databázi, může spustit útok hrubou silou. Jednoduše zkouší všechny možné odpovědi, dokud jedna nefunguje. Abyste zůstali v bezpečí, budete potřebovat databázi více než 10 000 unikátních CAPTCHA. Je to těžké. Je to riskantní.

Druhá metoda je dynamická. Randomizace. Systém pokaždé generuje jedinečný řetězec písmen a čísel. Nikdy neuvidíte stejnou sekvenci dvakrát. To neguje přístup hrubou silou. Pravděpodobnost, že bot uhodne dlouhý náhodný řetězec, je astronomicky malá. Čím delší je vedení, tím bezpečnější jste chráněni.

Vizuální pátrání

Jak deformovat text? V sadě nástrojů je několik triků.

Některé systémy roztahují a ohýbají písmena tak, že vypadají, jako by se dívali přes roztavené sklo. Je vám z toho špatně. Je to také účinné. Jiné vrství mřížku protínajících se pruhů, aby rozbily tvar písmen. Můžete vidět pole s náhodnými tečkami nebo konfliktní barevná schémata navržená tak, aby zmátla oko a algoritmus. Cíl je vždy stejný: vytvořit hluk, který lidé dokážou odfiltrovat, ale stroje jej nedokážou zpracovat.

Dalším směrem je rozpoznávání vzorů. Místo pouhého čtení textu můžete být požádáni o dokončení sekvence. Objeví se řada čísel. Která je další? To testuje logiku, nejen vizi. Ale tady je ten háček. Ne každý je dobrý v abstraktním myšlení. Pokud je vaše hádanka příliš obtížná, úspěšnost lidí klesne pod kritických 80 procent. Začnete blokovat skutečné uživatele. Obětujete dostupnost kvůli bezpečnosti. Je to chůze po laně.

Zvuková alternativa

Slyšíš mě teď?

Zvukové CAPTCHA mají podobnou logiku jako vizuální CAPTCHA, ale s jiným médiem. Posloucháte symboly namluvené syntetizovaným hlasem nebo nahrávkou skutečné osoby.

Statický přístup vyžaduje předběžné nahrávání všech možných kombinací. Toto je obrovská audio knihovna. Dynamický přístup je chytřejší. Zaznamenává jednotlivé fonémy či znaky a propojuje je v reálném čase. Generuje rychleji. Je těžší indexovat.

Ale zvuk není dokonalý. Hluk na pozadí. Akcenty. Artefakty syntézy. To přidává novou úroveň tření. Řeší to problém? Někdy. Pro některé uživatele je to záchrana. Pro ostatní je to hádanka, kterou nedokážou vyřešit.

Závody ve zbrojení pokračují

Viděli jsme, jak vznikají. Dalším krokem je sledovat, jak padají. Počítače jsou v tomto stále lepší. Učí se vidět skrz deformace.

Hlavním problémem je nerozluštění textu. Lidé by měli snadno dosáhnout 80procentní přesnosti. Skutečnou noční můrou je naučit stroj zpracovávat informace stejným způsobem jako lidský mozek. Většina útočníků se neobtěžuje dělat počítače chytřejšími. Jednoduše odstraňují složitost úkolu.

Vezměme si standardní webový formulář chráněný CAPTCHA s anglickými slovy. Písmo je zdeformované. Písmena jsou natažená a zakřivená v chaotických vzorech. Za textem je náhodný šum pozadí. Vypadá to jako nesmysl. Přesně tak to bylo zamýšleno.

Programátor hackující takový systém nezačíná umělou inteligencí. Začíná s algoritmem. Je to jen soubor pokynů. Prvním krokem může být převedení obrázku na stupně šedi. Barva je vrstva kamufláže. Vezměte to pryč. Nyní máte černobílý šum.

Kód pak hledá vzory. Porovnává tvary se známými písmeny. Pokud je shoda slabá, algoritmus porovná tato částečná písmena se slovníkem anglických slov. Zbytek si domyslí. Tato logika hrubé síly funguje. Někdy to selže. Ale pokud to funguje dostatečně často, spammeři vyhrávají.

Gimpy Challenge Bypass

Co se stane, když je CAPTCHA těžší? Vezměme si verzi Gimpy. Zobrazuje deset slov. Zkreslená písma. Nepravidelné pozadí. Slova se překrývají. Chcete-li pokračovat, musíte zadat tři správná slova.

To zní spolehlivě. Dokud se nepodíváte na výzkum. Greg Morey a Jitendra Malik publikovali článek o tom, jak hacknout tento systém. Jejich trik? Systém používá skutečná slova. Ne náhodné čáry. To je obrovská slabina.

Mori a Malik vytvořili algoritmus, který se zaměřil na začátek a konec řetězce slov. Použili k tomu slavný 500slovný slovník systému Gimpy. Provedli testy. Algoritmus správně identifikoval slova ve 33 procentech případů.

Toto číslo se zdá nízké. Ale to není pravda. Spammeři nepotřebují dokonalou přesnost. Potřebují objem. Pokud jejich roboti běží stovkykrát za minutu, jsou úspěšní jednou ze tří a jsou ziskoví. Matematika se sčítá.

Elektronické uši

Zvukový CAPTCHA také není bezpečný. Na jaře 2008 se objevily zprávy, že hackeři obcházejí audiosystém Google. Metoda byla překvapivě jednoduchá.

Hackeři vytvořili knihovnu zvuků. Pro každý znak v databázi bylo nutné najít zvukovou shodu. Zkreslení může znamenat více zvuků pro jedno písmeno. Po kategorizaci použili možnosti softwaru pro rozpoznávání hlasu. Bot poslouchal. Vykládal. Zadal text.

CAPTCHA a umělá inteligence

Paradox AI: Proč bezpečnostní hackování pomáhá strojům učit se

Louis von Ahn, profesor na Carnegie Mellon University a spolutvůrce myšlenky CAPTCHA, vidí věci jinak než průměrný správce systému. Ve své přednášce z roku 2006 popsal konfrontaci mezi lidmi a roboty nikoli jako válku, ale jako cvičiště pro umělou inteligenci. Logika je zde chladná, ale bezvadná. Spameři a hackeři jsou posedlí prolomením CAPTCHA, protože tyto testy brání jejich cílům. Investují čas a energii do jejich překonání.

Když se jim to podaří, stroje se stanou chytřejšími.

Pokaždé, když se výzkumníkovi podaří naučit počítač řešit hádanky se zkomoleným textem, uděláme krok k vytvoření skutečné umělé inteligence. Pro von Ahna znamená porážka bezpečnosti vítězství strojového učení.

Správcům webu však tato filozofie nevyhovuje. Stále se musí vyrovnávat s následky. Spamboty a škodlivé skripty nezajímají filozofické důsledky jejich porážky. Potřebují jen přístup. Skutečností je, že několik systémů CAPTCHA se již nepoužívá. Správci online průzkumů nebo jednoduchých stránek potřebují vědět, které nástroje jsou stále spolehlivé. Měli by si být vědomi aktualizací. Pokud jeden systém selže, je třeba změnit kód. Je potřeba ho vyměnit.

Designéři jdou po tenkém ledě. Jak se počítače stávají složitějšími, musí se testy vyvíjet. Ale je tu limit. Pokud se test stane natolik obtížným, že jej lidé již nedokážou vyřešit s přijatelnou pravděpodobností úspěchu, systém selže. Už to není jen o zkreslení textu. Odpovědí může být matematická rovnice. Nebo odpovídání na otázky o povídce.

Kolik lidí by bylo ochotno poslat odpověď na fórum, kdyby museli nejprve vyřešit kvadratickou rovnici?

Zájem uživatelů klesá, když je bariéra příliš vysoká. Rovnováha je křehká.

Evoluce neviditelného ověřování

Google změnil pravidla hry v roce 2014. Společnost, která v roce 2009 získala reCAPTCHA, začala postupně vyřazovat klasické obrázkové nebo textové výzvy. Zavedli „No CAPTCHA“. Bylo to jednoduché: jedno pole, které říkalo „Nejsem robot“.

Uživatelé klikli na tlačítko. Svět si dál žil svým vlastním životem.

Ale v roce 2017 to začalo být příliš zřejmé. Google oznámil opuštění No CAPTCHA. Nový přístup se opíral o analýzu chování. Sledoval, jak jste pohybovali kurzorem myši. Analyzoval vaše návyky při prohlížení. Toto se stalo známým jako Invisible reCAPTCHA.

Pokud vás systém označil za podezřelého – možná jste skutečně robot – museli jste vyřešit jeden ze starých standardních problémů. Toto byla záložní možnost. Krok ověření. Cílem bylo udržet dobré uživatele v pohybu a zároveň identifikovat špatné uživatele, aniž by si toho všimli.

Vyjasnění terminologie a nutnosti

Často dochází k nejasnostem ohledně toho, kdo co vlastní a proč jsou tyto kontroly potřeba.

Je CAPTCHA produktem Google?
Ne. CAPTCHA je běžná technologie používaná na celém internetu k zajištění toho, aby lidé interagovali s webovou stránkou, a nikoli s automatickými roboty. Google reCAPTCHA je jen jednou implementací tohoto širšího konceptu.

Co znamená zkratka CAPTCHA?
Znamená to „Plně automatizovaný veřejný Turingův test, který odliší počítače a lidi“. Je to test výzvy a odezvy zabudovaný do počítačových systémů k ověření identity uživatele.

Proč potřebujeme CAPTCHA?
Zabraňuje automatickým programům v odesílání nepravdivých informací. Zabraňuje spammerům propagovat podvody na webových stránkách. Zabraňuje zahlcení internetu informačním šumem.

Kam dál

Krajina se neustále mění. Co fungovalo včera, může být dnes rozbité.

Pro ty, kteří jdou hlouběji, související témata zahrnují jak fungují crackery, mechanika spamu a funkce spywaru. Pochopení šifrování a počítačových virů poskytuje kontext pro pochopení, proč je zabezpečení důležité. Základní logika toho, jak logický stroj generuje náhodná čísla, také souvisí s náhodností vyžadovanou pro bezpečné kontroly.

Mezi další zdroje na toto téma patří Gwap a oficiální web reCAPTCHA. Akademické kořeny oboru jsou dobře zdokumentovány. Výzkum Chellapilly a Simarda z Microsoft Research ukazuje, jak může strojové učení obejít vizuální důkazy. Captcha s kolektivním filtrováním byly zkoumány v raných workshopech. Chyba zabezpečení zvuku CAPTCHA společnosti Google byla zdokumentována v roce 2008. Ve stejném roce spameři prolomili CAPTCHA Gmailu.

Turingův test, jak je diskutováno ve Stanfordské encyklopedii filozofie, zůstává teoretickým základem. Lidská kůra stále předčí procesor v mnoha úkolech, jak poznamenává Wired. Ale propast se uzavírá. Von Ahnova počáteční vize se odvíjí v reálném čase. Každý prolomený kód je lekcí pro další generaci AI.

Otázkou už není, zda vozy těmito testy projdou. Otázkou je, co se stane, až to udělají. A co se stane s lidmi, kteří na ta pole stále musí klikat.