Hlavní navigace

CAPTCHA: negatíva a spôsoby prelomenia

23. 10. 2006
Doba čtení: 5 minut

Sdílet

„CAPTCHA je Turingův test, který se na webu používá ve snaze automaticky odlišit skutečné uživatele od robotů. Test spočívá zpravidla v zobrazení obrázku s deformovaným textem, přičemž úkolem uživatele je zobrazený text opsat do příslušného vstupního políčka.” Je tomu ale naozaj tak? Aké má CAPTCHA negatíva? A dá sa "prelomiť"?

Pre začiatok budem citovať z wikipedie:

„CAPTCHA je Turingův test, který se na webu používá ve snaze automaticky odlišit skutečné uživatele od robotů. CAPTCHA je akronym pro „Completely Automated Public Turing test to tell Computers and Humans Apart”, tedy „plně automatický veřejný Turingův test k odlišení počítačů a lidí”. Test spočívá zpravidla v zobrazení obrázku s deformovaným textem, přičemž úkolem uživatele je zobrazený text opsat do příslušného vstupního políčka. Předpokládá se, že lidský mozek dokáže správně rozeznat i deformovaný text, ale internetový robot při použití technologie OCR nebude schopen text správně rozpoznat. CAPTCHA se používá na webu tam, kde je potřeba rozlišit lidské uživatele od robotů – například při vkládání komentářů, při registraci apod.“

Masívne rozšírenie zatiaľ dáva za pravdu definícii. Je tomu ale naozaj tak? Aké má CAPTCHA negatíva? A dá sa „prelomiť“? Poďme sa pozrieť na negatíva.

CAPTCHA negatíva

1. Zrakovo hendikepované osoby majú problém

Podľa štúdie Svetovej zdravotníckej organizácie je na svete 45 miliónov nevidomých. A číslo samozrejme rastie. Predpokladá sa, že za 20 rokov bude počet dvojnásobny. Konkrétne čísla síce neexistujú, ale odhaduje sa, že len na britských ostrovoch je každý 60 človek ťažko zrakovo postihnutý. Podľa odhadov SONS sa v ČR jedná o asi 100 000 občanov, pričom z tejto skupiny sa na nete bežne (denne) pohybuje 2350* ľudí. Podľa môjho súkromného prieskumu títo ľudia používajú PC a teda aj internetový prehliadač úplne rovnako ako my. Asi nikoho neprekvapí fakt, že pre zrakovo hendikepovaných je CAPTCHA neprekonateľný problém. Pokiaľ náhodou nemajú po ruke nehendikepovanú osobu, tak zo stránky odchádzajú preč. Pýtal som sa ich, či informujú o tomto probléme webmastera. Jedna z odpovedí bola jasná, a myslím že môže byť výstrahou pre mnohých. Budem citovať: „V prípade, že je problém, idem inam. Informácie vždy dokážem získať aj inde.“ No a nakoniec s trochou irónie. Do skupiny zrakovo postihnutých budeme vďaka kontinuálnemu používaniu PC patriť časom všetci. Tak nebudujme prekážky sami pre seba.

Za poskytnuté údaje a pomoc s prieskumom ďakujem Radkovi Pavlíčkovi.

* Údaje sú za rok 2003. Z vývoja za roky 2000, 2003 sa dá predpokladať dvojnásobok v roku 2006.

2. Čo alternatívne zariadenia a prehliadače

Mnohé hand zariadenia kvôli čitateľnosti používajú len textový režim. Obrázky úplne ignorujú, v lepšom prípade ich komprimujú. Skúsili ste si pozrieť svoju CAPTCHU na mobile? Existujú používatelia, ktorí kvôli reklame majú vypnuté všetky grafické prvky. Samozrejme že môžu kliknúť pravým tlačítkom myši a nechať zobraziť konkrétny obrázok, ale upozorňujete na to dostatočne?

3. Odporuje pravidlám pre prístupny web

Hneď prvé pravidlo pre tvorbu prístupneho webu vraví: „Každý netextový prvek nesoucí významové sdělení má svou textovou alternativu.“ Táto podmienka sa dá splniť vyplnením alt u príslušného obrázku. Logicky z toho vyplýva že najlepšie je dať obsah CAPTCHA do alt. Napriek tomu, že som to už raz videl, je jasné, že je to nepoužitelné. Je tu ale možnosť v alt ponúknuť užívateľovi alternatívu. Napríklad: „Komentár môžete pridať aj pomocou emailu. Do kolónky subject napíšte id=254“. Prípadne použite atribút longdesc, ktorý odkazuje na špeciálnu www stránku.

4. CAPTCHA nieje všeliek

Ako ukážem ďalej, je celkom ľahké túto ochranu zlomiť.

CAPTCHA – spôsoby prelomenia

Mnohí si kladiete otázku: „Ako je možné, že moje CAPTCHA riešenie nezaberá? Ako to že ma dostali?“. Neviem ako je to v konkrétnych prípadoch, ale sú v podstate tieto možnosti.

1. OCR

Obrázok sa stiahne z vašej web stránky. Nad týmto obrázkom sa použije veľmi dobrý OCR program (ABBY FineReader), alebo script, ktorý vie prečítať text (na doporučenie čitateľov Root.cz napríklad LeNet-5). Takto prečítaný text robot použije na vstup do chráneného systému. Toto riešenie asi napadne každému. Je ale najmenej účinné. Tvorcovi webu stačí obrázok viacej „zohaviť“ a OCR ho už neprečíta korektne. Tipol by som si, že toto nepoužíva nik.

2. Lacná pracovná sila s vysokou penetráciou PC

Systém je jasný. V rozvojovej krajine si najmem ľudí, dám im PC a ich prácou bude opisovať text do pripravených políčok. Na pozadí pracuje script, ktorý následne vyplní ostatné potrebné políčka a formulár odošle. Toto riešenie má pre spamera jednu veľkú výhodu. Žiadne ochrany proti robotom nepomôžu, pretože CAPTCHA čítajú živí ľudia. Ale je to aj drahé riešenie, takže masové nasadenie našťastie nehrozí.

3. Nik vám nedá to, čo vám my môžeme slúbiť

Ako som už napísal, riešenie č.2 je drahé. Ale veď ľudia sú schopný urobiť čokoľvek aj zadarmo, ak im sľúbite vysoký zárobok. Ak to ešte okoreníte o mód pyramídovej hry, máte vyhraté. Takže čo urobí spamer? Založí si stránku a vyhlási, že sa dá zarobiť obyčajným opisovaním písmen z obrázkov. Potom tomu spraví menšiu mediálnu kampaň. Súčasťou zmluvy bude bod, že peniaze dostanete aj za ľudí, ktorých prilákate. Chvíľu počká a rozpošle pár šekov. Rozhodí ich podľa geografických lokalít a krajín. To sú jediné peniaze, čo utratí. O ostatné sa postarajú tí šťastní sami. Urobia systému takú reklamu ako žiadna reklamná agentúra. Nepripomína vám to niečo? Alebo niekoho?

4. Nech ochranu prelomia iní

Spamer ma nekalý plán. Je ním prelomiť CAPTCHA. Na to použije vtipné riešenie. Nie však pre nás. Scénár je následovný. Spraví si stránku so zaujímavým obsahom (warez, filmy, xXx) a pre vstup na túto stránku (čuduj sa svete) sa objaví CAPTCHA. Už vám to došlo? Áno, je to CAPTCHA z vašej stránky. Warezu chtivý užívateľ ochotne obrázok opíše, len aby sa dostal k obsahu za ním. Ďalej je to rutina. Script opísaný text použije na prihlásenie sa (overenie) na vašu stránku. A spam je tam, kde nemá byť, aj napriek tomu, že vás chráni CAPTCHA. To je mimochodom riešenie na všetky ochrany a la Turingov test.

Záver

Cieľom článku bolo poukázať na všetky negatíva, ktoré skrýva systém CAPTCHA. Ako som naznačil, už čoskoro budeme musieť začat hľadať iné riešenia. Každopádne už teraz by mali webdesigneri poskytovať alternatívnu možnosť overenia. Smer sa bude pravdepodobne uberať overením cez e-mail alebo SMS, alebo niektorou z ďalších metód. A čo takto použiť audiovýstup ako Google?

Povinné odkazy

CAPTCHA Project

Wikipedia: CAPTCHA

W3C: Inaccessibility of CAPTCHA

Pravidla tvorby přístupného webu

Sjednocená organizace nevidomých a slabozrakých ČR

root_podpora

INSPO (Internet a informační systémy pro osoby se specifickými potřebami)

Zaujímavosť – Celosvetová petícia proti CAPTCHA na google

Používáte CAPTCHA?

Byl pro vás článek přínosný?

Autor článku