[논문 리뷰] Hacking Google reCAPTCHA v3 using Reinforcement Learning
이 논문은 Google reCAPTCHA v3를 우회하기 위해 강화학습(RL) 접근법을 제안하며, 마우스 이동을 격자세계 탐색 과제로 모델링한다. 정책 그래ient 방법(Reinforce)을 사용하여 랜덤 시작 위치에서 reCAPTCHA 체크박스로 이동하는 데 100×100 격자에서 97.4%의 성공률, 1000×1000 해상도에서 96.7%의 성공률을 기록한다. 재훈련 없이도 다양한 화면 크기로 일반화하기 위해 분할 정복 전략을 활용한다.
We present a Reinforcement Learning (RL) methodology to bypass Google reCAPTCHA v3. We formulate the problem as a grid world where the agent learns how to move the mouse and click on the reCAPTCHA button to receive a high score. We study the performance of the agent when we vary the cell size of the grid world and show that the performance drops when the agent takes big steps toward the goal. Finally, we used a divide and conquer strategy to defeat the reCAPTCHA system for any grid resolution. Our proposed method achieves a success rate of 97.4% on a 100x100 grid and 96.7% on a 1000x1000 screen resolution.
연구 동기 및 목표
- 강화학습이 사용자 인터페이스가 없는 Google reCAPTCHA v3를 자동으로 우회하는 데 사용될 수 있는지 조사한다. 이는 머신러닝을 통한 위험 점수 할당에 의존한다.
- reCAPTCHA 과제를 마코프 결정 과정(MDP)으로 모델링하여, 에이전트가 높은 신뢰 점수를 얻기 위해 최적의 마우스 이동을 학습하도록 한다.
- 격자세계의 셀 크기가 에이전트 성능과 reCAPTCHA의 행동 분석에 의한 탐지 가능성에 미치는 영향을 평가한다.
- 각 해상도에 대해 재훈련 없이도 다양한 화면 해상도에 일반화할 수 있는 확장 가능한 솔루션을 개발한다.
- 브라우저 자동화 도구와 헤드리스 탐지 메커니즘을 피하면서 인간과 유사한 상호작용을 시뮬레이션한다.
제안 방법
- 마우스 위치로 정의된 상태 공간과 방향 이동(위, 아래, 왼쪽, 오른쪽)으로 구성된 행동 공간을 갖는 격자세계 MDP로 reCAPTCHA 우회 과제를 수식화한다.
- 보상은 각 에피소드 후에 얻는 최종 reCAPTCHA 점수에 기반한 정책 그래ient 최적화를 사용한 Reinforce 알고리즘을 적용하여 에이전트를 훈련시킨다.
- Selenium과 같은 브라우저 자동화 도구의 탐지 방지를 위해 PyAutoGUI를 사용하여 직접 마우스 제어가 가능한 커스텀 브라우저 환경을 구현한다.
- 분할 정복 전략 도입: 큰 격자를 100×100 부분 격자로 나누고, 각 세그먼트에 대해 훈련된 에이전트를 순차적으로 적용하여 더 큰 화면을 탐색한다.
- Google 계정 로그인 상태와 IP 라우팅과 같은 환경적 요인을 제어하여 실제 인간 행동을 모방하고 탐지 방지를 목적으로 한다.
- 에피소드의 최대 지속 시간을 격자의 대각선 길이의 두 배로 정의하여 조기 종료 없이 충분한 이동 단계를 확보한다.
실험 결과
연구 질문
- RQ1사용자 인터페이스가 없는 reCAPTCHA v3를 우회하는 데 강화학습이 효과적으로 적용될 수 있는가? 이는 위험 점수 할당에 머신러닝을 기반으로 한다.
- RQ2격자세계의 셀 크기가 에이전트의 성공률과 reCAPTCHA의 행동 분석에 의한 탐지 가능성에 어떤 영향을 미치는가?
- RQ3100×100 격자에서 훈련된 단일 RL 에이전트가 재훈련 없이 1000×1000 해상도와 같은 더 큰 화면 해상도로 일반화할 수 있는가?
- RQ4브라우저 자동화, 계정 상태, IP 라우팅과 같은 환경적 요인이 에이전트가 높은 reCAPTCHA 점수를 받을 수 있는 능력에 어떤 영향을 미치는가?
- RQ5분할 정복 전략이 다양한 격자 해상도에서 높은 성능을 유지하는 데 얼마나 효과적인가?
주요 결과
- RL 에이전트는 100×100 격자에서 97.4%의 성공률을 기록하여 reCAPTCHA v3 우회에 높은 효과성을 입증했다.
- 1000×1000 해상도 격자에서는 96.7%의 성공률을 유지하여 더 큰 화면에서도 강력한 일반화 능력을 보였다.
- 셀 크기를 1×1에서 10×10 픽셀으로 증가시킬수록 성공률이 감소했으며, 셀 크기가 10인 경우 20% 이상의 시도에서 봇으로 탐지되었다. 이는 인간과 다른 이동 패턴을 유도함을 시사한다.
- 분할 정복 전략을 통해 재훈련 없이도 다양한 테스트된 격자 크기에서 90% 이상의 성공률을 달성하여 확장 가능성을 입증했다.
- Selenium과 같은 브라우저 자동화 도구보다 PyAutoGUI를 사용한 직접 마우스 제어가 성능이 뛰어나, 자동화 헤더와 신호로 인해 reCAPTCHA 탐지가 발생하는 것을 방지했다.
- Google 계정이 없고 표준 IP 라우팅을 사용할 경우 높은 reCAPTCHA 점수를 받을 가능성이 높아졌으며, 이는 계정 및 네트워크 환경이 위험 평가에 영향을 미칠 수 있음을 시사한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.