Google reCAPTCHA V3の仕組みとは?スコア減少の法則も発見
- 2020-01-05
Google reCAPTCHAはスパムやbotによるアクセスを防止するためのシステムです。
従来のチェックボックスをクリックするV2だけでなく最近はreCAPTCHA V3という新しいバージョンのreCAPTCHAも浸透してきています。
V3はユーザーがなにもしなくても自動的に人間かbotかを判別するため、reCAPTCHAが使われていることに気づかないこともしばしば。
気になるのがreCAPTCHA V3の仕組み。どうやって自動判別してるのか。
reCAPTCHA V3の仕組みとは?
V3の仕組みについて、Googleは公開していませんが人間かロボットかを判別するためにしているのはユーザーの行動や情報の監視でしょう。
- ユーザーのマウスの動きやクリック
- IPアドレス
- ブラウザ情報
- GoogleへのHTTPリクエスト
判断材料を列挙してみるとこんなかんじ。これだけではないと思います。あらゆる情報を使用しているでしょうから。
reCAPTCHA V2はユーザーがチェックボックスをクリックするまで、動作(マウスの移動、クリック)を監視しているといわれています。
スコア減少の法則
reCAPTCHA V3はユーザーの行動やブラウザ情報などからスコアを算出します。人間ならスコアが高くなりbotならスコアが低くなります。
スコアが低い場合に二段階認証を要求することも可能です。二段階認証は従来のreCAPTCHA V2のように、botの疑いがあれば画像を使った認証をするというものです。
reCAPTCHA V3のスコアが高確率で下がってしまう法則的なものが実はあるのです。(法則という表現が正しくないかもだけど)
- VPNやプロキシを使用した場合
- 何度も繰り返しreCAPTCHAを実行した場合
- シークレットウィンドウを使用した場合
VPNやプロキシを使用した場合
VPNやプロキシを使用した場合に極端にスコアが下がってしまうというのはよく知られています。
bot攻撃などはよくプロキシを経由して行われるので質の低い無料プロキシとか使っているとスコアが下がってしまうのでしょう。
何度も繰り返し実行した場合
また、繰り返しreCAPTCHAを実行した場合もスコアが下がります。reCAPTCHA V3はフォーム送信ボタンをクリックしたときなど任意のタイミングでbotかどうかの判別を実行することができます。
この実行を極端にやりすぎるとスコアが下がってしまいます。
これはreCAPTCHA V2でも同様だと思います。何度もやっていると次第に画像を使った認証を求められます。
シークレットウィンドウを使用した場合
これは意外と知られていないと思います。
ブラウザのシークレットウィンドウを使用しただけでスコアが極端に下がります。
シークレットウィンドウはクッキーなどが残らないように作られているため、reCAPTCHAで使用する判断材料が不足するためスコアが下がると考えられます。