Co to jest CAPTCHA i dlaczego blokuje zakup biletów na koncerty?

9

Możesz już kupić bilety na lokalne przedstawienie. Wózek jest pełny. Wprowadzono szczegóły płatności. I tu pojawia się bariera.

To jest CAPTCHA.

Akronim oznacza Całkowicie zautomatyzowany publiczny test Turinga pozwalający odróżnić komputery od ludzi. Brzmi jak coś z thrillera science-fiction, ale tak naprawdę to tylko cyfrowy ochroniarz. Ten test nie jest trudny dla ludzi. Jeśli jesteś prawdziwą osobą, zdasz to bez problemu. Do komputera? To musi być prawie niemożliwe.

Cel jest prosty: zidentyfikować złośliwe boty, zanim zdążą uszkodzić Twoje dane lub zrujnować Twój zakup.

Testy te są również znane jako dowód na interakcję z człowiekiem (HIP). Widziałeś je wszędzie. Wersja klasyczna przedstawia ciąg zniekształconych, rozmazanych liter. Wpisujesz je. Jeśli dopasowanie do obrazu jest prawidłowe, test zostaje zaliczony.

To takie proste. Albo to było wcześniej.

Ewolucja zadań opartych na obrazach

Tekstowe CAPTCHA stają się przestarzałe. Boty są coraz mądrzejsze. Teraz zadania oparte na rozpoznawaniu obrazu stały się standardem.

Zamiast wpisywać litery, wyświetlana jest siatka zdjęć. Autostrada. Ulice miasta. Parki. Zostaniesz poproszony o wybranie obrazów zawierających określone obiekty.

  • Światła uliczne
  • Hydranty przeciwpożarowe
  • Rowery
  • Przejścia dla pieszych

Wybierz odpowiednie zdjęcia. Podejmij test.

CAPTCHA oparte na obrazach są znacznie trudniejsze dla botów niż te oparte na tekście. Zniekształcone obrazy lub rozmyte sceny utrudniają działanie algorytmów rozpoznawania botów. Stworzenie testu, który może rozwiązać tylko człowiek, wymaga starannego zaprojektowania.

Po co w ogóle walczyć z botami?

Po co tworzyć test oddzielający ludzi i maszyny?

Ponieważ ludzie próbują oszukać system. Wykorzystują luki w zabezpieczeniach komputerów, na których działa witryna.

Osoby te stanowią mniejszość wśród użytkowników Internetu. Ale ich działania mają wpływ na miliony.

Weźmy jako przykład bezpłatną usługę e-mail. Bez CAPTCHA może zostać zasypany automatycznymi prośbami o utworzenie konta. Zautomatyzowany program tworzy tysiące kont w ciągu kilku sekund. Po co? Aby później wysłać spam do milionów ludzi.

CAPTCHA zatrzymuje to. Określa, którzy użytkownicy to prawdziwi ludzie, a którzy to tylko programy komputerowe.

Każda porażka to przełom w sztucznej inteligencji

Oto ciekawy obrót wydarzeń.

Ludzie, którzy opracowują te testy, nie zawsze są zdenerwowani, gdy im się nie udaje.

Aby test CAPTCHA nie powiódł się, ktoś musi znaleźć sposób na nauczenie komputera jego rozwiązywania.

Za każdym razem, gdy bot omija CAPTCHA, oznacza to postęp w dziedzinie sztucznej inteligencji.

Ironia jest oczywista. Aplikacja CAPTCHA generuje test, którego nawet ona nie może rozwiązać, nie znając wcześniej odpowiedzi. Opiera się na ludzkim poznaniu jako parametrze bezpieczeństwa.

Jesteśmy w wyścigu zbrojeń.

Boty są coraz mądrzejsze. Testy stają się coraz trudniejsze. Użytkownicy się denerwują.

Ale dopóki technologia nie dogoni ludzi, będziemy nadal klikać na sygnalizację świetlną.

Cały system wraca do testu Turinga. Alan Turing, człowiek, który w zasadzie wynalazł nowoczesną informatykę, chciał znaleźć sposób na sprawdzenie, czy maszyny mogą naśladować ludzki sposób myślenia. Schemat był prosty. Przesłuchujący komunikuje się z dwoma ukrytymi uczestnikami. Jednym z nich jest osoba. Drugi to komputer. Jeśli przesłuchujący nie będzie w stanie ustalić, kto jest kim, wygrywa maszyna.

CAPTCHA odwraca tę logikę. Celem jest stworzenie testu, który ludzie z łatwością przejdą, a boty poniosą porażkę. Musi być także dynamiczny. Gdyby każdy użytkownik zobaczył ten sam statyczny obraz z tymi samymi literami, spamerzy zhakowaliby go w ciągu kilku minut. Po prostu napisaliby skrypt, który automatycznie wprowadzi odpowiedź.

Większość tych testów ma charakter wizualny. Komputery w porównaniu z ludźmi nadal słabo radzą sobie z przetwarzaniem obrazów. Ludzie natychmiast rozpoznają wzorce. Czasami nawet „widzimy” je tam, gdzie ich nie ma. Nazywa się to pareidolią. Widzisz twarz w chmurach lub postać na Marsie. Twój mózg zamienia przypadkowy hałas w rozpoznawalną formę. Maszyny nie mają tego intuicyjnego skoku. Mają trudności z radzeniem sobie z dwuznacznością.

Jednak poleganie wyłącznie na wizji jest ryzykowne. To zniechęca użytkowników z wadami wzroku. Dlatego istnieją alternatywy. Audio CAPTCHA są dość powszechne. Słuchasz zestawu cyfr lub liter. Głos może być zniekształcony. Często słychać hałas w tle. Blokuje to programy rozpoznawania mowy.

Następnie jest kontekstowe CAPTCHA. Podaje krótki fragment tekstu. Użytkownik musi zinterpretować jego znaczenie. Algorytmy mogą wyodrębniać słowa kluczowe. Brakuje im prawdziwego zrozumienia. Nie chwytają niuansów.

Czasami test jest po prostu zepsuty. Obraz jest tak zniekształcony, że nawet ludzie nie są w stanie go odczytać. Dlatego pojawia się przycisk „aktualizuj”. Spróbuj ponownie. Mam nadzieję, że druga próba nie będzie zlepkiem bezsensownych postaci.

Kto używa CAPTCHA

W następnej sekcji sprawdzimy, które witryny faktycznie korzystają z tych kontroli, aby upewnić się, że nie jesteś botem.

Uczciwość ankiet i nadużycia ze strony botów

Ankieta Slashdot z 1999 r. dotycząca najlepszego programu studiów informatycznych jest przestrogą. Pokazało jasno, co się dzieje, gdy ankiety pozostawia się otwartym na zautomatyzowane skrypty. Studenci Carnegie Mellon University i Massachusetts Institute of Technology stworzyli boty, które zalały ich uniwersytety tysiącami głosów. Tymczasem co drugi uniwersytet walczył o zdobycie kilkuset głosów.

Jeśli kod może oddać głos, wyniki są bez znaczenia.

Dlatego ważna jest weryfikacja. Bez filtra ankiety internetowe zamieniają się w konkursy popularności na najszybszy scenariusz. CAPTCHA uniemożliwia programistom manipulowanie systemem.

Blokowanie robotów spamujących podczas rejestracji

Przypomnij sobie, kiedy ostatni raz rejestrowałeś się w usłudze Hotmail, Yahoo! Poczta lub Gmail. Wpisałeś pewne dane osobowe. Serwis nie sprawdzał czy są oryginalne. Nie zadzwonił do ciebie ani nie potwierdził twojej tożsamości.

Chciał się tylko upewnić, że bot nie będzie próbował utworzyć setek kont spamowych w ciągu kilku sekund.

Dostawcy bezpłatnej poczty e-mail używają CAPTCHA do zapobiegania spamowi. Bez tego Twoja skrzynka odbiorcza byłaby wypełniona śmieciami z fałszywych kont, zanim jeszcze skończyłbyś konfigurować swoje.

Walcz ze sprzedawcami biletów

Brokerzy biletów, tacy jak TicketMaster, również korzystają z tych filtrów. Dlaczego? Aby zapobiec działalności sprzedawców.

Sprzedawcy używają botów, aby w ciągu kilku sekund kupić tysiące biletów na najważniejsze wydarzenia. Prawdziwi fani są blokowani. Wydarzenia wyprzedają się natychmiast. Sprzedawcy następnie odsprzedają te bilety po zawyżonych cenach.

CAPTCHA nie zapobiega całkowicie nadmiernemu zakupowi biletów. To tylko znacznie utrudnia masowe, automatyczne zakupy. Spowalnia boty. Daje prawdziwym ludziom szansę na odniesienie sukcesu.

Dbanie o czystość forów

Strony internetowe zawierające formularze kontaktowe lub fora są narażone na to samo zagrożenie. Lawina spamu może zagłuszyć prawdziwe dyskusje.

Programy CAPTCHA odfiltrowują szum. Uniemożliwiają botom automatyczne publikowanie obraźliwych wiadomości lub nękanie administratorów. To nie jest idealna tarcza przeciwko uporczywemu ludzkiemu trollowi. Zatrzymuje jednak zautomatyzowaną falę spamu.

Podwójne wyzwanie reCAPTCHA

Standardowy kod CAPTCHA prosi o wprowadzenie zniekształconych liter i cyfr. Twórcy znaleźli jednak sposób na dodanie wartości temu zadaniu. Wykorzystali go do digitalizacji książek.

To jest reCAPTCHA. Wykorzystuje Twoje odpowiedzi do sprawdzania zeskanowanych dokumentów. Komputery mają trudności z odczytaniem słów ze skanów cyfrowych. Ludzie dobrze sobie z tym radzą.

Oto proces:

  • Administrator skanuje książkę.
  • Program wybiera dwa słowa z obrazka.
  • Jedno słowo zostało już rozpoznane.
  • Jeśli wpiszesz je poprawnie, system uzna, że ​​drugie słowo również jest poprawne.
  • To drugie słowo trafia do puli dla innych użytkowników.
  • W miarę wprowadzania większej liczby osób system z dużą pewnością potwierdza, że ​​słowo jest poprawne.

To może wydawać się nudne. Ale robisz dwie rzeczy na raz. Udowadniasz, że jesteś człowiekiem. Pomagasz także wyszukiwarkom indeksować zeskanowane dokumenty.

Tworzenie czeku

Następnie przyjrzymy się procesowi tworzenia CAPTCHA.

Projektowanie przepaści między człowiekiem a maszyną

Cała koncepcja CAPTCHA opiera się na zasadniczej luce. Ludzie dostrzegają kontekst. Maszyny przetwarzają instrukcje. Jeśli dane wyjdą poza sztywną ścieżkę algorytmiczną, bot potknie się. On nie improwizuje. Nie udaje mu się.

Projektant musi wykorzystać tę słabość. Spójrzmy na metadane. Są dla ciebie niewidzialni. Można je odczytać po skrypcie. Jeśli stworzysz wyzwanie wizualne, w którym odpowiedź jest ukryta w metadanych pliku obrazu, już przegrałeś. Prosty skrypt może usunąć te dane i natychmiast ujawnić rozwiązanie.

Zniekształcenia są niezaprzeczalnym wymaganiem. Zwykły tekst jest otwartym zaproszeniem do oprogramowania do optycznego rozpoznawania znaków (OCR). Programy te skanują formularze. Rozpoznają linie proste i krzywe. Jeśli Twoje postacie nie są zniekształcone, pochylone lub zasłonięte, bot odczyta je szybciej, niż człowiek może mrugnąć.

Ludzie muszą mieć 80-procentowy wskaźnik sukcesu. Maszyny powinny mieć 0,01 procent.

Standard ten został ustalony przez ekspertów Microsoft Research, Kumara Chellapillę i Patrice’a Simarda. Nie tylko zgadywali. Obliczyli próg między użytecznością a bezpieczeństwem.

Istnieją dwa główne sposoby generowania takich testów. Pierwszy z nich jest statyczny. Z góry definiujesz obrazy i ich rozwiązania. Do tego potrzebna jest ogromna baza danych. Dlaczego? Ponieważ spamer, który kradnie tę bazę danych, może przeprowadzić atak brute-force. Po prostu próbuje wszystkich możliwych odpowiedzi, dopóki jedna nie zadziała. Aby zachować bezpieczeństwo, będziesz potrzebować bazy danych zawierającej ponad 10 000 unikalnych kodów CAPTCHA. To trudne. To ryzykowne.

Druga metoda jest dynamiczna. Randomizacja. System za każdym razem generuje unikalny ciąg liter i cyfr. Nigdy nie zobaczysz dwa razy tej samej sekwencji. Neguje to podejście brutalnej siły. Prawdopodobieństwo, że bot odgadnie długi losowy ciąg znaków, jest astronomicznie małe. Im dłuższa linia, tym bezpieczniejszy jesteś.

Wizualna misja

Jak zniekształcić tekst? W przyborniku znajduje się kilka sztuczek.

Niektóre systemy rozciągają i zginają litery tak, że wyglądają, jakby były oglądane przez roztopione szkło. To sprawia, że ​​czujesz się chory. Jest to również skuteczne. Inni układają siatkę przecinających się pasków, aby rozbić litery. Możesz zobaczyć pola losowych kropek lub sprzecznych schematów kolorów, które mają mylić oko i algorytm. Cel jest zawsze ten sam: stworzyć hałas, który ludzie będą w stanie odfiltrować, ale maszyny nie będą w stanie go przetworzyć.

Rozpoznawanie wzorców to inny kierunek. Zamiast po prostu czytać tekst, możesz zostać poproszony o dokończenie sekwencji. Pojawia się seria postaci. Który będzie następny? To sprawdza logikę, a nie tylko wizję. Ale tu jest haczyk. Nie każdy jest dobry w myśleniu abstrakcyjnym. Jeśli Twoja łamigłówka jest zbyt trudna, wskaźnik sukcesu spada poniżej krytycznych 80 procent. Zaczynasz blokować prawdziwych użytkowników. Poświęcasz dostępność na rzecz bezpieczeństwa. To chodzenie po linie.

Alternatywa audio

Czy mnie teraz słyszysz?

Dźwiękowe CAPTCHA działają według podobnej logiki jak wizualne CAPTCHA, ale przy użyciu innego medium. Słuchasz symboli wypowiadanych syntetyzowanym głosem lub nagrania prawdziwej osoby.

Podejście statyczne wymaga wstępnego nagrania każdej możliwej kombinacji. To ogromna biblioteka audio. Podejście dynamiczne jest mądrzejsze. Rejestruje poszczególne fonemy lub znaki i łączy je w czasie rzeczywistym. Generuje się szybciej. Indeksowanie jest trudniejsze.

Ale dźwięk nie jest doskonały. Hałas w tle. Akcenty. Artefakty syntezy. To dodaje nowy poziom tarcia. Czy to rozwiązuje problem? Czasami. Dla niektórych użytkowników jest to ratunek. Dla innych jest to zagadka, której nie potrafią rozwiązać.

Wyścig zbrojeń trwa

Widzieliśmy jak powstają. Następnym krokiem jest obserwowanie ich upadku. Komputery radzą sobie z tym coraz lepiej. Uczą się dostrzegać zniekształcenia.

Głównym problemem jest nierozszyfrowanie tekstu. Ludzie powinni z łatwością osiągnąć 80-procentową dokładność. Prawdziwym koszmarem jest nauczenie maszyny przetwarzania informacji w taki sam sposób, w jaki robi to ludzki mózg. Większość atakujących nie zadaje sobie trudu ulepszania komputerów. Po prostu eliminują złożoność zadania.

Weźmy standardowy formularz internetowy chroniony przez CAPTCHA z angielskimi słowami. Czcionka jest zniekształcona. Litery są rozciągnięte i zakrzywione w chaotyczne wzory. Za tekstem występuje losowy szum tła. To wydaje się bzdurą. Dokładnie tak to było zamierzone.

Programista hakujący taki system nie zaczyna od sztucznej inteligencji. Zaczyna od algorytmu. To tylko zestaw instrukcji. Pierwszym krokiem może być konwersja obrazu do skali szarości. Kolor to warstwa kamuflażu. Zabierz to. Teraz masz czarno-biały szum.

Następnie kod szuka wzorców. Porównuje kształty ze znanymi literami. Jeśli dopasowanie jest słabe, algorytm dopasowuje te częściowe litery do słownika angielskich słów. Resztę domyśla się. Ta logika brutalnej siły działa. Czasami to się nie udaje. Jeśli jednak działa to wystarczająco często, spamerzy wygrywają.

Obejście Gimpy Challenge

Co się stanie, gdy CAPTCHA stanie się trudniejszy? Weźmy wersję Gimpy. Wyświetla dziesięć słów. Zniekształcone czcionki. Nieregularne tła. Słowa nakładają się na siebie. Aby kontynuować, musisz wpisać trzy poprawne słowa.

To brzmi wiarygodnie. Dopóki nie spojrzysz na badania. Greg Morey i Jitendra Malik opublikowali artykuł o tym, jak zhakować ten system. Ich sztuczka? System używa prawdziwych słów. Nie przypadkowe linie. To ogromna słabość.

Mori i Malik stworzyli algorytm skupiający się na początku i końcu ciągu słów. Korzystali ze słynnego słownika 500 słów systemu Gimpy. Przeprowadzili testy. Algorytm poprawnie zidentyfikował słowa w 33 procentach przypadków.

Liczba ta wydaje się niska. Ale to nieprawda. Spamerzy nie potrzebują doskonałej dokładności. Potrzebują objętości. Jeśli ich boty działają setki razy na minutę, odnoszą sukcesy raz na trzy i są opłacalne. Matematyka się sumuje.

Elektroniczne uszy

Audio CAPTCHA również nie jest bezpieczne. Wiosną 2008 roku pojawiły się doniesienia, że ​​hakerzy ominęli system audio Google. Metoda była zaskakująco prosta.

Hakerzy stworzyli bibliotekę dźwięków. Dla każdego znaku w bazie danych należało znaleźć pasujący dźwięk. Zniekształcenie może oznaczać występowanie wielu dźwięków w jednej literze. Po kategoryzacji wykorzystali opcje oprogramowania do rozpoznawania głosu. Bot słuchał. Zinterpretował. Wpisał tekst.

CAPTCHA i sztuczna inteligencja

Paradoks sztucznej inteligencji: dlaczego hakowanie zabezpieczeń pomaga maszynom się uczyć

Louis von Ahn, profesor Carnegie Mellon University i współtwórca idei CAPTCHA, widzi rzeczy inaczej niż przeciętny administrator systemu. W swoim wykładzie z 2006 roku opisał konfrontację ludzi z botami nie jako wojnę, ale jako poligon dla sztucznej inteligencji. Logika jest tutaj zimna, ale nienaganna. Spamerzy i hakerzy mają obsesję na punkcie łamania CAPTCHA, ponieważ testy te utrudniają osiągnięcie ich celów. Inwestują czas i energię, aby je pokonać.

Kiedy im się to uda, maszyny stają się mądrzejsze.

Za każdym razem, gdy naukowcowi udaje się nauczyć komputer rozwiązywania zagadek ze zniekształconym tekstem, robimy krok w kierunku stworzenia prawdziwej sztucznej inteligencji. Dla von Ahna porażka bezpieczeństwa oznacza zwycięstwo uczenia maszynowego.

Administratorzy stron internetowych są jednak mniej zadowoleni z tej filozofii. Wciąż muszą stawić czoła konsekwencjom. Spamboty i złośliwe skrypty nie przejmują się filozoficznymi konsekwencjami swojej porażki. Potrzebują tylko dostępu. Rzeczywistość jest taka, że ​​kilka systemów CAPTCHA wyszło już z użycia. Administratorzy ankiet online lub prostych witryn muszą wiedzieć, które narzędzia są nadal niezawodne. Powinni być świadomi aktualizacji. Jeśli jeden system zawiedzie, należy zmienić kod. Należy go wymienić.

Projektanci stąpają po cienkim lodzie. W miarę jak komputery stają się coraz bardziej złożone, testy muszą ewoluować. Ale jest granica. Jeśli test stanie się tak trudny, że ludzie nie będą w stanie go rozwiązać z akceptowalnym prawdopodobieństwem powodzenia, system zawiedzie. Nie chodzi już tylko o zniekształcenie tekstu. Odpowiedzią może być równanie matematyczne. Lub odpowiadanie na pytania dotyczące opowiadania.

Ile osób byłoby skłonnych zamieścić odpowiedź na forum, gdyby musiały najpierw rozwiązać równanie kwadratowe?

Zainteresowanie użytkowników spada, gdy bariera staje się zbyt wysoka. Równowaga jest krucha.

Ewolucja niewidzialnej weryfikacji

Google zmienił zasady gry w 2014 roku. Firma, która nabyła reCAPTCHA w 2009 roku, zaczęła wycofywać klasyczne wyzwania graficzne lub tekstowe. Wprowadzili „Brak CAPTCHA”. To było proste: jedno pole z napisem „Nie jestem robotem”.

Użytkownicy kliknęli przycisk. Świat nadal żył własnym życiem.

Ale w 2017 roku nawet to stało się zbyt oczywiste. Google ogłosił rezygnację z No CAPTCHA. Nowe podejście opierało się na analizie zachowania. Śledziło, jak poruszałeś kursorem myszy. Analizował Twoje nawyki przeglądania. Stało się to znane jako Invisible reCAPTCHA.

Jeśli system oznaczył Cię jako podejrzanego – być może naprawdę byłeś robotem – musiałeś rozwiązać jeden ze starych, standardowych problemów. To była opcja zapasowa. Krok weryfikacji. Celem było utrzymanie dobrych użytkowników w ruchu, jednocześnie identyfikując złych użytkowników, tak aby nawet tego nie zauważyli.

Wyjaśnienie terminologii i konieczności

Często pojawia się niejasność co do tego, kto jest właścicielem czego i dlaczego potrzebne są te kontrole.

Czy CAPTCHA jest produktem Google?
Nie. CAPTCHA to powszechna technologia stosowana w Internecie, zapewniająca interakcję ludzi ze stroną internetową, a nie automatyczne boty. Usługa reCAPTCHA firmy Google to tylko jedna z implementacji tej szerszej koncepcji.

Co oznacza skrót CAPTCHA?
Skrót oznacza „Całkowicie zautomatyzowany publiczny test Turinga pozwalający odróżnić komputery od ludzi”. Jest to test typu wyzwanie i odpowiedź wbudowany w systemy komputerowe w celu sprawdzenia tożsamości użytkownika.

Dlaczego potrzebujemy CAPTCHA?
Zapobiega wysyłaniu fałszywych informacji przez zautomatyzowane programy. Uniemożliwia spamerom promowanie oszustw na stronach internetowych. Zapobiega zalaniu Internetu szumem informacyjnym.

Gdzie dalej

Krajobraz ciągle się zmienia. To, co działało wczoraj, dzisiaj może zostać zepsute.

Dla tych, którzy sięgają głębiej, powiązane tematy obejmują działanie programów do łamania kodu, mechanikę spamu i funkcje oprogramowania szpiegującego. Zrozumienie szyfrowania i wirusów komputerowych zapewnia kontekst pozwalający zrozumieć, dlaczego bezpieczeństwo jest ważne. Podstawowa logika generowania liczb losowych przez silnik logiczny odnosi się również do losowości wymaganej do bezpiecznych kontroli.

Dodatkowe zasoby na ten temat obejmują Gwap i oficjalną stronę reCAPTCHA. Akademickie korzenie tej dziedziny są dobrze udokumentowane. Badania przeprowadzone przez Chellapillę i Simarda w Microsoft Research pokazują, jak uczenie maszynowe może ominąć dowody wizualne. Na wczesnych warsztatach badano captcha z filtrowaniem zbiorczym. Luka w zabezpieczeniach audio CAPTCHA Google została udokumentowana w 2008 roku. W tym samym roku spamerzy złamali CAPTCHA Gmaila.

Test Turinga, jak omówiono w Stanford Encyclopedia of Philosophy, pozostaje teoretyczną podstawą. Jak zauważa Wired, ludzka kora wciąż przewyższa procesor w wielu zadaniach. Ale różnica się zamyka. Początkowa wizja Von Ahna rozwija się w czasie rzeczywistym. Każdy złamany kod jest lekcją dla następnej generacji sztucznej inteligencji.

Nie ma już pytania, czy samochody przejdą te testy. Pytanie brzmi, co się stanie, kiedy to zrobią. A co się dzieje z ludźmi, którzy nadal muszą klikać w te pola.