CAPTCHAとは何か?種類と例をご紹介します。

CAPTCHAは、「完全自動化された公衆チューリングテストによる人間とコンピューターの識別」(completely automated public Turing test to tell computers and humans apart)の略です。1990年代にコンピュータ科学者によって考案されたこのシンプルなテストは、人間には簡単に解ける一方でコンピューターには困難であるように設計されており、今日でもウェブサイトがボットによるスパムを防ぐために広く使用されています。

例えば、子猫が写っているマス目をすべて選ぶ、パズルピースを正しい場所に動かす、または表示された歪んだ文字を入力するなど、私たちはこれまでに多くの「障害物」をクリアしてきたはずです。時には煩わしいと感じることもありますが、CAPTCHAはハッカーや悪意ある第三者によるウェブサイトの悪用を防ぐために必要不可欠な存在です。

Captcha Meme

CAPTCHAはどのように機能するのか?

ウェブサイトでは一般的に、複数の画像、一連のテキストや数字、または音声トラックが示されます。ユーザーはCAPTCHAからの指示に従い、人間であることを証明するために何らかの回答を入力する必要があります。 

CAPTCHAは役に立つことが多い一方で、完全にボットやスパムを防げるわけではありません。ニューラルネットワーク技術を用いて人間の思考や認識を模倣することで、ハッカーはAIを搭載したソフトウェアを開発し、高い成功率でCAPTCHAを解くことが可能になっています。そのため、CAPTCHAはスパムやボット対策の唯一の防御手段とはなりません。

CAPTCHAテストが発生する条件とは?

CAPTCHAテストは通常、ウェブサイトが不審な活動や自動化された動作を検知した際に発生します。ここでは、ウェブサイトがCAPTCHAテストを発動する原因となる一般的な行動について見ていきましょう。

IPアドレスの変更

VPNを使用している場合、CAPTCHAに遭遇する可能性が高まります。VPNは代替のIPアドレスを提供するため、IPアドレスの突然の変更により、ウェブサイトがボットや自動スクリプトの可能性を疑うことがあります。IPアドレスはユーザーの一般的な位置情報を示すため、この変化が不審に見えるのです。

大量の読み込みリクエスト

ウェブサイトやオンラインサービスは、ボットや悪意のあるアクターがサーバーを過負荷にして正規のユーザー体験を妨害するのを防ぐためにCAPTCHAを使用します。そのため、突然大量の画像、動画、その他のメディアコンテンツをリクエストすると、ウェブサイトがその行動を不審と判断し、CAPTCHAを発動する可能性があります。

アカウントへのログイン

この場合、CAPTCHAは追加のセキュリティ層として導入され、ログインを試みているのが人間であることを確認します。

ボットのような行動

フォームの素早い入力、奇妙なクリックパターン、大量のサーバーリクエストなどは、ボットのような行動とみなされることがあります。

閲覧履歴の欠如

CAPTCHAはユーザーの閲覧履歴を直接確認することはできません。しかし、GoogleがreCAPTCHAを所有されているため、ユーザーの閲覧履歴を検出できない場合にGoogleがCAPTCHAテストを発動するのではないかと考える人が多くいます。

CAPTCHAの種類

ウェブサイトで一般的に使用されるさまざまなCAPTCHAの種類、それらを解決する最良の方法、およびそれらの有効性について見ていきましょう。

テキストベースのCAPTCHA

Captchacat

テキストベースのCAPTCHA(上記例)は、ユーザーが文字、数字、またはその組み合わせからなるコードを入力することで人間であることを確認するものです。

**有効性:** 長年にわたり、テキストベースのCAPTCHAは当初考えられていたほど効果的ではないとする報告がされています。しかし、多くの大手eコマースブランドやテクノロジー企業は、悪意のあるボット対策としてこれを利用しています。

**解決のコツ:** 特にありません。テキストベースのCAPTCHAは一般的に簡単に解決できます。

テキストベースのCAPTCHAの種類

Gimpy

「Gimpy」とは、ユーザーが解読して入力する必要がある歪んだテキストを指します。Gimpy CAPTCHAは、850語の辞書から任意の単語を使用してボットを混乱させます。

EZ-Gimpy

EZ-GimpyはGimpy CAPTCHAのサブセットで、通常1つの単語やフレーズが含まれるため、比較的簡単に解読することができます。

Gimpy-r

Gimpy-rはランダムに文字を選び、背景色を追加してさらにボットを混乱させます。背景のノイズが多いため、Gimpy-rは人間にもわかりにくい場合があります。

Simard’s HIP

Simard’s HIPは、Gimpy-rより一歩進んでおり、入力する文字に数字を含めた上で、背景にパターンを追加します。

オーディオCAPTCHA

オーディオCAPTCHA(上記例)は、視覚障害や運動障害のある人のために、テキストベースのCAPTCHAの代替として提供されています。ユーザーは録音を聞き、コードを入力して確認を行います。
**有効性:** オーディオCAPTCHAは、聞くのが少し不快で煩わしいものの、ほとんどのボットは音声認識や背景音から文字を区別する訓練がされていないため、ボットに対して最も効果的だとされています。

**解決のコツ:** 集中力がカギです!流れる音声をしっかり聞いて、できる限り正確に入力してください。

Confident ReCAPTCHA または画像CAPTCHA

Confident Captcha

最も一般的で、数多くのミームの題材ともなっているこのCAPTCHA形式は、指示に基づいて写真を選ぶテストです。一度で正解するには、他の人が選びそうな写真をクリックする必要があります。深く考えすぎるのは禁物です!

**有効性:** 成功率は約96%と言われており、高い評価を得ています。提示される画像は主観的で、現在のところボットが正確に識別することは困難です。

**解決のコツ:** あまり考えすぎないことです。失敗しても、より簡単な新しいテストが出るかもしれません。

No CAPTCHA reCAPTCHA(またはreCAPTCHA V2)

Googleが2014年に導入したこのテストはシンプルで、「私はロボットではありません」と書かれたボックスをクリックするだけで完了します。CAPTCHAは、ボックスのどの部分がクリックされたかに基づいて、ユーザーが人間かボットかを判断します。ボットは通常、ボックスの中央を正確にクリックします。一方で、偶然にも人間が中央をクリックした場合は、数字や文字の組み合わせを入力する予備検証方法が実行されます。

**有効性:** 高い
**解決のコツ:** ボックスの中央をクリックしないようにしましょう。人間であればミスすることはほとんどありません。

数学の問題や単語タスク

Unexpected_CAPTCHA_encountered

これらのCAPTCHAでは、簡単な算数の問題を解いたり、指定された単語を入力したりする必要があります。人間には簡単に思えるこれらのテストですが、ボットにとっては意外と解くのが難しいものです。

**有効性:** 中程度。歪んだテキストを入力するというテストの解決は、ボットも慣れてきています。

**解決のコツ:** お気に入りの先生が応援してくれていると思って頑張りましょう。きっとできます!

ハニーポットCAPTCHA

ハニーポットCAPTCHAは、ボットだけが見えるようにハードコーディングされた形式のCAPTCHAです。これらのCAPTCHAはフォーム内の空白フィールドとして表示されることが多く、ボットは自動的にそれを埋めようとします。このため、ウェブサイトは送信された回答やフォームを簡単に拒否することができます。

**有効性:** 中程度。一部のボットには効果がない場合があります。

**解決のコツ:** 該当なし。人間は何もする必要がありません。

時間フォーム

もう一つの形式のCAPTCHAでは、フォームを記入するのにかかる時間を測定します。ボットはフォームを瞬時に記入するため、時間をかけて記入すれば人間であることが証明されます。

**有効性:** 高い

**解決のコツ:** フォームを「人間の速度」(つまり、ゆっくり)で記入し、自動化を使用しないことです。

ソーシャルメディアサインイン

おそらく最も安全性が高い形式のCAPTCHAであるソーシャルメディアログインでは、人間がFacebook、Instagram、またはGoogleアカウントにサインインしてウェブサイトにアクセスする必要があります。ボットは通常ソーシャルメディアアカウントを持たないため、これらのテストを通過することはほとんどありません。ただし、別のアカウントでログインする手間や個人情報をリンクすることに抵抗を感じるユーザーがいる点がデメリットです。

**有効性:** 高い
**解決のコツ:** ソーシャルメディアアカウントを持っていれば簡単です。メインやアクティブなアカウントを使用する必要もなく、ソーシャルメディアサインイン専用のアカウントを作成すれば、プライバシーを守りながら素早くこれらのCAPTCHAをクリアすることができます。

インビジブルCAPTCHA(またはreCAPTCHA V3)

Googleによると、この形式はバックグラウンドで動作し、訪問者が人間かボットかを判別します。この方法では、ユーザー側の入力は必要なく、ウェブサイト上での活動内容を監視して0から1のスコアを付けます。スコアが0から0.3の場合はボット、0.4から1.0の場合は人間と見なされます。Googleは具体的な仕組みを公開しておらず、公の場での検証もされていません。悪意のある第三者に解析され、破られないためだと想像されます。

**有効性:** 不明

**解決のコツ:** 人間らしく行動しましょう。ブラウザにGoogleクッキーがインストールされている場合、人間と認識される確率が上がることが判明しています。

CAPTCHAがウェブサイトで一般的に使用されるその他の理由とは?

CAPTCHAは、スパムやボット詐欺からサイトを保護する以外にも、さまざまな目的で導入されています。

投票精度を維持するため

CAPTCHAは、各投票者が実際に人間であることを認証することで、投票やアンケートの結果が歪められるのを防ぎます。また、CAPTCHAには記入に時間がかかるため、ボットが投票プラットフォームをスパム攻撃することが難しくなります。

サービスの登録を制限するため

CAPTCHAは、ソーシャルメディアプラットフォーム、イベント登録ページ、無料サービスでのボットアカウントの作成を制限します。これにより、企業が正規のアカウントのために必要なリソースを確保することができます。
2020年、Instagramは、不審な行動をするアカウントの所有者に追加の身分証明情報を提供させ、実在する人物であることを確認することで、プラットフォーム上のボットアカウントを排除する取り組みを発表しました。Instagramには9500万以上の偽アカウントが存在すると推定されています。

チケットの価格高騰を防ぐため

Ticketmasterなどの一部のチケット販売システムは、需要に応じてチケットの価格を調整しています。同社はこれにより、転売業者がチケットを購入し、転売するのを防ぐとしています。しかし、ボットは依然としてチケットの価格を押し上げる可能性があり、それがさらなる問題を引き起こすことがあります。

チケット販売システムは、購入プロセスにCAPTCHAを導入することで、ボットの動作を遅らせ、転売業者の活動を抑制することができます。

虚偽のコメント、スパム、嫌がらせを防ぐため

コメントを許可するウェブサイトやブログにおいて、CAPTCHAはボット(または人間)を遅らせることで、スパム、虚偽のコメント、さらには嫌がらせを防ぐのに有効です。

限定版商品の購入における転売業者の抑制のため

CAPTCHAは、限定版商品の購入において、ボットを使った転売業者が人間の購入者より有利になるのを防ぎます。転売業者は、限定版スニーカー、バッグ、電子機器を購入するためにボットを使用することで悪名高い存在となっています。
2022年、Nikeはリセラーやボットを取り締まるために販売規約を改定しました。同社はボットによって行われたと疑われる注文をキャンセルするなどの措置も講じています。

CAPTCHAを使用することの欠点

CAPTCHAを試したことがある人なら、一度は失敗した経験があるかもしれません。自分が人間であることを証明できないのはがっかりするものですが、実はそれほど珍しいことではありません。

イライラを引き起こし、作業を中断させる可能性がある

2014年、Googleは機械学習アルゴリズムを使い、人間と競わせました。最も複雑なCAPTCHAを解くテストで、人間の合格率はわずか33%と低い一方、Googleの機械は99.8%の成功率を記録しました。

理解や使用が難しい場合がある

CAPTCHAは、ある意味では人間よりもコンピューターの方が簡単に解けるようになってきています。このことは、CAPTCHAの現代における有用性に疑問を投げかけます。また、CAPTCHAを解くことが副業になっている人もいます。例えば、画像にオーニング(ひさし)が写っているかを判断する人を雇うことさえ可能です。

一部のCAPTCHAタイプはユーザーにとってアクセスしにくい

視覚、聴覚、または運動障害を持つユーザーは、CAPTCHAのアクセスや解決に苦労する場合があります。これにより、特定のサイトにアクセスする際にイライラや不満を感じる可能性があります。

一部のウェブサイトではページビューが減少する可能性がある

CAPTCHAは訪問者にとってやや敷居が高いため、新たにCAPTCHAを導入したウェブサイトでは、一時的にトラフィックの減少が見られることがあります。

FAQ: CAPTCHAについて

CAPTCHAを削除するにはどうすればいいですか?
「無効なCAPTCHA」とはどういう意味ですか?
CAPTCHAを正しく入力するには?
GoogleがCAPTCHAを使用する理由は?
GoogleがCAPTCHAを使用するのはいつ?