reCAPTCHAとは
reCAPTCHAはカーネギーメロン大学で開発され、2009年にGoogleに買収されたチャレンジレスポンス型のセキュリティシステムです。その主な目的は、自動化されたプログラム(一般的にボットと呼ばれる)がウェブアプリケーションでフォーム送信、アカウント作成、投票投稿から遮断するとともに、本物の人間ユーザーが摩擦なく通過することを可能にすることです。
技術メカニズム
GoogleはreCAPTCHAの3つのメジャーバージョンをリリースしており、それぞれ正当なユーザーの見えるフリクションを段階的に削減しています。
reCAPTCHA v1は古典的な歪んだテキストパズルを提示し、ユーザーに歪んだ文字を解読することが必要でした。最初は効果的でしたが、機械学習画像認識によって最終的に失敗されました。
reCAPTCHA v2は現在よく知られた「ロボットではない」チェックボックスを導入しました。その単一のクリックの背後で、Googleのリスク分析エンジンは行動シグナルの指紋を分析しています。マウスムーブメント軌跡、クリック前のキーストロークのタイミングパターン、デバイスとブラウザ属性、およびユーザーのGoogleクッキーに関連する以前のブラウジング履歴です。疑わしいセッションは二次的な画像選択チャレンジ(例:「すべての信号機を選択」)を受け取ります。
reCAPTCHA v3はGoogleの現在推奨バージョンであり、完全に目に見えません。バックグラウンドで継続的に実行され、0.0(非常にボットである可能性が高い)から1.0(非常に人間である可能性が高い)の間の浮動小数点スコアを返します。サイトの所有者は、ブロック、二次的なチャレンジ、または追加検証をトリガーするスコアしきい値を決定します。高信頼セッションではユーザーインタラクションが決して必要ありません。
reCAPTCHAはいつ使用されるのか
コンテストと投票プラットフォームは投票提交エンドポイント、アカウント登録フォーム、および時々ログインページにreCAPTCHAを展開します。統合にはgoogle.com/recaptcha/api.jsからページに小さなJavaScriptスニペットを配置し、サイトの秘密キーとともにhttps://www.google.com/recaptcha/api/siteverifyに投稿することで結果のトークンをサーバー側で検証することが必要です。サーバー側のレスポンスには合否判定、およびv3の場合は数値リスクスコアが含まれています。
投票はreCAPTCHAとどのように相互作用するか
訪問者がreCAPTCHA保護されたコンテストの投票ボタンをクリックすると、ウィジェットは静かに行動スナップショットを収集し、それをGoogleの全世界的なリスク分析インフラストラクチャに送信します。レスポンストークン(署名されたJWT)は投票提出に添付されます。コンテストのバックエンドはその後、投票を記録する前にGoogleの検証APIを呼び出します。有効な新しいトークンを生成できないボット、または低いv3スコアを持つトークンを生成するボット、その投票は静かに拒否されるか、レビューのためにフラグが立てられます。
投票購入サービスは投票を成功させるために有効なreCAPTCHAトークンを取得する必要があります。Googleは継続的にその検出モデルを更新し、前月に機能した手法がリスクエンジンが再トレーニングされるときに機能しなくなる可能性があります。
Googleベンダー仕様
reCAPTCHAはGoogleのインフラストラクチャとサービス規約の下で運営されています。Googleのシステムはボット検出精度を改善するためにGoogleアカウントに関連付けられたブラウジング履歴と行動テレメトリーを取り込みます。サイトの所有者はhttps://www.google.com/recaptcha/adminでドメインを登録して、サイトキーと秘密キーペアを受け取ります。エンタープライズの顧客はGoogle CloudのreCAPTCHA Enterpriseプロダクトを通じてreCAPTCHAにアクセスでき、追加のシグナル、きめ細かいスコア説明、およびSLAによるアップタイム保証を提供します。
正当な使途
コンテスト投票を超えて、reCAPTCHAは認証詰め込み攻撃から保護するためのeコマースチェックアウトページ、スパムをブロックするためのコメントフォーム、自動化されたアカウント乗っ取り試行をブロックするためのパスワードリセットフロー、およびスケルパーボットがイベント在庫全体を数ミリ秒以内にリリースから購入することを防ぐためのチケット販売プラットフォームに展開されています。
不正防止の側面
不正防止の観点から、reCAPTCHA v3の継続的なスコアリングモデルは、投票提出の時点だけでなくすべてのページビューにリスクスコアを適用できるため、コンテスト運営者にとって特に価値があります。異常なパターン――同じサブネットから数秒以内に発信された数百の投票、または事前のナビゲーション履歴がないセッション――は遡及的にフラグが立てられ、正当な参加者の経験に影響することなく一括投票の無効化が可能になります。
要約。 reCAPTCHAはGoogleが運営する無料CAPTCHAサービスであり、リスク分析アルゴリズムと行動シグナルを使用して人間のユーザーを自動化されたボットから区別します。v1はテキストパズル、v2は「ロボットではない」チェックボックス、v3は完全に目に見えない連続スコアリングを提供しています。投票サービスはv3スコアを解読し、トークンの有効性を検証する必要があります。Googleは継続的に検出モデルを更新し、以前の回避策を無効にします。