[論文レビュー] Hacking Google reCAPTCHA v3 using Reinforcement Learning
本稿では、マウスの動きをグリッドワールドナビゲーションタスクとしてモデル化することで、Google reCAPTCHA v3 を回避する強化学習(RL)手法を提案する。ポリシー勾配法(Reinforce)を用い、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を自動で回避できるかどうかを調査すること。
- エージェントが高い信頼スコアを達成するための最適なマウス移動を学習するMarkov意思決定過程(MDP)としてreCAPTCHAチャレンジをモデル化すること。
- グリッドセルのサイズがエージェントのパフォーマンスとreCAPTCHAの行動分析による検出可能性に与える影響を評価すること。
- 各解像度ごとに再訓練を行わずに、さまざまなスクリーン解像度に一般化可能なスケーラブルなソリューションを開発すること。
- ブラウザ自動化ツールやヘッドレス検出メカニズムを回避するため、人間と同等のインタラクションをシミュレートすること。
提案手法
- マウスの位置を状態空間、方向移動(上、下、左、右)を行動空間とするグリッドワールドMDPとしてreCAPTCHA回避タスクを定式化する。
- 報酬は各エピソード終了後に得られる最終的なreCAPTCHAスコアに基づくポリシー勾配最適化を用いたReinforceアルゴリズムを採用し、エージェントを学習させる。
- Seleniumのようなブラウザ自動化ツールの検出を避けるために、PyAutoGUIを用いて直接マウスを制御するカスタムブラウザ環境を実装する。
- 分割統治戦略を導入:大きなグリッドを100×100のサブグリッドに分割し、各セグメントに訓練済みエージェントを順次適用することで、大規模なスクリーンをナビゲートする。
- Googleアカウントのログイン状態やIPルーティングなどの環境要因を制御し、現実の人の行動を模倣し、検出を回避する。
- エピソードの時間枠をグリッドの対角線の2倍に設定し、早期終了を防ぐために十分なステップ数を確保する。
実験結果
リサーチクエスチョン
- RQ1reCAPTCHA v3は可視チャレンジを提供せず、リスクスコアを機械学習で割り当てるため、強化学習を効果的に適用して回避できるか?
- RQ2グリッドワールドにおけるセルサイズがエージェントの成功率とreCAPTCHAの行動分析による検出可能性に与える影響は?
- RQ3100×100グリッドで訓練された1つの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が作成し、人間の編集者が確認しました。