CAPTCHA to rodzina Test Turinga, który automatycznie odróżnić ludzką użytkownika z punktu A komputerze . Ten test typu wyzwanie-odpowiedź jest używany w informatyce w celu sprawdzenia, czy użytkownik nie jest robotem .
Weryfikacja zazwyczaj wykorzystuje możliwości analizy ludzkiego obrazu lub dźwięku . Zwykła CAPTCHA wymaga zatem od użytkownika wprowadzenia na klawiaturze nieprawdopodobnej krótkiej sekwencji pół tuzina liter i/lub cyfr widocznych na zniekształconym obrazie (patrz ilustracja), który pojawia się na ekranie . Niektóre witryny wolą wyświetlać obrazek zawierający pytanie matematyczne.
W przeciwieństwie do testów Turinga wykonanych przez ludzi, CAPTCHA jest generowane i interpretowane przez komputer, dlatego często jest opisywane jako odwrócony test Turinga (w) . Termin ten jest jednak niejednoznaczny, o ile kwalifikuje również, w innym kontekście, ludzkich uczestników, którzy próbują uchodzić za komputery.
Stopniowo pojawiały się obejścia tego systemu, w szczególności programy do optycznego rozpoznawania znaków (OCR). Ich omylność oraz przeszkoda, jaką stanowią, w szczególności dla osób niedowidzących , doprowadziły do zmian w CAPTCHA, które nie wymagają już rozpoznawania na podstawie samego czytania.
CAPTCHA jest zarejestrowanym znakiem towarowym Uniwersytetu Carnegie-Melon .
Od samego początku istnienia Internetu użytkownicy chcieli tworzyć teksty, których komputery nie były w stanie rozszyfrować. Pierwszymi byli hakerzy , którzy publikowali na forach internetowych drażliwe tematy , które były automatycznie monitorowane za pomocą słów kluczowych . Aby obejść te filtry, zaczęli zastępować słowa wizualnie podobnymi znakami. Na przykład HELLO może zostać zastąpione przez | - | 3 | _ | _ () lub) - (3 £ 0, a także wiele wariantów liczbowych. W ten sposób oszukano filtry słów kluczowych . Później nazwano je „13375p34k” ( pismo mowy ).
Pierwsza myśl o stworzeniu automatycznych testów, które mogłyby odróżnić ludzi od komputerów w celu kontrolowania dostępu do usług sieciowych , pojawiła się w manuskrypcie Moni Naor z Instytutu Nauki Weizmanna z 1996 roku , zatytułowanym Weryfikacja człowieka w pętli, czyli Identyfikacja poprzez Test Turinga . Wydaje się, że prymitywne CAPTCHA zostały opracowane później, w 1997 roku w AltaVista przez Andrei Brodera i jego współpracowników, w celu uniemożliwienia botom dodawania witryn do ich wyszukiwarki .
Badając sposób na uodpornienie ich obrazów na ataki oprogramowania do rozpoznawania znaków , zespół przyjął odwrotny pogląd na podręcznik skanera marki Brother , który zawierał zalecenia dotyczące poprawy wydajności rozpoznawania znaków (podobne rodzaje pisma, jednorodne tło itp.). ). Zespół zaprojektował więc łamigłówki, próbując symulować, co może powodować słabe automatyczne rozpoznawanie postaci. W 2000 roku von Ahn i Blum opracowali i opublikowali koncepcję CAPTCHA, która obejmuje dowolny program, który może odróżnić człowieka od komputera. Wymyślili wiele przykładów, z których pierwszy był szeroko stosowany ( w szczególności przez Yahoo! ).
Rozpoczęła się wówczas rywalizacja między ulepszaniem czytników robotów CAPTCHA a szyfrowaniem CAPTCHA. Pojawiało się więc coraz więcej zdeformowanych postaci, stosowanie kolorów i animowane CAPTCHA (którego postacie z czasem deformują się).
Metody te stwarzają jednak problemy z dostępnością dla osób z upośledzeniem wzroku. Aby rozwiązać ten problem, niektóre systemy oferują wybór między identyfikacją graficzną a dźwiękową.
Aby ominąć CAPTCHA, niektóre firmy zatrudniają ludzi do dekodowania testów. Inni powołują się na oprogramowanie CAPTCHA umożliwiające dostęp do takich zdjęć pornograficznych , tym samym znoszące koszty robocizny i pozwalające robotom, dzięki tym odpowiedziom, wysyłać spam do niektórych świeżych.
W latach 2010 pojawiły się nowe formy CAPTCHA, takie jak puzzle (wycinane obrazki, które należy ułożyć w odpowiedniej kolejności). Wykorzystywane są na przykład w systemie weryfikacji WeChat . Dostępne są różne wtyczki typu puzzle dla systemów zarządzania treścią, takich jak Captcha-garb dla Wordpress .
„CAPTCHA” to Backronim : słowo to jest wymawiane jako capture ( [ k æ p tʃ ɚ ] ) w amerykańskim angielskim i ma składać się z inicjałów całkowicie zautomatyzowanego testu Turinga, aby powiedzieć Computers and Humans Apart , lub francuski ” W pełni automatyczny publiczny test Turinga w celu odróżnienia ludzi od komputerów”. Termin ten, który jest zastrzeżonym znakiem towarowym przez Carnegie Mellon University , został wynaleziony w 2000 roku przez Luis von Ahn , Manuel Blum i Nicholas J. Hopper tej uczelni i John Langford z IBM . Nazwa „captcha” może być również interpretowana jako znak przechwytywania .
CAPTCHA oznacza nie tylko okno dialogowe , ale także cały protokół generowania obrazu i sieciowy protokół routingu związany z rozdzielczością testu Turinga . CAPTCHA są w pełni zautomatyzowane i wymagają tylko kilku sekund czasu użytkownika . Celem jest zmniejszenie kosztów związanych z ręcznym wykrywaniem tożsamości użytkowników oraz zwiększenie wydajności , czyli liczby formularzy przesyłanych przez prawdziwych ludzi przetwarzanych przez serwis w jednostce czasu.
Algorytm używany do tworzenia CAPTCHA jest często publicznej, chociaż może być opatentowana jak to ma miejsce na przykład na reCAPTCHA . Ma to na celu pokazanie, że złamanie tego typu testu wymaga rozwiązania trudnego problemu poprzez odwołanie się do pojęć sztucznej inteligencji , a nie odkrywania tajników algorytmu, który można uzyskać poprzez dekompilację lub w inny sposób.
CAPTCHA częściej odnosi się do okna dialogowego znajdującego się tuż przed wysłaniem formularza , składającego się najczęściej z:
a rzadziej z:
Zniekształcony obraz tekstu prawdopodobnie zbyt łatwy do odczytania dla dzisiejszych robotów.
Jeszcze przed wysłaniem formularza na stronę, żądanie jest odrzucane, jeśli CAPTCHA nie zostanie poprawnie wpisany, co chroni serwery hostingowe przed atakiem typu request flood, takim jak DoS .
Ta wizualna procedura była przestarzała w 2017 roku, kiedy Google wprowadził Captcha za pomocą prostego pola wyboru . Jego działanie jest bardziej złożone niż testy uruchamiane z ww. plików. Algorytm są przechowywane mniej lub bardziej tajne, ale Google wyjaśnia, że analizuje wszystkie zachowania użytkownika przed kliknięciem . Przypuszczalnie dotyczy to w szczególności technik śledzenia myszy .
Następna generacja CAPTCHA nie powinna już nawet wymagać udziału człowieka, który bezpośrednio analizowałby zachowanie użytkownika na odwiedzanej stronie internetowej.
CAPTCHA jest używana w Internecie do ochrony formularzy przed automatycznym i wielokrotnym przesyłaniem przez złośliwe boty . Oni przywykli :
Złożoność niektórych typów CAPTCHA jest karalna dla internautów, którzy zmuszeni są do kilkukrotnego wypróbowywania możliwych kombinacji. Rzeczywiście, niektóre CAPTCHA są tak zniekształcone, że nawet użytkownicy Internetu nie mogą ich rozpoznać.
Ponadto ich skuteczność jest kwestionowana, a CAPTCHA mogą być rozpoznawane w ciągu kilku sekund przez algorytmy.
Testy CAPTCHA oparte na czytaniu tekstu – lub jakimkolwiek innym zadaniu percepcji wzrokowej – uniemożliwiają osobom z wadami wzroku ( niewidomym lub mającym trudności z postrzeganiem kolorów ) dostęp do chronionych zasobów . Typowe narzędzia pomocy, takie jak czytniki ekranu , nie mogą ich zinterpretować. Alternatywne rozwiązania są czasami dostarczane przez strony internetowe :
Procedury te nadal wykluczają osoby z wadami wzroku i słuchu . Zastosowanie CAPTCHA uniemożliwia zatem kilku osobom korzystanie ze wszystkich usług internetowych , takich jak PayPal , Gmail , Orkut , Yahoo! oraz liczne fora i blogi .
Zgodnie z prawem w niektórych jurysdykcjach właściciele witryn mogą stać się obiektem sporów sądowych, jeśli użyją kodów CAPTCHA, które dyskryminują osoby z pewnymi niepełnosprawnościami .
Kilka podejść pozwala pokonać CAPTCHA:
Możliwe jest zdanie testu CAPTCHA przy użyciu ludzkich operatorów zatrudnionych do ich dekodowania. Publikacja W3C wskazuje, że taki operator „mógłby łatwo sprawdzić setki kodów CAPTCHA na godzinę”. Indyjskie firmy świadczące usługi crowdsourcingowe specjalizują się w tym biznesie. Niektórym spamerom udało się obejść ten problem, tworząc strony internetowe, które proszą użytkownika o zdanie testu CAPTCHA w celu uzyskania dostępu, przy czym test ten jest wykonywany przez inną witrynę, taką jak Yahoo, aby zweryfikować utworzenie nowego adresu e-mail. W ten sposób użytkownik pierwszej strony przyczynia się bez swojej wiedzy do złośliwych działań tej drugiej. Istnieje środek zaradczy: dodaj w CAPTCHA wyrażenie wyraźnie identyfikujące jego wystawcę (np. „yahoo.fr”).
Niektóre źle zaprojektowane systemy ochrony CAPTCHA mogą czasami być wymuszone bez użycia oprogramowania do rozpoznawania znaków, ponownie wykorzystując identyfikator sesji znanego obrazu CAPTCHA. Czasami, jeśli część oprogramowania generująca CAPTCHA znajduje się po stronie klienta (walidacja odbywa się na serwerze , ale tekst, który użytkownik musi wprowadzić, aby się zalogować, jest generowany po stronie klienta), to użytkownicy mogą modyfikować oprogramowanie. klienta, aby na przykład wyświetlić niezdeformowany tekst CAPTCHA.
Chociaż CAPTCHA zostały pierwotnie zaprojektowane w celu przeciwdziałania standardowemu oprogramowaniu do rozpoznawania znaków używanemu do skanowania dokumentów, kilka projektów badawczych udowodniło, że możliwe jest odszyfrowanie dużej liczby CAPTCHA za pomocą programów specjalnie dostosowanych do typu CAPTCHA. W przypadku CAPTCHA ze zniekształconymi literami, dostosowane podejście składa się zazwyczaj z następujących kroków:
ReCAPTCHA oferuje podobnego podejścia na poziomie słów.
Boty mogą również omijać captcha.
Boty osiągnęły następujące wyniki: 66,6% za reCAPTCHA, 64,4% za BotDetect, 57,4% za Yahoo i 57,1% za PayPal.
W reCAPTCHA oferuje dwa słowa, z których pierwsza jest znana i służy jako CAPTCHA a drugi jest niepewne, a nawet nie wiadomo, ponieważ pochodzi od digitalizacji książki. Umożliwia to przyczynienie się (bez wiedzy użytkownika, poprzez pracę konsumenta ) do digitalizacji słabo zeskanowanych tekstów. Taki generator, aby mógł funkcjonować i być naprawdę bezpieczny, wymaga systemu, z którego korzysta bardzo duża baza różnych użytkowników (kilka milionów) i takie generatory mogą realizować tylko największe agregatory treści i serwisów internetowych.
CAPTCHA oferuje jedną lub więcej serii numerów odpowiadających znakom drogowym, znakom drogowym, numerom domów, aby pomóc w stworzeniu zbioru adresów geograficznych z fotograficznych zdjęć terenu. Ogromna różnorodność formatów i prezentacji cyfr, a także kolorystyka i faktura liternictwa oraz zastosowane tła i materiały sprawiają, że ich w pełni zautomatyzowana obróbka jest często zbyt chaotyczna; Generator CAPTCHA wykorzystuje udzielone odpowiedzi, aby poprawić skuteczne rozpoznawanie cyfr. Podobnie jak w przypadku systemu reCAPTCHA, jeśli CAPTCHA są używane jako metoda autoryzacji dostępu, system ten zazwyczaj zapewnia dwa obrazy do odczytania, z których jeden ma znaną odpowiedź z serwera, a drugi jest nieprecyzyjny i jeszcze nie został potwierdzony (dla jego niewidomych) przez ludzkiego czytelnika.
Niektóre firmy proponują wykorzystanie CAPTCHA jako narzędzia do rozpowszechniania reklamy. CAPTCHA może zatem poprosić użytkownika o odwiedzenie strony, obejrzenie filmu lub animacji lub odsłuchanie zwiastuna, wyszukanie tam i uzyskanie prawidłowej odpowiedzi, aby powrócić. Jako bonus użytkownik może otrzymać wynagrodzenie lub inną korzyść (np. obniżkę ceny normalnie pobieranej w celu uzyskania produktu lub usługi chronionej przez CAPTCHA).
Niektóre witryny używają CAPTCHA do sprawdzenia, czy użytkownik przeczytał, usłyszał i zrozumiał określoną wiadomość przed uzyskaniem dostępu do chronionych lub płatnych treści lub usług. Przekaz ma często charakter reklamowy, ale może być również sposobem na udowodnienie przez witrynę zabezpieczającą treści, że użytkownik zapamiętał przekaz reklamowy lub zrozumiał klauzulę prawną lub umowną, którą zobowiązuje się świadomie przestrzegać. CAPTCHA zadaje pytanie lub problem związany z tą wiadomością lub klauzulą, a użytkownik musi zacytować poprawną odpowiedź potwierdzającą, że wiadomość została zrozumiana).