Czy Aby Na Pewno Jest Pan Człowiekiem; Użyteczność I Dostępność C A P T C H A
1. Czy aby na pewno jest Pan
człowiekiem?
UŜyteczność i dostępność
CAPTCHA
A-Symetria marzec 2009
Mariusz Dziechciaronek
2. Agenda
• człowiek, a maszyna, trochę historii,
• czym jest i do czego słuŜy CAPTCHA,
• problemy uŜyteczności i dostepności CAPTCHA,
• kwestie bezpieczeństwa i metody łamania kodu,
• czym jest dobre CAPTCHA?
• reCAPTCHA i nowe modele kodów.
marzec 09 Mariusz Dziechciaronek 2
3. • człowiek, a maszyna, trochę historii,
• czym jest i do czego słuŜy CAPTCHA,
• problemy uŜyteczności i dostepności CAPTCHA,
• kwestie bezpieczeństwa i metody łamania kodu,
• czym jest dobre CAPTCHA?
• reCAPTCHA i nowe modele kodów.
marzec 09 Mariusz Dziechciaronek 3
4. Test Turinga
W 1950 roku angielski matematyk Alan
Turing zaproponował rodzaj gry logicznej,
której celem była próba odpowiedzi na
pytanie, do jakiego momentu moŜemy
twierdzić, Ŝe dany układ logiczny jest
inteligentny.
W swej podstawowej wersji Test Turinga
polega na symulowaniu rozmowy między
trzema podmiotami, z których jeden jest
komputerem. Jeśli po upływie określonego
czasu ludzccy rozmówcy nie będą w stanie
określić, czy prowadzili rozmowę z
człowiekiem czy z maszyną, wówczas
stanowić to będzie dowód na to, Ŝe
komputer jest inteligentny.
Pierwsza strona publikacji Computing Machinery
and Intelligence A.Turinga
http://www.jstor.org/pss/2251299
marzec 09 Mariusz Dziechciaronek 4
5. Reverse Turing Test
CAPTCHA to skrót od: Completely
Automated Public Turing test to tell
Computers and Humans Apart.
Test CAPTCHA w przeciwieństwie do
Testu Turinga, ma sprawdzić czy
system ma do czynienia z
komputerowym botem, czy z ludzką
istotą.
Nazwę tą zaproponowali po raz
pierwszy Luis von Ahn, Manuel Blum,
Nicholas J. Hopper z Carnegie
Mellon University.
Luis von Ahn http://en.wikipedia.org/wiki/File:Wikipedia_luis.jpg
marzec 09 Mariusz Dziechciaronek 5
6. • człowiek, a maszyna, trochę historii,
• czym jest i do czego słuŜy CAPTCHA,
• problemy uŜyteczności i dostepności CAPTCHA,
• kwestie bezpieczeństwa i metody łamania kodu,
• czym jest dobre CAPTCHA?
• reCAPTCHA i nowe modele kodów.
marzec 09 Mariusz Dziechciaronek 6
7. Czym jest CAPTCHA?
CAPTCHA to program
generujący testy, celem
identyfikcji uŜytkownika i
E-bay Polska CAPTCHA
eliminacji dostępu do serwsiu
bota.
CAPTCHA to program mający
zapewnić bezpieczeństwo,
uchronić serwisy przed atakami
botów m.in przed zakładaniem
nielegalnych kont pocztowych,
Myspace CAPTCHA
rozysyłaniem spamu, dostępem
do forów, itp.
Sympatia.pl CAPTCHA
marzec 09 Mariusz Dziechciaronek 7
8. • człowiek, a maszyna, trochę historii,
• czym jest i do czego słuŜy CAPTCHA,
• problemy uŜyteczności i dostepności CAPTCHA,
• kwestie bezpieczeństwa i metody łamania kodu,
• czym jest dobre CAPTCHA?
• reCAPTCHA i nowe modele kodów
marzec 09 Mariusz Dziechciaronek 8
9. Główne problemy
Kody CAPTCHA zawsze stanowią kompromis między bezpieczeństwem serwsiu,
który musi być zabezpieczony przed atakami, a satysfakcją uŜytkownika, ktory musi
mieć relatywnie prosty dostęp do zasobów serwisu. Główne problemy to:
• niska rozpoznawalność przez uŜytkownika,
• skomplikowanie samego kodu – zadania matematyczne, itp.,
• problemy z odczytaniem kodu CAPTCHA przez osoby niepełnosprawne:
niewidzące, niedowidzące, głuche, cierpiące na inne problemy,
• brak przycisku odświeŜ kod – automatyczne przeładowanie strony i utrata danych z
formularza,
• brak informacji dlaczego naleŜy wpisać CAPTCHA,
• brak przycisku Audio,
• brak alternatywnej poza sieciowej identyfikacji uŜytkownika przez serwis – takie
usługi zapewnia Yahoo.
marzec 09 Mariusz Dziechciaronek 9
10. UŜyteczość CAPTCHA tekstowych
Autor: Christian,
źródło:http://www.stickycomics.com
J. Yan, a. Ahmad, Usability of CAPTCHAs or Usability Issues in CAPTCHA
Design; http://cups.cs.cmu.edu/soups/2008/proceedings/p44Yan.pdf
marzec 09 Mariusz Dziechciaronek 10
11. Zaburzanie elementów
• przemieszczanie
elementów w górę i
w dół,
• obroty elementów,
• skalowanie
elementów,
• gięcie elementów.
marzec 09 Mariusz Dziechciaronek 11
12. Zaburzanie elementów (2)
Microsoft w swoich wcześniejszych
wersjach kodów CAPTCHA stosował
trudne do rozpoznawania łuki, które
miały wprowadzać w błąd
oprogramowanie OCR, traktujące
zaburzające elementy (distortion
clutter) jako elementy rzeczywistego
kodu.
J. Yan, a. Ahmad, Usability of CAPTCHAs or Usability Issues in CAPTCHA
Design; http://cups.cs.cmu.edu/soups/2008/proceedings/p44Yan.pdf
marzec 09 Mariusz Dziechciaronek 12
13. CAPTCHA CONTENT
• im większy element, tym
wyŜsze zabezpieczenie przed
atakiem,
• im większy element, tym
CAPTCHA matematyczne
wyŜsze prawdopodobieństwo
kłopotów z odczytaniem tekstu
po jego przekształceniu,
Grono.net CAPTCHA
• długie ciągi elemetów
powinny być opisane liczbą
koniecznych do wpisania
elementów.
Sympatia.pl CAPTCHA
marzec 09 Mariusz Dziechciaronek 13
14. CAPTCHA CONTENT
• uŜywanie istniejących słów
zwykle nie wpływa na
bezpieczeństwo kodu,
• uŜywanie słów nieistniejących,
odmiennych od obszaru
kulturowego implikuje problemy z
uŜytecznością,
• usuwanie słów obraźliwych z baz
– z wyjątekiem reCAPTCHA.
marzec 09 Mariusz Dziechciaronek 14
15. Kolorowe sny CAPTCHA
• jeśli nie jesteś ekspertem w
zakresie budowy kodu, uŜywaj
Peb Forum CAPTCHA
koloru rozsądnie, nie twórz
mozaiek,
• stosuj przynajmniej dwa kolory
Atrakcyjneksiazki.pl CAPTCHA
jeden jako tło drugi
pierwszoplanowy,
• uŜywanie koloru jako
zabezpieczenia przed
segmentacją OCR jest zwykle
mało skuteczne.
Sympatia.pl CAPTCHA
marzec 09 Mariusz Dziechciaronek 15
16. Audio CAPTCHA
• moŜliwość odsłuchania
CAPTCHA to warunek
dostępności,
• zaburzenie tła dźwiękowego
musi być ograniczone, przykład
audio CAPTCHA Google:
https://www.google.com/accounts/
DisplayUnlockCaptcha
Google CAPTCHA
• obecność znaczka
audio/niepełnosprawni,
• rozsądane stosowanie javascrpit
i flash.
reCAPTCHA
marzec 09 Mariusz Dziechciaronek 16
17. • człowiek, a maszyna, trochę historii,
• czym jest i do czego słuŜy CAPTCHA,
• problemy uŜyteczności i dostepności CAPTCHA,
• kwestie bezpieczeństwa i metody łamania kodu,
• czym jest dobre CAPTCHA?
• reCAPTCHA i nowe modele kodów.
marzec 09 Mariusz Dziechciaronek 17
18. Jak moŜna złamać CAPTCHA
• wykorzystanie oprogramowania OCR (Optical Character Recognition),
• analiza statystyczna – słów i obrazów z bazy danych CAPTCHA,
• sieci neuronowe, znacznie lepsze od klasycznych podejść algorytmicznych w rozpoznawaniu
kształtów,
• farma Turinga, czyli zatrudnienie w jakimś kraju Trzeciego Świata setek ludzi, którzy będą
rozwiązywali przedstawiane im CAPTCHA,
• farma porno Turinga – czyli spamer zakłada stronę „tylko dla dorosłych”, w której warunkiem
obejrzenia pornograficznego obrazka jest zdekodowanie CAPTCHA pochodzącej z innej strony.
Przykład farmy porno Turinga: http://www.heise-
online.pl/security/Striptizowy-trojan--/news/item/1781
Działanie farmy porno Turinga;
http://pandalabs.pandasecurity.com/archive/A-new-way-
of-social-engineering.aspx:
marzec 09 Mariusz Dziechciaronek 18
19. Jak moŜna złamać CAPTCHA (2)
Przykłady odpornych
jeszcze do niedawna
na ataki (Google)
kodów CAPTCHA.
marzec 09 Mariusz Dziechciaronek 19
20. CAPTCHA KAPUT
J. Yen, A. Ahmad, A low cost attack on a Microsoft CAPTCHA:
http://homepages.cs.ncl.ac.uk/jeff.yan/msn_draft.pdf
KaŜde CAPTCHA da się w końcu
złamać, bez konieczności ponoszenia
nakładów, niewspółmiernych do McAfee:http://vil.nai.com/images/FP_BLOG_081008_1.jpg
potencjalnych zysków ze złamania
kodu.
marzec 09 Mariusz Dziechciaronek 20
21. • człowiek, a maszyna, trochę historii,
• czym jest i do czego słuŜy CAPTCHA,
• problemy uŜyteczności i dostepności CAPTCHA,
• kwestie bezpieczeństwa i metody łamania kodu,
• czym jest dobre CAPTCHA?
• reCAPTCHA i nowe modele kodów.
marzec 09 Mariusz Dziechciaronek 21
22. Jak powinno wyglądać dobre
CAPTCHA
• dobre CAPTCHA to takie, które zapewnia bezpieczeństwo serwisu i nie jest
jednocześnie utrapieniem dla uŜytkowników,
• powinno zapewniać dostęp do serwisu uŜytkownikom niepełnosprawnym,
• powinno zawierać przycisk odświeŜ,
• powinno informować o ilości koniecznych do wpisania elementów,
• powinno odzwierciedlać specyfikę kulturową,
• powinno zawierać informacje dlaczego naleŜy je wpisać,
• powinno dawać moŜliwość dodatkowej np. telefonicznej weryfikacji uŜytkownika,
• powinno podlegać czasowym ewaluacjom bezpieczeństwa.
marzec 09 Mariusz Dziechciaronek 22
23. • człowiek, a maszyna, trochę historii,
• czym jest i do czego słuŜy CAPTCHA,
• problemy uŜyteczności i dostepności CAPTCHA,
• kwestie bezpieczeństwa i metody łamania kodu,
• czym jest dobre CAPTCHA?
• reCAPTCHA i nowe modele kodów.
marzec 09 Mariusz Dziechciaronek 23
24. Re....CAPTCHA....
• pozwala digitalizować stare
ksiąŜki i dokumenty,
• działa na zasadzie czytania
przez OCR starych druków i
przesyłania nieczytelnych słów
do uŜytkowników w postaci
CAPTCHA,
• uŜytkownicy wpisują dwa
słowa: jedno zabezpieczające
oraz drugie stanowiące
zagadkę dla OCR, pomagają
przenieść do sieci miliony
ksiąŜek.
marzec 09 Mariusz Dziechciaronek 24
25. Niecodzienne rozwiązania
Wyjątkowe matematyczne
CAPTCHA – segregacja juŜ na
Geometryczne CAPTCHA – dla wejściu, pozwala na precyzjny
wyjątkowo wytrwałych dobór uŜytkowników ☺
downloader’ów ☺
marzec 09 Mariusz Dziechciaronek 25
26. Niecodzienne rozwiązania (2)
Drag & Drop CAPTCHA - ciekawe Graficzne CAPTCHA – jego siła
rozwiązanie szczególnie z pkt. zaleŜy od ilości kombinacji
widzenia bezpieczeństwa. przedstawianych
uŜytkownikowi.
marzec 09 Mariusz Dziechciaronek 26
27. Niecodzienne rozwiązania (3)
Kolejne CAPTCHA graficzne,
stanowiące raczej zabawny element
strony niŜ realne zabezpieczenie
przed botami.
marzec 09 Mariusz Dziechciaronek 27