captcha at boatcamp

17
Cześć tu Captcha! Jesteś botem? Kamil Porembiński [email protected] GG: 5407049 JID: [email protected]

Upload: guestd93914

Post on 03-Jun-2015

1.178 views

Category:

Technology


0 download

DESCRIPTION

boatcamp presentation

TRANSCRIPT

Page 1: Captcha at Boatcamp

Cześć tu Captcha! Jesteś botem?

Kamil Porembiń[email protected]

GG: 5407049JID: [email protected]

Page 2: Captcha at Boatcamp

Czym jest Captcha?

CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) - rodzaj techniki stosowanej jako zabezpieczenie w formularzach na stronach WWW. Dla przesłania danych konieczne jest przepisanie treści z obrazka (zazwyczaj losowo dobranych znaków bądź krótkiego wyrazu). Obrazek ten jest prosty do odczytania przez człowieka, jednakże odczytanie go przez komputer jest, przynajmniej w założeniu, bardzo trudne.

Page 3: Captcha at Boatcamp
Page 4: Captcha at Boatcamp

Test TuringaJest to sposób określania zdolności maszyny do posługiwania się językiem naturalnym i pośrednio mającym dowodzić opanowania przez nią umiejętności myślenia w sposób podobny do ludzkiego. Alan Turing zaproponował ten test w celu zamiany pełnego emocji i w jego pojęciu bezsensownego pytania "Czy maszyny myślą?" na pytanie lepiej zdefiniowane, w ramach badań nad stworzeniem sztucznej inteligencji.

Test wygląda następująco: sędzia - człowiek - prowadzi rozmowę w języku naturalnym z pozostałymi stronami. Jeśli sędzia nie jest w stanie wiarygodnie określić, czy któraś ze stron jest maszyną czy człowiekiem, wtedy mówi się, że maszyna przeszła test. Zakłada się, że zarówno człowiek jak i maszyna próbują przejść test zachowując się w sposób możliwie zbliżony do ludzkiego.

Page 5: Captcha at Boatcamp

Zastosowanie CAPTCHA

● Uwierzytelnienie● Bezpieczeństwo

– ochrona przed SPAMem

– ochrona przed floodem

– ochrona zwykłych użytkowników

● Filtracja● Blokowanie zbyt częstego pobierania plików,

rejestracji, logowań itp.

Page 6: Captcha at Boatcamp

Założenia

CAPTCHA powinna być jak najłatwiejsza do rozpoznania przez człowieka jak i najtrudniejsza dla maszyny.

Niestety w wielu przypadkach jest odwrotnie. Ludziom ciężko jest odczytać tekst obrazka z powodu jego nieczytelności lub wad wzroku.

Roboty radzą sobie z tym problemem, gdyż mają dostęp do szerokiej gamy programów graficznych i skryptów, które wspierają ich działanie.

Page 7: Captcha at Boatcamp

Czy robot odczyta CAPTCHA?

Tak! Roboty sobie bardzo dobrze radzą z odczytaniem tekstu z CAPTCHA (http://sam.zoy.org/pwntcha/).

Proste do łamania są CAPCHA mające stałe rozmieszczenie liter pisanych tym samym krojem pisma. W takim wypadku wystarczy sprawdzić kilka strategicznych pikseli, by rozróżnić litery.

Page 8: Captcha at Boatcamp

Co już złamano?

Page 9: Captcha at Boatcamp

Jak one to robią?● Zmiana kontrastu

– Poprawianie kontrastu i znajdywanie krawędzi

● Algorytmy wyostrzające

– W wielu przypadkach rozmytych liter nawet nie trzeba wyostrzać Wiele OCR-ów nawet umyślnie bluruje, bo to pomaga dopasować wzorcowe litery do analizowanych, nawet jak różnią się kilkoma pikselami („fuzzy logic”).

● Usuwanie szumów, plamek

– Kropki, kreski o grubości innej, niż litery da się całkowicie usunąć algorytmami usuwania szumu.

● Usuwanie tła, kolorów

– Tła o stałej barwie, fakturze można łatwo wyciąć. Tło, która ma wszędzie inny kolor lub jasność niż litery daje się bezproblemowo wyizolować.

● Kolor

– Kolorowe CAPTCHA ułatwiają sprawę. Robot może analizować trzy odseparowane kanały obrazu. Ma 3 razy większą szansę na odczytanie tekstu.

Page 10: Captcha at Boatcamp

Przykłady

Page 11: Captcha at Boatcamp

Krok po kroku1. Oryginalna CAPTCHA pobrana z jakiejś strony

2. Redukcja kolorów

3. Zmniejszenie nasycenia kolorów oraz wyostrzenie obrazu

4. Kilkukrotny antyaliasing

5. Wykrywanie krawędzi (algorytm Laplace)

Page 12: Captcha at Boatcamp

Jak się bronić?

● Umieszczanie lister blisko siebie. Jest mała szansa, że robot wyizoluje osobne litery i je rozpozna.

● Nielinearne transformacje, których nie da się rozpoznać na podstawie konturu tekstu np. efekt żabie oko.

● Niesłownikowe wyrazy. Często OCRy dają kilka możliwych odpowiedzi i sprawdzenie w słowniku ułatwia wybrać ostateczną. Nie trzeba od razu dawać całkowicie losowego zestawu, który jest trudny też dla człowieka - jako kompromis można generować słowo podobne ciągi ze zlepianych sylab.

Page 13: Captcha at Boatcamp

reCAPTCHA

● Pomaga zdigitalizować książki● Wykorzystuje trudne słowa dla OCR

– wykorzystuje poziom pewności skanera

● Dziennie rozwiązuje się 60 mln CAPTCH!

Page 14: Captcha at Boatcamp

CAPTCHA w innym wydaniu

● Zadania matematyczne– 2 + 2 = ?

● Które to nie zwierzę? (kot, pies, czołg)– 在理 上 言论 预 , 引力波的存在以来,人 至今类 ?

● Multimedialna CAPTCHA– Kilka zdjęć zwierząt – wybierz kota

– Przepisz to co usłyszałeś – problem języka, osoby niedosłyszące

● Tokeny, SMSy?– Robota można podłączyć pod bramki VoIP

Page 15: Captcha at Boatcamp

Nie tylko roboty łamią CAPTCHA!

● Ludzie rozwiązują CAPTCHA za $0.60/h!– Tania siła robocza z krajów 3 świata

– Można kupić gotowe rozwiązania

Page 16: Captcha at Boatcamp

Linki● http://pl.wikipedia.org/wiki/CAPTCHA

● http://www.captcha.net/

● http://pornel.net/captcha

● http://www.webaudit.pl/blog/2006/captcha-nie-uzywaj/

● http://securitystandard.pl/news/143121.html

● http://www.heise-online.pl/security/news/item/1781

● http://sam.zoy.org/pwntcha/

● http://www.cs.sfu.ca/~mori/research/gimpy/

● http://www.cs.sfu.ca/~mori/research/gimpy/hard/

● http://www.cse.lehigh.edu/~baird/research_hips.html

● http://www.handrooster.com/2007/04/27/im-a-bot/

● http://research.microsoft.com/asirra/

● http://www.lemat.priv.pl/index.php?m=page&pg_id=121

● http://www.ocr-research.org.ua/list.html

Page 17: Captcha at Boatcamp

Pytania?