DEV Community 日本語
フォロー
reCAPTCHA:「私はロボットではありません」だけではない
CAPTCHAは、歪んだテキストを読み取る能力をテストすることで人間とボットを区別するという当初の目的から大きく進化しました。この初期の方法は、初期のコンピューターに対しては効果的でしたが、機械学習の進歩とともに時代遅れになりました。コンピューターが歪んだ文字を認識する能力が向上するにつれて、CAPTCHAはより困難になり、画像を選択するなどの課題によってユーザーエクスペリエンスが低下しました。これにより、直接的なユーザーへの課題から、インタラクションの行動を分析するという根本的なアプローチのシフトが起こりました。GoogleのreCAPTCHA v3のような最新システムは、現在、高度なリスク分析を使用して、インタラクションがボットによるものである可能性を示すスコアを割り当てています。このスコアは、ユーザーの行動、デバイスとネットワークの情報、過去のインタラクションパターンを含む複数のシグナルを融合することによって決定されます。例えば、マウスの動き、タイピング速度、ナビゲーションパターンが異常を検出するために分析されます。アクション間の微妙なタイミングの違いでさえ、自動化されたアクティビティを明らかにすることができます。ブラウザの履歴は直接読み取られませんが、過去のインタラクションパターンは重要なコンテキストを提供します。デバイスとブラウザの環境も、インタラクションの正当性に関するシグナルを提供します。これらの様々な弱いシグナルを組み合わせたシグナル融合は、強力なリスク評価を作成します。その結果、課題はパズルを解くことから、人間の行動特性を説得力を持って模倣することへとシフトしました。正当なユーザーであっても、その行動が異常に見える場合は課題が出される可能性がありますが、システムは主に人間のアイデンティティを確実に証明することよりも、高リスクのインタラクションを特定することに焦点を当てています。この進化により、CAPTCHAは単純なテキストパズルから洗練された行動チューリングテストへと変貌しました。