概要
ボット対策として至る所で利用されているGoogleが提供のreCAPTCHA。 最近だと仮想通貨取引所のログインやfausetなどでよくみます。
Googleから提供されるコードを埋め込むだけで簡単にcaptcha実装できるのでサービス側は便利なんですが、サービ利用ユーザからすると実にうざい。。 ただでさえうざいのに近頃なかなか判定が通らなかったりなんども認証を求められたりで使えたもんじゃない状態となっているのです。
ということで今回はreCAPTCHAに関する簡単な考察と対策についてまとめてみるのです。
reCAPTHAのうざさ
ここ最近、reCAPTHAでは選択させる対象物として、「道路」、「自動車」、「標識」、「店の外観」など、明らかに交通関係のものとなっています。
ぽちぽちしていると、大学の時に機械学習のデータセット収集のための実験に参加した時とデジャブな感じです。
これもほぼ確実にGoogleへのデータセットとして情報収集されてるんだろうなというのはわかります。 ここで得られた情報はGoogleMapの精度向上とかに使えそう。
また、自動運転も撤退したとか一時話が出てましたが現在WAYMOという子会社で引き続き進められています。 自動車メーカー以上にさくっとデータ収集できそうですね。
この機械学習のバイトしてる感じが少しぐぬぬってなります。
傾向
人によっては特に難なくreCAPTCHA認証通っているようなので、まずブラウザ依存なのかGoogleアカウント依存なのか確認してみるのです。 結果は以下のようになります。
- x … 認証難易度 高
- o … 認証難易度 低
ブラウザ | Google login状態 | Google logout状態 |
---|---|---|
Chrome | x | o |
Firefox | x | o |
どうやらログイン(アカウント)状態に依存しているようなのでCookieが影響してそうです。
reCAPTCHA部分をみてみると、Googleドメインのiframeで構成されている。
<iframe src="https://www.google.com/recaptcha/api2/anchor?ar=1&k=..."
allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation
allow-modals allow-popups-to-escape-sandbox"></iframe>
さらに通信を追ってみるとgoogleドメインのCookieを送っているのも確認。明らかにアカウント情報が関係してそうです。
ここで試したGoogleアカウントでは、セキュリティ興味上怪しいリンクをたまに踏んだりしてるのが悪いのか、あまりよく思われていないアカウントのようです。
試しに別のサブ垢だとすんなり認証が通りました。評判システム的な以下の感じのロジックが働いていると勝手に想像。
要はBadなサイトを閲覧・利用するとその利用者も悪い奴っていう判定がなされる感じ。
このロジックうまく使えば利用者はBadなサイトみないインセンティブになって、Badなサイト運用者も訪問者減って潰れてでWeb空間が綺麗にならないかしらとかは少し思うのです。(適当)
対策
対策は簡単。 傾向でみた通り、googleドメインのcookieが悪そうなので
- logoutしてCokkieを消す
- プライベートブラウジングでCookieがない状態にする
くらいでしょうか。これであっさり認証通過しました。
・
・
・
・
以上。(ちょっとめんどくさい)
まとめ
今回、Googleの提供するreCAPTCHAについてみてきました。 いろいろ書きましたが要はreCAPTHAうざいってことです。。
もう少しユーザの利便性を損なわないbot対策ってできないのかしら。