Co to jest CAPTCHA i dlaczego jest potrzebne?
Piotr R
24 czerwca 2024
CAPTCHA oznacza całkowicie zautomatyzowany publiczny test Turinga pozwalający odróżnić komputery od ludzi. Termin ten odnosi się do różnych metod uwierzytelniania, które weryfikują użytkowników jako ludzi, a nie boty, stanowiąc wyzwanie proste dla ludzi, ale trudne dla maszyn. CAPTCHA uniemożliwiają oszustom i spamerom wykorzystywanie botów do wypełniania formularzy internetowych w złośliwych celach. Wokół tej technologii z czasem narosło wiele mitów, dlatego w tym artykule przedstawimy, co to jest CAPTCHA i dlaczego jest nam niezbędne do zachowania bezpieczeństwa w sieci.
Co to jest CAPTCHA?
Tradycyjne kody CAPTCHA wymagały od użytkowników odczytania i prawidłowego ponownego wpisania zniekształconego tekstu, którego nie można zinterpretować za pomocą technologii optycznego rozpoznawania znaków (OCR). Nowsze wersje technologii CAPTCHA wykorzystują analizy zachowań i ryzyka oparte na sztucznej inteligencji do uwierzytelniania użytkowników na podstawie wzorców aktywności, a nie pojedynczego zadania.
Wiele witryn internetowych wymaga od użytkowników wykonania wyzwania CAPTCHA przed zalogowaniem się do profilu konta, przesłaniem formularza rejestracyjnego, opublikowaniem komentarza lub wykonaniem innej czynności, do której hakerzy mogą wykorzystać bota. Spełniając wyzwanie, użytkownicy potwierdzają, że są ludźmi, a następnie mogą kontynuować swoją aktywność w serwisie. Test Turinga, nazwany na cześć jego twórcy Alana Turinga, sprawdza zdolność maszyny do wykazywania się ludzką inteligencją.
Ewolucja CAPTCHA
Kilka różnych grup równolegle opracowało najwcześniejsze formy technologii CAPTCHA pod koniec lat 90. i na początku XXI wieku. Każda grupa pracowała nad zwalczaniem powszechnego problemu hakerów wykorzystujących boty do niecnych działań w Internecie. Na przykład informatycy pracujący dla wyszukiwarki AltaVista chcieli uniemożliwić botom dodawanie złośliwych adresów internetowych do firmowej bazy danych linków.
Naukowcy z firmy informatycznej Sanctum opracowali pierwszy system w stylu CAPTCHA w 1997 r. Jednakże grupa badaczy informatyki z Carnegie Mellon University pod przewodnictwem Luisa von Ahna i Manuela Bluma po raz pierwszy wprowadziła termin CAPTCHA w 2003 r. Zespół ten zainspirował się do pracy na temat tej technologii przez dyrektora Yahoo, który wygłosił przemówienie na temat problemów firmy związanych z robotami spamującymi rejestrującymi się na milionach fałszywych kont e-mail.
Aby rozwiązać problem Yahoo, von Ahn i Blum stworzyli program komputerowy, który:
- Generował losowy ciąg tekstowy.
- Generował zniekształcony obraz tego tekstu (zwany „kodem CAPTCHA”).
- Przedstawiał obraz użytkownikowi.
- Prosił użytkownika o wpisanie tekstu w polu formularza, a następnie przesłanie wpisu poprzez kliknięcie pola wyboru obok frazy „Nie jestem robotem”.
Ponieważ ówczesna technologia OCR miała trudności z rozszyfrowaniem tak zniekształconego tekstu, boty nie były w stanie sprostać wyzwaniu CAPTCHA. Jeśli użytkownik wprowadził poprawny ciąg znaków, można było z całą pewnością założyć, że jest człowiekiem i mógł dokończyć rejestrację konta lub przesłać formularz internetowy.
Yahoo wdrożyło technologię Carnegie Mellon, wymagającą od wszystkich użytkowników zdania testu CAPTCHA przed zarejestrowaniem adresu e-mail. To znacznie ograniczyło aktywność robotów spamujących, a inne firmy zaczęły stosować CAPTCHA w celu ochrony swoich formularzy internetowych. Z czasem jednak hakerzy wykorzystali dane z ukończonych wyzwań CAPTCHA do opracowania algorytmów zdolnych niezawodnie przejść testy CAPTCHA. Oznaczało to początek trwającego wyścigu zbrojeń pomiędzy programistami CAPTCHA a cyberprzestępcami, który napędza ewolucję funkcjonalności CAPTCHA.
reCAPTCHA wersja 1
Skoro wiemy już, co to jest CAPTCHA, to w kolejnej części tego artykułu skupimy się na rozwinięciu tej technologii, czyli reCAPTCHA. Wprowadzony na rynek przez von Ahna w 2007 r. reCAPTCHA v1 miał podwójny cel: utrudnienie botom złamania tekstowego wyzwania CAPTCHA oraz poprawę dokładności OCR używanego wówczas do digitalizacji drukowanych tekstów.
reCAPTCHA osiągnęła pierwszy cel, zwiększając zniekształcenie tekstu wyświetlanego użytkownikowi i ostatecznie dodając linie w tekście.
Drugi cel osiągnięto poprzez zastąpienie pojedynczego obrazu losowo wygenerowanego zniekształconego tekstu dwoma zniekształconymi obrazami tekstowymi słów zeskanowanych z rzeczywistych tekstów za pomocą dwóch różnych programów OCR. Pierwsze słowo, czyli słowo kontrolne, było słowem poprawnie zidentyfikowanym przez oba programy OCR. Drugie słowo było słowem, którego nie udało się zidentyfikować obydwóm programom OCR. Jeśli użytkownik poprawnie zidentyfikował słowo kontrolne, reCAPTCHA zakłada, że użytkownik jest człowiekiem i pozwala mu kontynuować zadanie, a także zakłada, że użytkownik poprawnie zidentyfikował drugie słowo i wykorzystuje odpowiedź do weryfikacji przyszłych wyników OCR.
W ten sposób reCAPTCHA poprawiła bezpieczeństwo antybotowe i poprawiła dokładność tekstów digitalizowanych w Internet Archive i New York Times. Jak na ironię, z biegiem czasu pomogło to również ulepszyć algorytmy sztucznej inteligencji i uczenia maszynowego do tego stopnia, że do 2014 r. były one w stanie zidentyfikować najbardziej zniekształcony tekst CAPTCHA w 99,8% przypadków.
W 2009 roku firma Google nabyła usługę reCAPTCHA i zaczęła używać jej do digitalizacji tekstów w Książkach Google, oferując ją jednocześnie jako usługę innym organizacjom. Jednak wraz z postępem technologii OCR przy pomocy reCAPTCHA rozwijały się także programy sztucznej inteligencji, które mogły skutecznie rozwiązywać tekstowe reCAPTCHA. W odpowiedzi Google w 2012 roku wprowadził funkcję rozpoznawania obrazu reCAPTCHA, która zastąpiła zniekształcony tekst obrazami pobranymi z Google Street View. Użytkownicy udowodnili swoje człowieczeństwo, identyfikując obiekty ze świata rzeczywistego, takie jak latarnie uliczne i taksówki. Oprócz pominięcia zaawansowanego OCR obecnie wdrażanego przez boty, te oparte na obrazach reCAPTCHA uznano za wygodniejsze dla użytkowników aplikacji mobilnych.
Google reCAPTCHA v2: Brak CAPTCHA reCAPTCHA
W 2014 roku Google wypuściło reCAPTCHA v2, które zastąpiło wyzwania oparte na tekście i obrazie prostym polem wyboru z informacją „Nie jestem robotem”. Gdy użytkownik zaznacza to pole, reCAPTCHA v2 analizuje interakcje użytkownika ze stronami internetowymi, oceniając takie czynniki, jak szybkość pisania, pliki cookie, historia urządzenia i adres IP, aby określić, czy użytkownik prawdopodobnie jest człowiekiem. Pole wyboru jest również częścią działania CAPTCHA: brak CAPTCHA. reCAPTCHA śledzi ruchy myszy użytkownika podczas klikania pola. Ruchy człowieka są bardziej chaotyczne, podczas gdy ruchy botów są bardziej precyzyjne. Jeśli żadna funkcja CAPTCHA reCAPTCHA nie podejrzewa, że użytkownik może być botem, przedstawia mu wyzwanie CAPTCHA oparte na obrazie.
reCAPTCHA v3
Technologia reCAPTCHA v3, która zadebiutowała w 2018 r., eliminuje pole wyboru i rozszerza analizę ryzyka opartą na sztucznej inteligencji w przypadku braku CAPTCHA reCAPTCHA. Narzędzie reCAPTCHA v3 integruje się ze stroną internetową poprzez JavaScript API i działa w tle, oceniając zachowanie użytkownika w skali od 0,0 (prawdopodobnie bot) do 1,0 (prawdopodobnie człowiek). Właściciele witryn mogą ustawić automatyczne działania, które będą uruchamiane w określonych momentach, gdy wynik użytkownika sugeruje, że może być botem. Na przykład komentarze na blogu użytkowników o niskich wynikach mogą zostać przesłane do kolejki moderacji po kliknięciu przycisku „prześlij”, a użytkownicy o niskich wynikach mogą zostać poproszeni o ukończenie procesu uwierzytelniania wielopoziomowego podczas próby zalogowania się na konto.
Metody uwierzytelniania oparte na sztucznej inteligencji, takie jak reCAPTCHA v3, starają się ominąć problem hakerów. Usuwając interaktywne wyzwania z procesu weryfikacji CAPTCHA, uniemożliwiają hakerom wykorzystywanie danych z wcześniej rozwiązanych wyzwań do szkolenia botów w zakresie łamania nowych CAPTCHA. Z tego powodu eksperci uważają, że CAPTCHA oparte na sztucznej inteligencji mogą stać się normą, całkowicie zastępując CAPTCHA oparte na wyzwaniach w ciągu najbliższych pięciu do dziesięciu lat.
Przypadki użycia CAPTCHA
Technologia CAPTCHA ma kilka typowych zastosowań jako środek do wykrywania botów i zapobiegania im, w tym:
- Zapobieganie fałszywym rejestracjom.
- Ochrona przed podejrzanymi transakcjami.
- Ochrona integralności ankiet online.
- Zatrzymywanie spamu w komentarzach i recenzjach produktów.
- Obrona przed atakami brute-force i słownikowymi.
Zapobieganie fałszywym rejestracjom
Przedstawiając użytkownikom test CAPTCHA przed zarejestrowaniem konta e-mail, profilu w mediach społecznościowych lub innych usług online, firmy mogą blokować boty korzystające z tych usług do rozprzestrzeniania spamu lub złośliwego oprogramowania lub prowadzenia szkodliwych działań. Pierwszymi użytkownikami CAPTCHA były firmy takie jak Yahoo, Microsoft i AOL, które chciały uniemożliwić botom rejestrowanie się w fałszywych kontach e-mail.
Ochrona przed podejrzanymi transakcjami
Firmy takie jak Ticketmaster używają CAPTCHA, aby powstrzymywać boty przed kupowaniem ograniczonych towarów, na przykład biletów na koncerty, i odsprzedażą ich na rynkach wtórnych.
Ochrona integralności ankiet online
Boty mogą naruszać ankiety internetowe bez środka odstraszającego, takiego jak CAPTCHA. Konieczność ochrony integralności wyników ankiet internetowych była motywacją do podjęcia niektórych z najwcześniejszych eksperymentów z technologią podobną do CAPTCHA. Na przykład, aby zapewnić jakość swoich internetowych badań opinii publicznej podczas wyborów prezydenckich w USA w 1996 r., firma Digital Equipment Corporation poprosiła użytkowników, aby przed oddaniem głosu zlokalizowali i kliknęli pikselowany obraz flagi na stronie internetowej.
Zatrzymywanie spamu w komentarzach i recenzjach produktów
Oszuści i cyberprzestępcy często wykorzystują sekcje komentarzy na blogach i artykułach do rozpowszechniania oszustw i złośliwego oprogramowania. Mogą również angażować się w spam recenzyjny, w ramach którego publikują dużą liczbę fałszywych recenzji, aby sztucznie podnieść ranking produktu w witrynie handlu elektronicznego lub wyszukiwarce. Boty mogą również wykorzystywać niezabezpieczone sekcje komentarzy do przeprowadzania kampanii nękających. Te złośliwe działania można ograniczyć, prosząc użytkowników o wypełnienie CAPTCHA przed opublikowaniem komentarza lub recenzji.
Obrona przed atakami brute-force i atakami słownikowymi
W przypadku ataków brute-force i słownikowych hakerzy włamują się na konto, używając botów do odgadywania kombinacji cyfr, liter i znaków specjalnych, dopóki nie znajdą prawidłowego hasła. Ataki te można powstrzymać, wymagając od użytkowników wypełnienia kodu CAPTCHA po określonej liczbie nieudanych prób logowania.
Wady CAPTCHA
Choć technologia CAPTCHA ogólnie okazała się skuteczna w powstrzymywaniu botów, nie jest ona pozbawiona wad, do których należą:
- Niewygodne doświadczenia użytkowników.
- Wyzwania związane z dostępnością.
- Obniżone współczynniki konwersji.
- Zdolność botów AI do pokonywania nowych CAPTCHA.
- Obawy dotyczące prywatności.
- Niewygodne doświadczenia użytkowników.
Wyzwania CAPTCHA stanowią dodatkowy krok w procesach rejestracji, logowania i wypełniania formularzy, co dla niektórych osób jest irytujące. Co więcej, w miarę jak wzrosła złożoność CAPTCHA w celu pokonania bardziej wyrafinowanych botów, rozwiązywanie problemów CAPTCHA również stało się bardziej frustrujące dla użytkowników. W badaniu przeprowadzonym w 2010 roku, gdy badacze z Uniwersytetu Stanforda poprosili trzyosobowe grupy o rozwiązanie tych samych znaków CAPTCHA, uczestnicy jednomyślnie zgodzili się co do rozwiązania CAPTCHA zaledwie w 71% przypadków. Badanie wykazało również, że obcokrajowcy posługujący się językiem angielskim mają większe trudności z rozwiązywaniem znaków CAPTCHA niż rodzimi użytkownicy języka angielskiego, co sugeruje, że w przypadku niektórych grup demograficznych testy CAPTCHA mogą być większym wyzwaniem niż dla innych.
Wyzwania związane z dostępnością
Tekstowe i graficzne kody CAPTCHA mogą być niezwykle trudne lub niemożliwe do rozwiązania dla użytkowników niedowidzących. Sytuację pogarsza fakt, że czytniki ekranu nie są w stanie odczytać większości wyzwań CAPTCHA, ponieważ testy te są zaprojektowane tak, aby były nieczytelne dla maszyn.
Próbowano rozwiązać ten problem za pomocą alternatywnych form CAPTCHA, ale mają one swoje własne ograniczenia. Zadania audio CAPTCHA, które wymagają od użytkowników odszyfrowania zniekształconego dźwięku, są niezwykle trudne do rozwiązania. Wspomniane badanie Stanforda wykazało, że użytkownicy jednomyślnie zgadzają się co do rozwiązań audio CAPTCHA zaledwie w 31% przypadków.
MAPTCHA, rodzaj CAPTCHA, który wymaga od użytkowników rozwiązywania prostych problemów matematycznych, jest bardzo podatny na złamania przez algorytmy.
Obniżone współczynniki konwersji
Niewygodna obsługa i niedostępność CAPTCHA mogą negatywnie wpłynąć na współczynniki konwersji. W badaniu przypadku przeprowadzonym w 2009 roku na 50 witrynach internetowych poproszenie użytkowników o wypełnienie kodu CAPTCHA zmniejszyło liczbę prawidłowych konwersji o 3,2%. Audio CAPTCHA może być szczególnie szkodliwe: wspomniane wcześniej badanie Stanforda wykazało, że użytkownicy w 50% przypadków rezygnują z rozwiązywania problemów CAPTCHA opartych na dźwięku.
Zdolność botów AI do pokonywania nowych CAPTCHA
Schematy CAPTCHA zmieniały się wiele razy od czasu powstania tej technologii, ponieważ boty stale ewoluowały, aby pokonać każde nowe wyzwanie CAPTCHA. Sama struktura technologii CAPTCHA przyczynia się do tego problemu, ponieważ CAPTCHA opierają się na nierozwiązanych problemach AI, aby udaremnić boty. Kiedy ludzie rozwiązują wyzwania CAPTCHA, generują zbiory danych, które mogą trenować algorytmy uczenia maszynowego, aby przezwyciężyć te wcześniej niemożliwe problemy ze sztuczną inteligencją. Na przykład w 2016 r. badacz informatyki Jason Polakis wykorzystał wyszukiwarkę obrazów wstecznych Google, aby rozwiązać problem CAPTCHAS oparty na obrazach Google z wynikiem 70%.
Obawy dotyczące prywatności
Chociaż nowe formy CAPTCHA próbują rozwiązać problemy z dostępnością i zatrzymać wyścig zbrojeń botów, całkowicie eliminując wyzwania interaktywne, niektórzy użytkownicy i badacze uważają CAPTCHA oparte na sztucznej inteligencji za inwazyjne. Ludzie wyrazili obawy dotyczące sposobu, w jaki reCAPTCHA v3 wykorzystuje kody i pliki cookie do śledzenia użytkowników w wielu witrynach internetowych. Niektórzy uważają, że nie ma wystarczającej przejrzystości w zakresie sposobu wykorzystania tych danych śledzenia do celów innych niż weryfikacja.
Jednak jeśli chcesz zadbać o swoją cyfrową prywatność, to sprawdź rozwiązania antywirusowe Bitdefender, np. Bitdefender Total Security, który nie tylko zabezpieczy cię przed złośliwym oprogramowaniem i phishingiem, lecz także umożliwi korzystanie z limitowanego dostępu do sieci VPN.
Autor
Piotr R