CAPTCHA slouží k rozlišení, zda je uživetal skutečný člověk, a ne robot. Zkratka CAPTCHA znamená:
Completely Automated Public Turing test to tell Computers and Humans Apart – tedy zcela automatizovaný veřejný Turingův test k rozlišení počítačů a lidí. Uživatelé se na internetu často setkávají s testy CAPTCHA a reCAPTCHA. Tyto testy jsou jedním ze způsobů, jak řídit aktivitu botů, i když tento přístup má své nevýhody.
Ačkoli jsou CAPTCHA navrženy tak, aby blokovaly automatizované boty, CAPTCHA jsou samy o sobě automatizované. Jsou naprogramovány tak, aby se objevovaly na určitých místech webových stránek a aby automaticky prošly nebo neprošly testy uživatelů.
Jak CAPTCHA funguje?
Klasické CAPTCHA, které se dodnes používají na některých webových stránkách, spočívají v tom, že se uživatelé žádají o identifikaci písmen. Písmena jsou zkreslená tak, aby je roboti pravděpodobně nedokázali identifikovat. Aby uživatelé testem prošli, musí interpretovat zkreslený text, zadat správná písmena do pole formuláře a formulář odeslat. Pokud se písmena neshodují, jsou uživatelé vyzváni, aby to zkusili znovu. Takové testy se běžně používají v přihlašovacích formulářích, formulářích pro registraci účtu, online anketách a na stránkách e-shopů.
Jde o to, že počítačový program, například bot, nebude schopen interpretovat zkreslená písmena, zatímco člověk, který je zvyklý vidět a interpretovat písmena v nejrůznějších kontextech – různá písma, různé rukopisy atd. – je obvykle dokáže identifikovat.
Boti a CAPTCHA
Mnoho robotů dokáže zadat několik náhodných písmen, je však statisticky nepravděpodobné, že by testem prošli. Boti tedy testem neprojdou a je jim zablokována možnost interakce s webovou stránkou nebo aplikací, zatímco lidé ji mohou nadále normálně používat.
Pokročilí boti jsou schopni pomocí strojového učení tato zkreslená písmena identifikovat, proto jsou tyto druhy testů CAPTCHA nahrazovány složitějšími testy. Společnost Google reCAPTCHA vyvinula řadu dalších testů, které mají za úkol roztřídit lidské uživatele od botů.
CAPTCHA a reCAPTCHA
reCAPTCHA je bezplatná služba, kterou Google nabízí jako náhradu za tradiční CAPTCHA. technologii reCAPTCHA vyvinuli výzkumníci na Carnegie Mellon University a v roce 2009 ji koupila společnost Google.
Technologie reCAPTCHA je pokročilejší než typické testy CAPTCHA. Stejně jako CAPTCHA, i některé reCAPTCHA vyžadují, aby uživatelé zadávali obrázky textu, které mají počítače problém rozluštit. Na rozdíl od běžných CAPTCHA však reCAPTCHA získává text z reálných obrázků: obrázků adres ulic, textu z tištěných knih, textu ze starých novin apod.
Postupem času společnost Google rozšířila funkčnost testů reCAPTCHA, takže se již nemusí spoléhat na starý styl rozpoznávání rozmazaného nebo zkresleného textu. Mezi další typy testů reCAPTCHA patří např:
- rozpoznávání obrázků,
- zaškrtávací políčko,
- obecné posouzení chování uživatele.
Už jste četli? Oto
Jak funguje test reCAPTCHA s rozpoznáváním obrázků?
Při testu reCAPTCHA s rozpoznáváním obrázků se uživatelům obvykle zobrazí 9 nebo 16 čtvercových obrázků. Všechny obrázky mohou pocházet ze stejného velkého obrázku nebo mohou být každý jiný. Uživatel musí identifikovat obrázky, které obsahují určité objekty, například zvířata, stromy nebo dopravní značky. Pokud se jeho odpověď shoduje s odpověďmi většiny ostatních uživatelů, kteří zdolali stejný test, je odpověď považována za „správnou“ a uživatel v testu uspěl.
Vybrat určité objekty z rozmazaných fotografií je pro počítače obtížně řešitelný problém. Dokonce i pokročilé programy umělé inteligence s ním mají potíže – takže s ním bude mít potíže i bot. Lidský uživatel by to však měl zvládnout poměrně snadno, protože lidé jsou zvyklí vnímat každodenní objekty v nejrůznějších kontextech a situacích.
Jak fungují testy reCAPTCHA s jedním zaškrtávacím políčkem?
Některé testy reCAPTCHA jednoduše vyzvou uživatele, aby zaškrtl políčko vedle tvrzení „Nejsem robot“. Testem však není samotná akce kliknutí na zaškrtávací políčko – je jím vše, co kliknutí na políčko předchází.
Tento test reCAPTCHA bere v úvahu pohyb kurzoru uživatele, který se blíží k zaškrtávacímu políčku. I ten nejpřímější pohyb člověka obsahuje určitou míru náhodnosti na mikroskopické úrovni: drobné nevědomé pohyby, které boti nemohou snadno napodobit. Pokud pohyb kurzoru obsahuje něco z této nepředvídatelnosti, pak test rozhodne, že uživatel je pravděpodobně legitimní. Test reCAPTCHA může také vyhodnotit soubory cookie uložené prohlížečem v zařízení uživatele a historii zařízení, aby zjistil, zda je uživatel bot či nikoliv.
Pokud test stále není schopen určit, zda je uživatel člověk, může předložit další výzvu, například výše popsaný test rozpoznávání obrázků. Většinou jsou však pohyby kurzoru, soubory cookie a historie zařízení uživatele dostatečně průkazné.
Jak funguje reCAPTCHA bez interakce s uživatelem?
Nejnovější verze reCAPTCHA jsou schopny komplexního pohledu na chování uživatele a jeho historii interakce s obsahem na internetu. Na základě těchto faktorů dokáže program většinou rozhodnout, zda se jedná o bota, aniž by uživateli poskytl výzvu k vyplnění. Pokud ne, dostane uživatel typickou výzvu reCAPTCHA.
Spuštění testu CAPTCHA
Některé webové vlastnosti mají automaticky zavedené CAPTCHA jako proaktivní obranu proti botům. Jindy může být test spuštěn, pokud se zdá, že chování uživatelů připomíná chování botů: například pokud uživatelé požadují webové stránky nebo klikají na hypertextové odkazy mnohem častěji, než je průměr.
Jsou CAPTCHA a reCAPTCHA dostatečné pro zastavení škodlivých botů?
Někteří boti dokáží sami překonat textové CAPTCHA. Výzkumníci demonstrovali způsoby, jak napsat program, který překoná i CAPTCHA s rozpoznáváním obrázků. Útočníci navíc mohou k překonání testů využít klikací farmy: tisíce nízko placených pracovníků, kteří řeší CAPTCHA jménem botů. Kromě CAPTCHA je třeba zavést i další strategie, jak zastavit nežádoucí boty.
Jaké jsou nevýhody používání CAPTCHA nebo reCAPTCHA k zastavení botů?
- Špatná uživatelská zkušenost: Test CAPTCHA může přerušit tok toho, co se uživatelé snaží udělat, což u nich vyvolá negativní představu o jejich zkušenostech s webovým objektem a v některých případech může vést k úplnému opuštění webové stránky.
- Nepoužitelnost pro osoby se zrakovým postižením: Problémem CAPTCHA je, že se spoléhají na vizuální vnímání. To je činí téměř nemožnými nejen pro nevidomé, ale pro všechny osoby s vážným poškozením zraku.
- Tyto testy mohou být oklamány roboty: Jak bylo popsáno výše, CAPTCHA nejsou plně odolné proti botům a nemělo by se na ně spoléhat při správě botů.
Alternativy k použití CAPTCHA a reCAPTCHA
Řešení pro správu botů, jako je Cloudflare Bot Management nebo Super Bot Fight Mode, mohou na základě chování bota identifikovat špatné boty bez dopadu na uživatelské prostředí. Tímto způsobem lze boty omezit, aniž by museli uživatelé vyplňovat CAPTCHA.
Souvislost mezi CAPTCHA, reCAPTCHA a umělou inteligencí
Vzhledem k tomu, že miliony uživatelů identifikují obtížně čitelný text a vybírají objekty na rozmazaných obrázcích, jsou tato data předávána počítačovým programům umělé inteligence, aby se i v těchto úkolech zlepšily. Počítačové programy mají obecně problémy s identifikací objektů a písmen v různých kontextech, protože kontext se může v reálném světě měnit téměř donekonečna. Například značka STOP je červený osmiúhelník s bílými písmeny „STOP“. Počítačový program by mohl takovou kombinaci tvaru a slova poměrně snadno identifikovat. Značka stop na fotografii však může vypadat velmi odlišně od tohoto jednoduchého popisu v závislosti na kontextu: úhlu fotografie, osvětlení, počasí atd.
Prostřednictvím strojového učení mohou programy umělé inteligence tato omezení lépe překonávat. V případě příkladu se značkou STOP by programátor poskytl programu umělé inteligence řadu údajů o tom, co je a co není značka STOP. Aby to bylo efektivní, potřebuje spoustu příkladů obrázků se značkami STOP a obrázků bez značek STOP a potřebuje lidské uživatele, kteří je budou identifikovat, dokud program nebude mít dostatek dat, aby v tom byl efektivní.
Program reCAPTCHA pomáhá tuto potřebu naplnit tím, že přiměje lidi identifikovat objekty a texty, což pomalu poskytuje dostatek dat pro vytvoření robustních programů s umělou inteligencí.
Turingův test
Turingův test hodnotí schopnost počítače napodobit lidské chování. Koncept Turingova testu vymyslel v roce 1950 Alan Turing, jeden z prvních průkopníků výpočetní techniky. Počítačový program „projde“ Turingovým testem, pokud je jeho výkon během testu nerozlišitelný od výkonu člověka – pokud se chová tak, jak by se choval člověk. Turingův test není závislý na správnosti odpovědí; jde o to, jak „lidsky“ odpovědi znějí, bez ohledu na to, zda jsou správné, nebo ne.
Ačkoli se nazývá „veřejný Turingův test“, CAPTCHA je ve skutečnosti opakem Turingova testu – zjišťuje, zda údajně lidský uživatel je ve skutečnosti počítačový program (bot), nebo ne, místo aby se snažil určit, zda je počítač člověk. Aby toho CAPTCHA dosáhla, musí zadat krátký úkol, ve kterém jsou lidé obvykle dobří a s nímž mají počítače problémy. Těmto kritériím obvykle vyhovuje rozpoznávání textu a obrázků.