Bezpieczne czy bezradne? AI udowadnia swoją przewagę nad reCAPTCHAv2

reCAPTCHA v2 od Google to jedno z narzędzi do rozróżniania ludzi od automatycznych programów, chroniące strony internetowe przed zautomatyzowanymi atakami. Jednak nowoczesne technologie sztucznej inteligencji, w tym zaawansowane modele uczenia maszynowego, zaczynają skutecznie łamać te zabezpieczenia. Artykuł „Breaking reCAPTCHA v2” ujawnia, że dzięki modelom YOLO (You Only Look Once) możliwe jest rozwiązanie 100% zadań reCAPTCHA v2. W tym artykule nie tylko sprawdzimy jak AI przechytrzyło reCAPTCHA’ę, ale też przypomnimy sobie jak ten mechanizm działa, abyśmy mogli wszystko zrozumieć.

Warto zwrócić uwagę, że badanie dotyczy wyłącznie reCAPTCHA w wersji v2, czyli tej, która działa po kliknięciu w pole „Nie jestem robotem”. 

Spis treści

Jak działa reCAPTCHA v2?

i'm not a robot recaptcha
Czy ten obrazek wygląda znajomo? Z pewnością większość z nas natknęła się na tę prostą, ale wszechobecną funkcję. A czy kiedykolwiek zastanawialiście się, jak ten mechanizm naprawdę działa?
To, co mechanizm analizuje w pierwszej kolejności to:
  • Czas spędzony na stronie.
  • Ruchy myszki (np. sposób poruszania się po stronie i kliknięcia).
  • Interakcje z elementami strony.

Sprawdzana jest również historia zachowań użytkownika

W badaniach nad mechanizmem reCAPTCHA v2 pojawia się stwierdzenie, że:

„Our study also finds that reCAPTCHAv2
is heavily based on cookie and browser history data when
evaluating whether a user is human or not.”

Czy to znaczy, że mechanizm bezczelnie zagląda do historii naszej przeglądarki i wie jakie strony odwiedzaliśmy?

Na szczęście nie 😉

Mechanizm nie przeszukuje bezpośrednio historii przeglądania użytkownika ani plików cookies. Zamiast tego, korzysta z danych zgromadzonych przez Google w ramach wcześniejszych interakcji użytkownika z innymi stronami zabezpieczonymi reCAPTCHA. To pozwala na ocenę reputacji użytkownika na podstawie jego dotychczasowego zachowania w sieci.

Jeżeli mechanizm na tym etapie v2 nie ma żadnych podejrzeń co do ludzkiej natury użytkownika, pozwala mu spokojnie przejść dalej, bez konieczności rozwiązywania dodatkowych wyzwań.

Dopiero gdy system ma wątpliwości uruchamia "wyzwanie obrazkowe"

reCAPTCHA v2 oferuje trzy różne typy wyzwań obrazkowych, każde z nich sprawdzające inny aspekt rozumowania wizualnego:

rodzaje google captcha
📸 Artykuł "Breaking reCAPTCHA v2"
  1. Wyzwanie typu 1 to zadanie klasyfikacji, w którym użytkownik musi określić, czy każde zdjęcie na statycznej siatce 3×3 zawiera wskazany obiekt, czy nie.
  2. Wyzwanie typu 2 to zadanie segmentacji obrazu. Użytkownik otrzymuje pojedyncze statyczne zdjęcie podzielone na siatkę 4×4. Jego zadaniem jest wskazać i rozpoznać konkretne części obrazu istotne dla wyzwania.
  3. Wyzwanie typu 3 przypomina typ 1, jeśli chodzi o układ siatki, ale zawiera dynamiczne zdjęcia, które odświeżają się po interakcji użytkownika. Również wymaga klasyfikacji obrazów.

Metodologia, czyli YOLO

Badanie nad skutecznością łamania reCAPTCHAv2 skupiło się na zastosowaniu zaawansowanych modeli uczenia maszynowego, w szczególności YOLO (You Only Look Once). YOLO to rodzina algorytmów przeznaczonych do rozpoznawania obiektów w obrazach, znana z wyjątkowej szybkości i precyzji. W odróżnieniu od innych metod, YOLO przetwarza cały obraz w jednym przebiegu, co sprawia, że jest idealnym narzędziem do zadań, które wymagają błyskawicznej identyfikacji obiektów – takich jak testy reCAPTCHA.

W badaniu użyto modelu YOLOv8, jednego z najnowszych i najbardziej zaawansowanych wariantów tego algorytmu, który został specjalnie dopasowany do zadań segmentacji i klasyfikacji obrazów z reCAPTCHAv2.  Model ten umożliwił badaczom nie tylko precyzyjne rozpoznawanie obiektów w obrazach, ale także automatyczne przejście przez kolejne etapy captchy bez udziału człowieka.

YOLOv8 w akcji

🎥 https://yolov8.com/

Jak dokładnie przebiegało testowanie skuteczności AI w reCAPTCHAv2?

Proces badawczy odbywał się w kontrolowanym środowisku testowym, które symulowało rzeczywiste warunki przeglądania internetu. Zastosowano Python 3.9 oraz Selenium WebDriver dla przeglądarki Firefox, co pozwoliło na dokładne odwzorowanie interakcji użytkownika z captcha, od ruchów myszką po zmienne IP dzięki użyciu VPN.

Algorytm YOLOv8 został precyzyjnie dopasowany i przeszkolony na specjalnie zebranych i oznakowanych danych. Wykorzystano 14 000 par obraz/etykieta, co umożliwiło modelowi rozpoznawanie kluczowych obiektów, takich jak samochody, rowery czy znaki drogowe, które są powszechnie stosowane w zadaniach captchy. W eksperymentach testowano różne scenariusze, takie jak klasyfikacja obrazów na siatce 3×3, segmentacja obrazów podzielonych na 16 części oraz dynamiczne zadania, w których obrazy zmieniały się po kliknięciu.

Każdy etap eksperymentu zakładał analizę nie tylko skuteczności samego modelu YOLO w rozwiązywaniu captchy, ale także wpływu takich czynników jak ruchy myszą, zmienne IP czy obecność historii przeglądania i cookies. Dzięki takiemu podejściu, badanie miało na celu nie tylko zademonstrowanie możliwości AI w łamaniu zabezpieczeń, ale także identyfikację słabości systemu reCAPTCHAv2 w różnych, realistycznych warunkach użytkowania.

Wyniki badań: Jak AI radzi sobie z reCAPTCHA v2?

Badanie wykazało, że model YOLOv8 osiągnął imponujące 100% skuteczności w rozwiązywaniu zadań reCAPTCHAv2, co stanowi znaczący krok naprzód w porównaniu do wcześniejszych metod. Poprzednie badania wykorzystywały starsze algorytmy, które radziły sobie z captchą w 68-71% przypadków, często napotykając trudności w bardziej złożonych testach. Przełomem okazało się zastosowanie właśnie YOLOv8 – modelu, który został specjalnie dostrojony do wymagań reCAPTCHAv2. Ale w jakich okolicznościach system w ogóle decydował się na wyświetlenie wyzwania i jakie czynniki wpływały na jego pojawienie się?

Wpływ VPN na rozpoznawalność botów

Zastosowanie VPN okazało się kluczowe w omijaniu mechanizmów wykrywania botów. Zmienne IP sprawiały, że każde podejście do captchy było traktowane jako odrębna sesja, co pozwalało botowi na kontynuację bez wzbudzania podejrzeń. Dzięki temu możliwe było przejście przez całą serię testów bez problemów, co podkreśla wniosek: 

„A VPN limits the ability of risk assessment algorithms to monitor and create a profile of the bot over several runs by allocating a different IP address for each run”. 

Na górnym wykresie (a) widzimy, że początkowo bot radzi sobie stosunkowo dobrze, jednak po około 20. próbie liczba wyzwań gwałtownie rośnie, szczególnie dla Typów 2 i 3, co świadczy o tym, że system zaczyna rozpoznawać powtarzalne zachowanie bota jako podejrzane. W efekcie, reCAPTCHAv2 nakłada coraz więcej zadań, aby zweryfikować użytkownika, co w końcu prowadzi do całkowitego zablokowania bota.

Na dolnym wykresie (b), gdzie zastosowano VPN, rozkład liczby wyzwań jest znacznie bardziej równomierny, a bot może przejść przez znacznie więcej prób (do 100), bez nagłego wzrostu trudności. Zmienność IP sprawia, że system traktuje każde podejście bota jako osobną sesję, co pozwala na skuteczne unikanie wzrostu liczby wyzwań. Różnice między wykresami jasno wskazują, że VPN jest kluczowym narzędziem w łamaniu zabezpieczeń captchy, pozwalając botom na przechodzenie przez testy bez wzbudzania podejrzeń ze strony systemu.

Symulacja naturalnego użycia myszy komputerowej

Symulacja ruchów myszą znacząco wpływa na skuteczność botów w omijaniu zabezpieczeń reCAPTCHAv2. Wyniki badań pokazują, że imitowanie ludzkich ruchów zmniejsza liczbę wyzwań nakładanych przez system, czyniąc bota mniej rozpoznawalnym. Naturalne, płynne ruchy najlepiej naśladują prawdziwe zachowanie użytkowników, co zwiększa szanse na pomyślne przejście testów captchy.

Wyniki z wykresów przedstawiają się następująco:

  • Bez ruchów myszą (Wykres a):
    Bot napotyka na dużą liczbę wyzwań, niezależnie od typu captchy. System szybko rozpoznaje brak naturalnych ruchów, co skutkuje zwiększoną trudnością zadań.

  • Proste, liniowe ruchy (Wykres b):
    Wprowadzenie prostych, liniowych ruchów zmniejsza liczbę wyzwań, zwłaszcza w przypadku captchy Typu 2 i Typu 3, ale wciąż pozostają momenty wzmożonej trudności.

  • Ruchy po krzywych Béziera (Wykres c):
    Symulacja bardziej skomplikowanych, płynnych ruchów znacząco obniża liczbę wyzwań. Krzywe Béziera najlepiej imitują naturalne ruchy ludzkiej ręki, co utrudnia systemowi wykrycie bota i pozwala na efektywniejsze przechodzenie testów.

Rola cookies i historii przeglądania

Historia przeglądania i pliki cookies również miały wpływ na działanie reCAPTCHAv2. Obecność tych danych pozwala systemowi lepiej rozpoznać prawdziwych użytkowników. Wyniki badania pokazują, że dostęp do danych użytkownika znacząco poprawia efektywność bota, redukując liczbę dodatkowych zadań do wykonania.

Wykresy przedstawiają wyniki następująco:

  • Brak historii przeglądania i cookies (Wykres a):
    Gdy bot działa bez danych użytkownika, liczba wyzwań captchy jest wysoka i niestabilna. Szczególnie widoczny jest gwałtowny wzrost trudności przy niektórych typach, takich jak Typ 3, gdzie wyzwania mogą sięgać aż 60 zadań w jednym podejściu. Brak cookies i historii powoduje, że bot jest traktowany jako nowy i potencjalnie podejrzany, co prowadzi do wzrostu liczby testów.

  • Obecność historii przeglądania i cookies (Wykres b):
    Gdy bot ma dostęp do danych przeglądarki, liczba wyzwań znacząco spada, a testy są bardziej przewidywalne. System reCAPTCHA traktuje bota jako mniej podejrzanego, co redukuje liczbę zadań, zwłaszcza w przypadku bardziej wymagających typów captchy. Stabilność wyników jest wyższa, co sugeruje, że obecność danych użytkownika korzystnie wpływa na rozpoznawalność i zmniejsza ryzyko wykrycia bota.

Porównanie wyników botów i ludzi

Badacze postanowili również sprawdzić jak ich bot poradzi sobie w porównaniu z prawdziwym człowiekiem.

  • Wykres (a) – Liczba wyzwań dla ludzi:
    W przypadku ludzi najczęściej pojawiały się wyzwania Typu 3, Wyzwania te pojawiały się zwykle mniej niż 4 razy na sesję, co wskazuje na to, że system reCAPTCHA zazwyczaj uznawał ludzkie zachowanie za zaufane. Były jednak odchyły i czasami ludzie trafiali na wyzwanie typu 2.

  • Wykres (b) – Liczba wyzwań dla botów:
    Liczba wyzwań, które stawiano botom, była zbliżona do tych, jakie napotykali ludzie. Co ciekawe, w przeciwieństwie do ludzkich użytkowników, boty częściej otrzymywały wyzwania Typu 1 i 2, a wyzwania Typu 3 pojawiały się u nich znacznie rzadziej.

A co z reCAPTCHA v3?

W artykule nie ma bezpośrednich odniesień do metod omijania reCAPTCHA v3. Badanie skupia się głównie na analizie reCAPTCHAv2, w szczególności na rozwiązywaniu wizualnych wyzwań przez boty przy użyciu modeli YOLO. reCAPTCHA v3 działa inaczej niż wersja v2 – nie wymaga bezpośredniego rozwiązywania testów przez użytkownika, lecz ocenia podejrzane zachowania w tle, przypisując użytkownikom wyniki punktowe. Ze względu na odmienny sposób działania reCAPTCHA v3, metody badane w artykule mogą nie mieć bezpośredniego zastosowania do tej nowszej wersji, której głównym celem jest wykrywanie botów bez konieczności stawiania wyzwań obrazkowych.

Podsumowanie

Badanie wykazało, że współczesne modele AI, takie jak YOLOv8, są w stanie skutecznie pokonać zabezpieczenia reCAPTCHAv2, osiągając 100% skuteczności w rozwiązywaniu testów obrazkowych. Kluczowym wnioskiem jest to, że system reCAPTCHA nie jest już w pełni skuteczny w odróżnianiu botów od prawdziwych użytkowników, co podważa jego wartość jako narzędzia ochrony.

Różne czynniki, takie jak historia przeglądania, pliki cookies, ruchy myszą czy korzystanie z VPN, znacząco wpływają na liczbę i rodzaj wyzwań stawianych przez reCAPTCHAv2. Symulowanie ludzkich zachowań, takich jak naturalne ruchy myszą lub zmienne adresy IP, pozwala botom unikać wykrycia i zmniejszać liczbę stawianych wyzwań, co czyni je niemal nieodróżnialnymi od prawdziwych użytkowników.

Wyniki pokazują, że obecne systemy captchy, zwłaszcza te bazujące na reCAPTCHA v2 (a być może i v3), muszą ewoluować, aby sprostać nowym zagrożeniom ze strony zaawansowanych algorytmów AI. To badanie stanowi istotne ostrzeżenie dla twórców systemów zabezpieczeń, którzy powinni poszukiwać nowych, bardziej odpornych metod ochrony przed zautomatyzowanymi atakami botów.

Podobne wpisy