• Save
Jak maszyny rozpoznają ludzi? Odwrotny test Turinga i jego skutki uboczne
Upcoming SlideShare
Loading in...5
×
 

Jak maszyny rozpoznają ludzi? Odwrotny test Turinga i jego skutki uboczne

on

  • 4,619 views

How do machines tell humans and bots apart? Reverse Turing test and its side effects

How do machines tell humans and bots apart? Reverse Turing test and its side effects

Statistics

Views

Total Views
4,619
Views on SlideShare
4,488
Embed Views
131

Actions

Likes
1
Downloads
0
Comments
0

3 Embeds 131

http://sobiegraj.com 128
http://www.slideshare.net 2
http://webcache.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Jak maszyny rozpoznają ludzi? Odwrotny test Turinga i jego skutki uboczne Jak maszyny rozpoznają ludzi? Odwrotny test Turinga i jego skutki uboczne Presentation Transcript

  • Odwrotny test Turinga i jego skutki uboczne SecureCON Wrocław, 20 października 2007 Michał Sobiegraj, CISSP
  • /39 /39
  • Co chcemy uzyskać?
    • Wpuścić dobrych
      • Jak najmniej problemów
      • Nie karmić trolla ;-)
    • Zatrzymać złych
      • Spam z webowych kont pocztowych
      • … na forach, w komentarzach
      • … poprzez IM
      • Email harvesting
      • Automatyczne gromadzenie danych (WHOIS, etc.)
      • Śmiecenie i łamanie regulaminu
    /39
  • Robotofobia?
      • Maszyny są znacznie wydajniejsze
    /39
  • Odwrotny test Turinga
    • Test Turinga
      • Czy maszyna jest równie inteligentna jak człowiek
      • Człowiek jest sędzią
    • Odwrotny test Turinga
      • Ten sam cel – Hello, Are you Human?
        • … i sędzią jest maszyna
          • Zadaje i ocenia zadanie
          • Praktyczne w masowej implementacji
      • … lub odwrotny cel – Are you a machine?
    Alan Turing /39
  • CAPTCHA
    • C ompletely A utomated P ublic T uring test to tell C omputers and H umans A part
      • Całkowicie Automatyczny
      • Publiczny
      • Test Turinga
      • Odwrotny
        • Automatyczny sędzia
    /39
  • Model
    • Za pomocą funkcji jednokierunkowej F z rozwiązania R maszyna konstruuje problem P
      • F(R) -> P
      • Założenie: nie jest znana funkcja odwrotna do F pozwalająca na automatyczne wyliczenie R z P
    • Na podstawie problemu P człowiek dostarcza rozwiązanie R1
      • H (P) -> R1
    • Maszyna porównuje R z R1
    /39
  • Tradycyjne uwierzytelnianie…
    • Pozwala dowieść, że jest się konkretną osobą
    • Jest to podzbiór problemu
    • Czynniki
      • Coś, co znasz
        • Sekret : hasło, PIN, dane osobowe, odpowiedź, etc.
      • Coś, co masz
        • Token, karta, etc.
      • Coś, czym jesteś
        • Odcisk palca, dłoni, skan tęczówki, geometria twarzy, etc.
      • Ktoś, kogo znasz
        • Łańcuch/sieć zaufania
    /39
  • … nie nadaje się…
    • Konieczna jest relacja poprzedzająca uwierzytelnianie
      • Ustalenie hasła
      • Przekazanie tokena
      • Zachowanie wzorca biometrycznego
      • Włączenie do łańcucha lub sieci zaufania
    • Chcemy jej uniknąć
    /39
  • … zupełnie
    • Podaj hasło!
      • Musiałoby być publicznie znane (twórcy robota również)
    • Przepisz liczbę z tokena!
      • Można przyjąć, że robot nie przepisze nic z tokena
      • Konieczność posiadania zsynchronizowanego token
      • Nierealne logistycznie
    • Czy masz puls? Pokaż swoje zdjęcie!
      • Niewiarygodne na odległość
      • Inwazyjne (kamera, dostęp do najbardziej prywatnych danych, etc.)
    • Kto za Ciebie ręczy?
      • Konieczność posiadania certyfikatu/klucz podpisanego przez kogoś zaufanego
    • Twórca robota jest człowiekiem
      • Rzadko zmieniana wiedza może być wprojektowana w robota
    /39
  • Co odróżnia ludzi od robotów?
    • Coś, co potrafisz (a maszyna nie)
      • Rozpoznawanie obrazów i dźwięków
        • AI jest w tym coraz lepsze
      • Korzystanie z przedmiotów ze świata rzeczywistego
        • Token, telefon, etc.
      • Emocje
      • Logiczne myślenie, skojarzenia
      • Problem musi być możliwy do skonstruowania automatycznie
      • Konflikt interesów pomiędzy naukowcami (AI)
    /39
  • Implementacja: Rozpoznawanie tekstu
    • AI jest naprawdę skuteczne
      • PWNtcha - captcha decoder
        • ( http://sam.zoy.org/pwntcha/ )
      • Breaking a Visual CAPTCHA
        • ( http://www.cs.sfu.ca/~mori/research/gimpy/ )
      • Problemy z rozdzieleniem znaków
      • Skuteczny CAPTCHA trudny dla człowieka
    /39
  • eBayCaptcha Populator
    • Prosty CAPTCHA
      • AI zaimplementowane w JS
      • Pozwala na pełną automatyzację ataku
    /39
  • eBayCaptcha Populator (2)
    • "Companies have a variety of ways to fight them on the back end, including IP address information and a few other things we don't talk about" – Catherine England , eBay spokesperson
      • The Onion Router?
    /39
  • Niedostępność
    • Dyskryminacja niepełnosprawnych
    • Uniemożliwienie dostępu części użytkowników
      • Strata
    • „ Inaccessibility of CAPTCHA – Alternatives to Visual Turing Tests on the Web ”
      • ( http://www.w3.org/TR/turingtest/ )
    • Inne metody mogą być rozwiązaniem
    /39
  • reCAPTCHA
    • Pomaga digitalizować książki
    • Używa słów trudnych dla OCR
      • Wykorzystuje poziom pewności skanera
      • Kilka takich samych niezależnych odpowiedzi
    • 60 mln CAPTCHA dziennie – sporo książek ;-)
    /39
  • reCAPTCHA (2)
    • Bezpieczeństwo
      • Dowiedziona nierozwiązywalnośc automatyczna
      • Standardowe metody walki z relay attack
        • Filtrowanie tego samego IP (TOR?)
        • Możliwość globalnej obserwacji aktywności spammerów
      • Łatwość łatania znalezionych podatności
        • Usługa, a nie produkt
    /39
  • Implementacja: Rozpoznawanie dźwięków
    • Rozwiązuje problem niedostępności dla niewidomych
    • Dźwięki są względnie proste do rozpoznania
      • Często prostsze niż CAPTCHA wizualny
      • Korzystanie może być niewygodne
      • Rozwiązanie zabiera jeszcze więcej czasu
    • Nadal pozostaje problem ludzi o obniżonej sprawności wzrokowej i słuchowej
    /39
  • Implementacja: 2+2 = ?
    • Polega na umiejętności zrozumienia zadania
    • Proste do rozwiązania, jeśli nie połączone z problemem rozpoznawania tekstu
      • Komputery całkiem nieźle liczą
    • Sensowne przy niewielkich wdrożeniach
      • Bardzo krótki czas rozwiązania dla człowieka
      • Stosunkowo mało popularne
    /39
  • Implementacja: Zagadka
    • Które to nie ssak?
      • Kot, Koń, Kogut
    • Problemy
      • Język
        • 们要求美国政府认真对待中 ?
      • Oparta na wiedzy nie spełnia swojej roli
        • Trzeci prezydent USA?
      • … na logice czasem też ;-)
      • Zła jeśli zawiera odniesienia do kultury
      • Ograniczony zbiór
        • Zagadki musi przygotować człowiek
    /39
  • Implementacja: Wskaż kotka!
    • Wybór spośród kilku obrazków
    • Ograniczona ilość możliwości
      • Można ją poszerzyć korzystając z bibliotek zaetykietowanych obrazków (Flikr, Picasaweb, etc.)
        • Etykiety nie muszą być poprawne – wymaga sprytu (reCAPTCHA)
      • Możliwe zebranie skrótów obrazków
        • Wprowadzanie losowych zakłóceń pomaga
    • BotBouncer
    /39
  • BotBouncer
    • CAPTCHA dla dostarczycieli OpenID
    • Jednokrotna weryfikacja człowieczeństwa
      • Samo w sobie lekko bez sensu
    • Cztery obrazki z wspólnym motywem
    /39
  • BotBouncer
    • Problem językowy
      • Długi proces odpowiedzi
    • Konieczny udział człowieka w generowaniu zadania
    /39
  • Implementacja: Podaj numer karty!
    • Szybki dostęp
    • Konieczność posiadania infrastruktury pozwalającej zweryfikować kartę
      • Koszta
    • Karta jednoznacznie identyfikuje osobę
    • Co jeśli nie mam karty?
    • Czy dane mojej karty są bezpieczne?
    • Dlaczego właściwie mam podawać numer karty?
    /39
  • Implementacja: Ograniczenie nowych kont
    • Każdy nowy użytkownik może wysłać ograniczoną ilość wiadomości
    • Odwlekanie problemu – prędzej, czy później trzeba zdjąć ograniczenia
    • Ograniczenia utrudniają życie dobrym użytkownikom
    • Brak problemów z dostępnością
    /39
  • Implementacja: Domniemanie niewinności ;-)
    • Użytkownik ma pełne uprawnienia, dopóki nie narozrabia
    • Nie ogranicza dobrych użytkowników
    • Brak problemów z dostępnością
    • Wymaga ustalenia skutecznych wzorców niewłaściwego zachowania
      • Potencjalne fałszywe alarmy
    • W przypadku alarmu wymaga użycia innej metody
    • Np. Google
    /39
  • Implementacja: Single Sign On
    • Wykorzystanie tradycyjnego uwierzytelniania
      • Wymaga zawiązania relacji poprzedzającej (np. rejestracja w systemie)
    • Wymaga jednokrotnej weryfikacji podczas zakładania konta
      • Mocno bez sensu – człowiek może przygotować robotowi konto
    • I tak wymaga użycia innego CAPTCHA
    /39
  • Implementacja: Zadzwonimy!
    • … albo i nie ;-)
    • Brak problemów z dostępnością
    • Długotrwały proces
    • Wysoki koszt
      • Praktycznie niemożliwe, żeby stosować ten sposób weryfikacji jako podstawowy
      • Test nie jest automatyczny
    • Yahoo!
      • Podobno nie działa
    /39
  • A czemu by nie…
    • Aplikacja J2ME
      • Spełni rolę tokena
      • Może zostać uruchomiona w emulatorze
    • Pętla SMSowa
      • Wymaga wpisania numeru telefonu, a potem przepisania kodu
        • Wygodna?
      • Nr telefonu potencjalnie identyfikuje osobę
      • VoIP SMS, bramki SMS
    /39
  • A czemu by nie… (2)
    • Etykietowanie obrazków
      • Algorytm analogiczny do reCAPTCHA
        • Dwa obrazki do opisania
        • Jeśli kilka osób daje taką samą etykietę – uznajemy ją za poprawną
        • Punkt wyjściowy, to etykiety, które obrazki już mają (ALT tags, Flickr, Picasaweb, etc.)
      • Dodatkowy zysk – opisujemy świat wokół siebie
      • Google Image Labeler
        • ( http://images.google.com/imagelabeler/ )
      • Problemy: język, dysleksja, głupota…
    /39
  • Google Image Labeler /39
  • Problemy
    • Skuteczny atak
      • Można kupić rozwiązywanie CAPTCHA
    /39
  • Problemy (2)
    • Skuteczny atak
      • Ludzie rozwiązują CAPTCHA za $0.60/h
        • Różnica w poziomie gospodarczym (tania siła robocza)
        • Sposobem może być odnoszenie się do znajomości kultury
          • ( http://it.slashdot.org/article.pl?sid=06/09/06/1217240 )
          • „ Wait... I've got it! To prevent inexpensive foreign labor from solving CAPTCHAs, simply ask easy math and science questions... but only provide access for wrong answers. This should let most Americans through. ” – /.
      • Relay attack
        • Przekazywanie CAPTCHA do użytkownika innego serwisu
        • Strony z popularną treścią
          • pr0n, warez
      • Nie do wyeliminowania
    /39
  • Problemy (3)
    • Utrudnienie dla użytkownika
      • Wynika z poziomu zaawansowania AI
      • Powoduje straty
        • Utrata użytkownika (zakładania konta)
        • Utrata reputacji
    /39
  • Problemy (4)
    • I, Robot
      • Inteligentne roboty i ich prawo do wypowiedzi
      • Być może inteligentne rozwiązuje problem
        • … chociaż ludzie niby też są inteligentni
      • Problem z robotami – są dużo wydajniejsze
        • … w spamowaniu i pieprzeniu głupot na forum też
      • Ciągle pieśń przyszłości
        • … choć być może nie tak odległej…
        • „ Amerykańscy naukowcy zbudowali robota, który poznaje świat zupełnie jak niemowlak ” – Gazeta, 17 listopada 2006
    /39
  • Podsumowując
    • Warto odróżniać ludzi od maszyn
      • Maszyny potrafią więcej i szybciej śmiecić
    • Warto robić to automatycznie
      • Koszt pracy
      • … chociaż niekoniecznie – $0.60/h
        • 90% spamu można moderować nie znając języka
        • Oferty z Kenii pewnie się prześlizną
    • Aktualne metody odróżniania są beznadziejne
      • Irytujące
      • Zajmują dużo czasu
    /39
  • Podsumowując (2)
    • Dobrze jeśli ta praca jeszcze czemuś służy
      • reCAPTCHA
      • Etykietowanie obrazków, etc.
    • … i zajmuje mniej czasu
      • Świat ciągle czeka na wynalazek
    • Ostatecznie decyduje bilans zysków/kosztów
      • Im gęstsze sito, tym więcej stracimy potencjalnych użytkowników (czyli pieniędzy)
      • Wygląda na to, że stosowane metody są opłacalne…
      • … przynajmniej na razie
    /39
  • Truizmy na zakończenie ;-)
    • Należy ograniczać dostęp robotom tylko wtedy, kiedy jest to konieczne
    • Należy robić to w jak najmniej uciążliwy dla użytkowników sposób
    /39
  • Pytania [email_address] /39