reCAPTCHA激ムズ問題に対する傾向と対策

2018/08/19

Categories: security Tags: reCAPTCHA google

google_recaptcha_start

概要

ボット対策として至る所で利用されているGoogleが提供のreCAPTCHA。 最近だと仮想通貨取引所のログインやfausetなどでよくみます。

Googleから提供されるコードを埋め込むだけで簡単にcaptcha実装できるのでサービス側は便利なんですが、サービ利用ユーザからすると実にうざい。。 ただでさえうざいのに近頃なかなか判定が通らなかったりなんども認証を求められたりで使えたもんじゃない状態となっているのです。

ということで今回はreCAPTCHAに関する簡単な考察と対策についてまとめてみるのです。

reCAPTHAのうざさ

ここ最近、reCAPTHAでは選択させる対象物として、「道路」、「自動車」、「標識」、「店の外観」など、明らかに交通関係のものとなっています。

google_recaptcha1 google_recaptcha2

ぽちぽちしていると、大学の時に機械学習のデータセット収集のための実験に参加した時とデジャブな感じです。

これもほぼ確実にGoogleへのデータセットとして情報収集されてるんだろうなというのはわかります。 ここで得られた情報はGoogleMapの精度向上とかに使えそう。

また、自動運転も撤退したとか一時話が出てましたが現在WAYMOという子会社で引き続き進められています。 自動車メーカー以上にさくっとデータ収集できそうですね。

この機械学習のバイトしてる感じが少しぐぬぬってなります。

傾向

人によっては特に難なくreCAPTCHA認証通っているようなので、まずブラウザ依存なのかGoogleアカウント依存なのか確認してみるのです。 結果は以下のようになります。

ブラウザ 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&amp;k=..."
allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation 
allow-modals allow-popups-to-escape-sandbox"></iframe>

さらに通信を追ってみるとgoogleドメインのCookieを送っているのも確認。明らかにアカウント情報が関係してそうです。

ここで試したGoogleアカウントでは、セキュリティ興味上怪しいリンクをたまに踏んだりしてるのが悪いのか、あまりよく思われていないアカウントのようです。

試しに別のサブ垢だとすんなり認証が通りました。評判システム的な以下の感じのロジックが働いていると勝手に想像。

google_recaptcha_logic

要はBadなサイトを閲覧・利用するとその利用者も悪い奴っていう判定がなされる感じ。

このロジックうまく使えば利用者はBadなサイトみないインセンティブになって、Badなサイト運用者も訪問者減って潰れてでWeb空間が綺麗にならないかしらとかは少し思うのです。(適当)

対策

対策は簡単。 傾向でみた通り、googleドメインのcookieが悪そうなので

くらいでしょうか。これであっさり認証通過しました。

以上。(ちょっとめんどくさい)

まとめ

今回、Googleの提供するreCAPTCHAについてみてきました。 いろいろ書きましたが要はreCAPTHAうざいってことです。。

もう少しユーザの利便性を損なわないbot対策ってできないのかしら。