Ile warte jest złamanie captchy?

„Captcha” to potoczna nazwa sposobu obrony aplikacji internetowych przed robotami sieciowymi przez umieszczanie obrazków z losowymi literami. Użytkownik musi przepisać je do formularza aby kontynuować jego wysłanie lub przeglądanie danych serwisu. Robot nie jest w stanie odczytać celowo skomplikowanych znaków z obrazka, a człowiek potrafi to zrobić.

Przykłady obrazków captcha

Przykłady obrazków captcha

Idea zabezpieczenia jest prosta, implementacja banalna, a uciążliwość dla użytkownika końcowego niewielka, więc takie rozwiązanie widzimy w wielu serwisach w internecie.

Zadałem sobie pytanie, czy da się taką captche złamać metodą rozpoznawania obrazów (OCR). Na ten temat jest sporo artykułów w Internecie ale ogólna odpowiedź jest taka że algorytmicznie jest to trudne. Zaskakujące okazało się jednak to, że „biznesowo” jest to jednak proste (!). Jak to możliwe?

Otóż są serwisy internetowe, które łączą roboty które chcą łamać captchę z ludźmi, którzy są gotowi to robić za pieniądze. Można je traktować jak serwis aukcyjny typu Allegro, który łączy ludzi którzy chcą kupić przedmioty z tymi którzy chcą je sprzedać, tylko zamiast przedmiotów są rozwiązania captchy.

Schemat łamania captchy

Schemat łamania captchy

Zasada jest bardzo prosta: mój robot sieciowy, który napotyka w sieci obrazek captcha, wysyła go do serwisu-usługi, która z kolei wysyła go do jednego z wielu ludzi czekających na całym świecie. Taki człowiek ręcznie przepisuje treść z tego obrazka, a usługa oddaje mojemu robotowi to jako wynik. Robot wysyła odpowiedź do serwisu i kontynuuje działanie tak jakby był człowiekiem. Człowiek dostaje część wynagrodzenia które ja płacę pośrednikowi.

Najciekawsze jest to że kosztuje to bardzo niewiele. Dla mojej losowej próby 70 obrazków koszt ich złamania wyniósł $0,042, czyli około $0,0006 za sztukę (!). Średni czas łamania wyniósł 16,9 sekundy. Skuteczność różniła się w zależności od typu skomplikowania obrazka: od 90% dla prostych, poprzez 70% dla skomplikowanych aż do 10% dla takich, które zawierały polskie znaki… Ale to pewnie kwestia wybrania lepszego usługodawcy ;-).

Reasumując: ludzie zaprzedali się robotom, przynajmniej tym sieciowym…

 

O autorze

Marek Berkan Marek Berkan: programista, entuzjasta tworzenia oprogramowania, zarządzania zespołami technicznymi. Prywatnie motocyklista, kolarz MTB, biegacz, żeglarz, rekreacyjny wspinacz, zamiłowany turysta. Witryny: , , .

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *