- CAPTCHA は依然として広く使われているボット対策だが、実際の導入事例とユーザー体験をあわせて見ると、セキュリティとユーザビリティのバランスが大きく揺らいでいる
- 人気ウェブサイト 200 件の調査と MTurk ユーザー研究では、reCAPTCHA のクリック型が中央値 3.7 秒で最速だった一方、ゲーム型・スライダー型・難しい hCAPTCHA はより時間がかかる傾向を示した
- 速い CAPTCHA が常に最も好まれるわけではなく、ゲーム型・スライダー型のように解答時間が長くても比較的高く評価されたタイプがあった
- アカウント作成フロー内に CAPTCHA を組み込んだ 文脈化設定では、直接解答させる場合より平均解答時間が最大 57.5% 増加し、離脱率も高くなった
- 年齢が高いほど多くの CAPTCHA で解答時間が延び、既存のボット性能研究と比較すると、複数のタイプでボットが人間より速く正確な事例が確認された
CAPTCHA が再評価の対象となった理由
- CAPTCHA は約 20 年にわたり広く使われてきたボット対策だが、それを回避したり自動で解いたりする技術も継続的に進化してきた
- 初期の CAPTCHA は、歪められたテキストを画像から読み取って入力する方式だったが、コンピュータビジョンと機械学習の発展により、2014 年には自動化ツールが 99% 以上の精度を達成した事例があった
- 現在の CAPTCHA はさまざまな形態に分化している
- オブジェクト認識型: 「該当する物体があるマスを選択」
- 歪曲テキスト型
- パズル型: 「ブロックをスライド」
- ユーザー行動分析ベースの方式
- この研究は、実際のウェブで使われている未改変の CAPTCHAを対象としている
- 人気ウェブサイト 200 件の手動調査
- MTurk ベースの 1,000 人規模の本調査
- 離脱率を別途見るための追加 MTurk 研究
- 完全匿名化データセットと分析コードを公開: captcha-study
人気ウェブサイト 200 件で見た CAPTCHA の分布
- Alexa Top ウェブサイト一覧を基準に上位 200 件を手動調査した
- 185 サイトにはアカウント作成手続きがあった
- 142 サイトでは実際にアカウント作成が可能だった
- 各サイトには Chrome シークレットモードと Tor Browser でそれぞれアクセスした
- 観測された CAPTCHA タイプでは、reCAPTCHA への偏りが最も目立った
- reCAPTCHA: 68 サイト、調査対象の 34%
- スライダーベース CAPTCHA: 14 サイト、7%
- 歪曲テキスト CAPTCHA: 14 サイト、7%
- ゲームベース CAPTCHA: 9 サイト、4.5%
- hCAPTCHA: 1 サイト
- 不可視 CAPTCHA: 12 サイト、6%
- その他: スクラッチくじ風 CAPTCHA、画像内の中国語文字を探す CAPTCHA、NuCaptcha など
- 調査範囲には明確な限界がある
- 手動調査だったため上位 200 サイトのみを含めた
- すべての機能を実行したわけではないため、実際の CAPTCHA 導入数はさらに多い可能性がある
- 特定時点のウェブサイト順位と CAPTCHA の状態に依存している
- ダークウェブなど特殊用途サイトの CAPTCHA は含まれていない
- BuiltWith の 6 億 7,300 万件のウェブサイトデータセットでは、CAPTCHA を使用する 1,520 万サイトのうち reCAPTCHA が 97.3%、hCAPTCHA が 1.4% を占めた
- 研究で用いた CAPTCHA タイプは、この大規模データセット基準で 98% 以上をカバーしている
ユーザー研究の設計
- 本ユーザー研究は MTurk で1,000 人を対象に実施され、参加者は CAPTCHA 10 個をランダム順で解いた
- 手順は 4 段階で構成された
- 研究紹介
- 事前質問: 人口統計情報の収集
- CAPTCHA 解答課題
- 事後質問: 直前に解いた CAPTCHA に対する好みなどの質問
- 使用した CAPTCHA タイプは全 10 種類
- reCAPTCHA v2 2 種: ユーザーに最も易しい設定、最もセキュアな設定
- Arkose Labs のゲーム型 2 種: オブジェクト回転、正しい向きのオブジェクト選択
- hCAPTCHA 2 種: 易しい設定、難しい設定
- Geetest スライダー CAPTCHA 1 種
- 歪曲テキスト CAPTCHA 3 種: 単純型、マスキング型、動くテキスト型
- 実験の文脈を比較するため、2 つの設定を用いた
- 直接設定: 参加者に CAPTCHA を解く研究だと伝え、CAPTCHA 10 個を直接提示
- 文脈化設定: 参加者にアカウント作成研究だと案内し、各アカウント作成フォーム送信後に CAPTCHA が現れるよう構成
- 文脈化設定では個人情報収集を避けるため合成情報を提供し、実際の目的は課題完了後に開示した
- この方式は IRB の承認を受けており、不完全開示と同意変更に関する文書も承認された
- 目的開示後にデータ利用へ同意しなかった参加者のデータは収集しなかった
- 参加者報酬は当初、直接設定が 0.30 ドル、文脈化設定が 0.75 ドルだった
- 完了時間の中央値がそれぞれ 4.4 分と 11.5 分であることを確認した後、0.60 ドルと 1.50 ドルへ遡及的に引き上げた
解答時間と好みの差
- CAPTCHA タイプごとの解答時間には大きな開きがあった
- reCAPTCHA のクリック型は中央値 3.7 秒で最速
- 易しい設定と難しい設定の差は大きくなかった
- 単純な歪曲テキスト CAPTCHA は、歪曲テキスト系の中で最も早く解かれた
- マスキング型と動くテキスト型の解答時間は近かった
- hCAPTCHA は易しい設定と難しい設定の差が明確で、難しい設定ではより難しい画像課題や追加ラウンドが出題された
- ゲーム型とスライダー型 CAPTCHA は全体として中央値解答時間が高かったが、一部の参加者は 10 秒未満で解いた
- ユーザーの好みは解答時間と完全には一致しなかった
- reCAPTCHA のクリック型は最も速く、好みも最も高かった
- ゲーム型とスライダー型は時間がかかったが、好意的に評価される傾向があった
- 最も好まれた CAPTCHA である reCAPTCHA のクリック型でも、参加者の 18.9% は 1 点または 2 点を付けた
- 全体で最も評価が低かった hCAPTCHA でも、31.0% 以上が 4 点または 5 点を付けた
実験文脈が生んだ差
- 直接設定と文脈化設定を比較すると、ほとんどの CAPTCHA で文脈化設定の平均解答時間の方が長かった
- reCAPTCHA の易しいクリック型は平均解答時間が 1.8 秒増え、57.5% 増加した
- Arkose の回転型は 10 秒増え、56.1% 増加した
- 全 CAPTCHA タイプ平均では、直接設定に比べて文脈化設定で 26.7% 増加した
- hCAPTCHA の難しい設定は全体の中央値解答時間が最も高かったが、2 設定間の平均解答時間差は有意ではなかった
- Kruskal-Wallis 検定では、Geetest、reCAPTCHA 画像型、hCAPTCHA の難しい設定を除くすべての CAPTCHA タイプで平均解答時間差が統計的に有意だった
- 2 つの設定の間には、複数の潜在的交絡要因が残っている
- 文脈化設定の参加者はより多くの作業を行った
- 報酬差や課題完了に対する認識の違いが、動機や離脱可能性に影響した可能性がある
人口統計、正確性、離脱率
- 年齢は CAPTCHA の解答時間と関連していた
- reCAPTCHA の易しい画像型を除くすべてのタイプで、若い参加者の平均解答時間が短い傾向を示した
- 既存研究ではテキストベース CAPTCHA で年齢 1 歳あたり 0.03 秒増加と報告されていたが、今回の研究では全 CAPTCHA タイプ平均で年齢 1 歳あたり 0.09 秒増加した
- 教育水準と性別では大きな解答時間差は観察されなかった
- 既存研究では PhD 参加者が他の教育グループより速く解くとされていたが、今回の研究では自己申告の教育水準と解答時間に相関はなかった
- デバイスと入力方式では一部差があった
- コンピュータ利用者は携帯電話利用者より、歪曲テキスト CAPTCHA と reCAPTCHA の難しいクリック型で平均解答時間が短かった
- 物理キーボードとタッチ入力の間では、単純型・マスキング型の歪曲テキスト、reCAPTCHA のクリック型、Arkose の選択型で統計的に有意な差があった
- 正確性比較ではタイプごとの差が大きい
- reCAPTCHA 画像分類の正確性は、易しい設定 81%、難しい設定 81.7%
- hCAPTCHA の正確性は、易しい設定 81.4%、難しい設定 70.6%
- 歪曲テキストは大文字小文字を区別しなければ、参加者間一致率が平均 20% 増加した
- 単純型: 84% から 93%
- マスキング型: 50% から 73%
- 動くテキスト型: 62% から 90%
- 既存文献のボット性能と比較すると、複数の CAPTCHA タイプでボットが人間より速く正確な結果を示した
- reCAPTCHA のクリック型: 人間 3.1〜4.9 秒、ボットは 1.4 秒かつ 100% 正確という事例
- Geetest: 人間 28〜30 秒、ボットは 5.3 秒かつ 96% 正確という事例
- 歪曲テキスト: 人間 9〜15.3 秒かつ 50〜84% 正確、ボットは 1 秒未満かつ 99.8% 正確という事例
- reCAPTCHA 画像型: 人間 15〜26 秒かつ 81% 正確、ボットは 17.5 秒かつ 85% 正確という事例
- hCAPTCHA: 人間 18〜32 秒かつ 71〜81% 正確、ボットは 14.9 秒かつ 98% 正確という事例
- 別途行った離脱率研究では、最初の CAPTCHA 提示後に参加者の 18〜45% が研究を離脱した
- 文脈化設定の参加者は、直接設定の参加者より離脱する可能性が 120% 高かった
- CAPTCHA によってユーザーが課題を放棄すると、購入やアカウント作成といったウェブサイト上の行動損失につながりうる
1件のコメント
Hacker News のコメント
Google CAPTCHA は AI 学習用の仕組みとして設計・展開されたもので、そのために今のような形になったのだと思う
周辺のセキュリティ劇場は副次的なものに近く、AI が今ではうまく解けることも驚きではない。私たちが何年もそうやって訓練してきたのだから
少なくとも攻撃者にコストを発生させる効果はある
核心は行動分析であり、ユーザーがページを読み込む前から Google が収集したデータでボットの可能性を判断することも含まれる
reCAPTCHA が Google の学習データ源である点は否定しない。reCAPTCHA V2 の問題がずっと交通関連オブジェクトの識別であることに特別な理由がないはずはないし、Google が自動運転 AI を作っているわけでもないのだから
ただしそれはビジネスモデルであって中核機能ではなく、その学習データが CAPTCHA 解除ボットの開発者にそのまま渡されるわけでもない
今は Cloudflare のようなサービスにフィルタリングを任せているが、こうした学習が続けば Cloudflare でさえボットと人間をどう見分けられるのだろうと思う
Google CAPTCHA が正解を拒否するケースを何度も見たが、ボットが誤った答えを受け入れるように学習させた結果かもしれない
それでも、もう一時停止標識ではないのは幸いだ。Google が一方で「自動運転」車を売りながら、同時にロボットが一時停止標識を認識できないことを示していたら、かなり気まずかっただろう
この研究は人間が CAPTCHA を解くさまざまな側面を扱ったものに見え、AI が人間を上回るという内容は見つけられなかった。その節を知っている人はいる?
reCAPTCHA v2/v3 を解くには、チェックボックスのクリックや画像パズル以上のものが必要になる。それだけだったら、とっくに大騒ぎになっていただろう
CAPTCHA が AI 学習用だという話は広い意味では正しいが、現代の CAPTCHA が動作する仕組みにおいては副作用に近いと思う
reCaptcha V2+ のようなものは、閲覧履歴やページ上でのマウスの動きのような 行動分析を監視している。だからほとんどの人はチェックボックスをクリックするだけで済む
マウスの動きを入力形式として含む大規模マルチモーダルモデルがあるのかも、よく分からない
CAPTCHA を破るように設計された AI も、Google などのデータを学習に使うことはできない。Google が自社のボットを訓練して CAPTCHA を迂回させるのではと心配しているなら、不可能ではないかもしれないが
タイトルはかなり釣り気味で、残念ながら HN ではそういうタイトルがよく受ける
今後は何かに登録するとき、決済カード検証が次の段階になりそうだ
プリペイド BIN は最初からブロックする、といった形になりそう。かなりひどいことになりそうだが、今では CAPTCHA を解くくらいなら 0.01 ドル払うほうがましだと感じるほどなので、何かは必要だ
特に「自転車をすべて選べ」は人生の無駄遣いだ
物をあまり買わず、ソーシャルメディアもあまり使わなくなる。自然散策と紙の本には CAPTCHA がない
どのブラウザでも動作させるには、こういう形が考えられる。証明をサポートする iPhone や Android 端末で QR コードをスキャンし、ログインを承認するかを尋ね、その端末が代わりに証明する
悪意ある行為者だと判明すれば Web サイトがその端末をブロックできるので、単一端末で大量攻撃を浴びせるのも難しい
UPI では QR コードを受け取るか UPI ID を入力し、支払いを押せば終わりだ
「不正防止」が心配なら、eBay やカード会社のような仲介者に頼るより、銀行、販売者、裁判所と解決すべきだと思う
昔 {Country} に住んでいたとき、国際決済で受け入れられるカードにまったくアクセスできなかった記憶がある
HN が CAPTCHA を要求したことはあるのだろうか? 基本的だが実績のある 運用・スパム対策ツールと、よほど執拗な DDoS でなければ防げる速度制限だけで、かなりうまく持ちこたえているように見える
スクレイピングやサードパーティクライアントにも、とんでもない制限があるようには見えない
それでも月間 500 万ユニーク訪問者と 1 日 1,000 万ビューを処理している[0]
[0] https://news.ycombinator.com/item?id=33454140
できるのはスパム投稿くらいだが、攻撃者にとって実際の金銭的価値は低く、そういうものを処理するツールは言われているように何十年も前からある
金を稼げる可能性がはるかに明確で直接的な他のサイトとは大きく違う
なぜあえて数台程度のマシンだけで運用しようとするのかはよく分からない。資金は十分あるだろうし、YC の宣伝効果だけでも差額は埋められるはずだ
CAPTCHAは曖昧さと画像がすべて読み込まれない問題のせいで、あまりにも苦痛です。
1分待っても一部の画像は結局表示されません。表示されても、自転車、オートバイ、横断歩道の写真が多すぎます。
ごく小さな一部が別のタイルに少しはみ出している場合にクリックすべきか、いつも迷います。読み込まれなかったものだけを更新することもできず、更新するとたいてい最初からやり直しになるようです。
他の人も言っているように、Torを使うとCAPTCHAがそもそも読み込まれないことがよくあります。写真を表示せず、そのまま止まっています。一般的なWebサイトはTorでもおおむね問題なく動くので、CAPTCHA側の問題に見えます。
7年前にはすでにこう予測されていました。「機械はどうやって支配するのか? CAPTCHAが難しすぎてAIだけが解けるようになれば、人間はインターネットから完全に締め出されるだろう。」 https://twitter.com/lapcatsoftware/status/771857826130034688
「この画像にある文字は何か」という形式のCAPTCHAがしばらく大きく減りましたが、その理由の一部はこれだったのでしょう。
投稿タイトルは「AI bots are now outperforming humans in solving CAPTCHAs」でしたが、これはHNのタイトル規則である「誤解を招くものや釣りでない限り、元のタイトルを使い、編集しない」に違反していました。
記事投稿者が記事で重要だと考える点を述べたいなら、スレッドにコメントすればよいのです。そうすれば、その見解は他の人たちと同じスタートラインに置かれます: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&sort=byDate&type=comment&query=%22level%20playing%20field%22%20by:dang
タイトルが誤解を招くように編集されています。実際のタイトルと要旨には、AIが「今や」人間を上回っているという内容はありません。
実際のタイトルはAn Empirical Study & Evaluation of Modern CAPTCHAsです。
ほぼ20年にわたり、CAPTCHAはボットを防ぐ保護手段として広く使われてきており、利用が増えるにつれて、それを破ったり迂回したりする手法も発展し続けてきました。
同時にCAPTCHAも精巧さと多様性の面で進化し、ボットだけでなく人間にとっても、ますます解くのが難しくなっています。
この長年の軍拡競争が続いている以上、正規ユーザーが現代のCAPTCHAを解くのにどれくらい時間がかかり、どのように受け止めているのかを調べることは重要です。
この研究は、実際に導入されているCAPTCHAを改変せず、人気Webサイトの手作業による調査とユーザー研究を通じて評価しました。
参加者1,400人が合計14,000個のCAPTCHAを解き、最も人気のある種類の間で大きな差が見られました。
興味深いことに、解答時間とユーザーの認識は必ずしも相関していませんでした。
CAPTCHAを単独で解く場合と、アカウント作成のようなより自然なタスクの一部として解く場合の違いも比較し、複数の交絡要因はあったものの、実験の文脈が影響を与える可能性があるため、今後の研究で考慮すべきです。
最後に、タスクを開始したものの完了しなかった参加者を分析し、CAPTCHAのためにユーザーが作業を放棄する現象も調べました。
こうした論文は、CAPTCHAに複数の難易度段階がある点を見落としています。
エンタープライズアカウントを使っている人や、CAPTCHA提供事業者と密接に協力している人は、まったく異なる結果を見ることになります。
最近の多くのCAPTCHA提供事業者は、難しいモードでどのCAPTCHAを出すかを決める際、大規模言語モデルが解けないものを基準にしています。
CAPTCHAが意図的に難しすぎるように作られない理由は、pex.comのようなところが著作権執行のために迂回できる必要があるからです。
hcaptchaの創業者だったので、私に偏りがあることは明かしておきます。
最近のCAPTCHAのように、物体を回転させてパズルを合わせたり、同じ項目を見つけたりする方式のほうが良いように思います。
以前の歪んだ文字の判読方式、特に
i、1、lのどれかを当てるようなものは、もっといらだたしいものでした。