Googlov CAPTCHA zlomljen, popravljen v nekaj urah

Matej Huš

31. maj 2012 ob 19:15:20

Googlov reCAPTCHA (kratica za Completely Automated Public Turing test to tell Computers and Humans Apart) je eden izmed najpogostejših sistemov za razlikovanje med ljudmi in računalniki, ki se uporablja na mnogo spletnih straneh. Kjer se želimo znebiti avtomatskih komentarjev oziroma spama ali drugih težav, ki bi jih povzročili računalniški vnosi, si pomagamo s sistemom CAPTCHA. Ta običajno izpiše dvoje besed, ki imata nekoliko izmaličene črke, tako da jih ljudje z lahkoto še kar solidno prepoznajo, računalniki pa niti z najboljšim sistemom za optično prepoznavanje (OCR) ne. Google je ob tem združil nujno s koristnim in rezultate uporablja za digitalizacijo knjig. Sistem naj bi bil praktično nezlomljiv, a to ni čisto res. Trojica hekerjev z vzdevkom Stiltwalker je namreč predstavila svoj sistem, ki z 99-odstotno natančnostjo pretenta CAPTCHA, a je Google potem nekaj ur pred predstavitvijo sistem že nadgradil.

Hekerji niso zlomili optičnega dela CAPTCHA, ampak so sistem napadli z drugega konca. Za slabovidne namreč Google ponuja tudi avdio različico, kjer lahko poslušajo zvočni posnetek izgovora šestih besed, ki jih morajo nato vpisati. Da je posnetek računalnikom neprepoznaven, Google poskrbi z dodatnim šumom v ozadju. Kot so hekerji ugotovili, je sistem pomanjkljiv. Google izbira le med 58 besedami, kar analizo precej zoži. Nadalje so ugotovili, da je mogoče enostavno odfiltrirati zvok iz ozadja, saj ta ne vsebuje nekaterih višjih frekvenc, ki jih izgovorjene besede. Tako ločen avdio zapis so nato analizirali. Ob tem jim je pomagalo še dejstvo, da je Google dopuščal različen zapis besed (npr. boat ali poate oziroma friay za friday, fairy ali four), in da jih je algoritem izbiral po precej predvidljivem (slab psevdorandom) zaporedju. Uspeh pri zlomu CAPTCHE je bil 99,1-odstoten.

Google je dve uri pred napovedano konferenco svoj sistem spremenil, in sicer je besed po novem deset in ne več šest, hkrati pa je zvok v ozadju prav tako človeški in ne več mehanski, tako da filter ne deluje več.