CAPTCHAとは?「私はロボットではありません」と表示される理由は?
CAPTCHAとは、Webサイトやサービスで、フォームへの入力がコンピュータ(ボット)ではなく人間によって行われたことを判断するために使用されるテストのことです。この記事では、CAPTCHAの仕組みや種類、デメリットについて説明し、「私はロボットではありません」という画面が表示される原因とその対処法について解説します。
目次
目次
CAPTCHA(キャプチャ)認証とは?
CAPTCHA(キャプチャ)認証とは、「コンピュータと人間を区別する完全に自動化された公開チューリングテスト」を意味する、スパム対策のための仕組みです。主にユーザーの入力を必要とするWebサイトで使用されます。この仕組みを利用することで、悪質なコンピュータ・ボット(bot)がフォームに自動入力したかどうかを判定することができます。
ボットとは人間の手を介さずにさまざまな作業を自動化する技術で、悪質なボットは、特定の製品の宣伝からマルウェアの拡散まで、あらゆる目的で使用される可能性があります。
ユーザーがCAPTCHAを解いて、人間であることを証明できるようにすれば、スパムボットによる入力を防ぐことができます。最近では、ニュースレターやコミュニティ、SNS、オンライン調査などの登録フォームにも、CAPTCHA認証が使われることが多くなっています。
reCAPTCHAとは?
reCAPTCHA(リキャプチャ)とは、CAPTCHA認証を取り入れたGoogleが提供するサービスのことです。コンタクトフォームの送信やユーザー登録、コメントを書き込む際に、文字列を全て入力したり、数学の問題を解いたりする必要がなくなり、「私はロボットではありません」と書かれたチェックボックスにチェックを入れるだけで認証が完了します。
この手順は一見簡単そうに見えますが、ボットにとっては非常に複雑です。なぜなら、チェックボックスには、人間とスパムを区別するためのコードや仕組みがたくさん組み込まれているからです。
しかし、近年のAI技術の進歩により、機械の画像認識・識別能力は飛躍的に発達しており、GoogleのreCAPTCHAもすでに突破される可能性があります。そのため、reCAPTCHAで使用する問題の難易度を上げることで、スパムボットの突破を防いでいます。
CAPTCHAの利用目的
CAPTCHAは、通常、最も機密性の高いアカウントへのアクセスポイントのセキュリティを強化するために使用されます。CAPTCHAは、主に以下のような状況で表示される傾向があります。
- 新しいサービスに登録する場合。
- 既存アカウントのパスワードを変更する場合。
- サードパーティのデバイスやアプリにGoogleを連携させる場合。
GoogleがCAPTCHAを使う理由
Googleは、ユーザーの情報を安全に保つことに努めており、CAPTCHA認証を採用することで、正しいパスワードを持つ人だけがユーザーのアカウントにアクセスできるようになるのです。
Googleを含む多くのウェブサービスは、スパムボットによるフォーム攻撃やアカウントの乗っ取りの検出と防止のためにCAPTCHA認証を使用しています。また、銀行やクレジットカードのアカウントなど、機密情報へのアクセスを提供する他のサイトでもCAPTCHAを見かけることがあります。
「私はロボットではありません」が出る原因と突破する方法
前述の通り、Googleはユーザー情報を安全に保つためにCAPTCHA認証を使用しています。一度だけの認証であれば問題ないですが、「私はロボットではありません」と書かれたCAPTCHA画面が常に表示されて終わらないのであれば、突破するために正しく対処する必要があります。以下のようなことが原因で「私はロボットではありません」が無限に表示される可能性があります。
- 質問された画像が選べていないから:ロボットが識別できない不完全な画像の選択を求められる場合があります。人間でないと分かり難いような質問もあるため、よく画像を見て、少しでも対象物が見えている画像があれば選択するようにしましょう。さらに、あえて質問に該当する画像がなかったり、画像が小さすぎて分かりづらかったりするケースもあります。その場合は、左下にある切り換えアイコンを押して質問を切り換えましょう。
- VPNを利用しているから:Wi-Fi接続時のブラウジングを保護するためにVPNを使用している場合、「私はロボットではありません」というメッセージが無限に表示されると、煩わしいと感じるかもしれません。VPNの仕組みにより、他のユーザーと共有の静的IPアドレスが割り当てられるため、多くの異なるユーザーが同じIPアドレスを使用して同じウェブサイトにアクセスしていることになります。このような場合、CAPTCHAは1つのIPアドレスからのアクセスが増加したことを検出し、Webサイトやサービスの不正利用を防止するために、CAPTCHA認証画面を常に表示させます。この問題は、負荷の少ないサーバーや、固定IPアドレスでIP制限付きのネットワークに接続することで解決できます。
CAPTCHAの仕組み
CAPTCHAは、ボットが識別できない要素を使用して、ユーザーが本当に人間であるかどうかをテストします。人間はあらゆる種類の素材(テキスト、画像など)を見て解釈することに慣れており、歪んだテキストや不鮮明な画像も普通に解釈できます。一方、ボットのようなコンピュータープログラムには、これができません。
多くのボットはランダムな文字を入力したり、画像を選択したりしようとしますが、これを突破できる可能性は非常に低いです。
しかし、高度なボットが機械学習によってテキストや画像を識別する精度が上がってきているため、それに対応するために、CAPTCHAもより複雑になってきています。
CAPTCHAの種類・例
CAPTCHAで採用されるチューリングテストにはさまざまな種類がありますが、今回は6つのCAPTCHA認証方式を抜粋して解説していきます。
文字認証CAPTCHA
文字認証は、CAPTCHAの代表的な認証方式です。意図的に、数字や文字を歪めたり、かすめたり、背景の模様と一体化させたりすることで、悪質なボットが判断できないようにしています。
CAPTCHAは、入力された情報が正しければ人間だと判断しますが、間違っていれば機械だと判断して、それ以上先に進ませないようにします。文字認証は、スパム対策として有効かつシンプルなCAPTCHAとして、現在世界中で広く採用されています。
画像認証CAPTCHA
画像認識のCAPTCHAでは、通常9個または16個の長方形の画像が表示されます。画像認識で使われる画像は、1枚の画像を分割して表示されたり、それぞれ異なる画像が表示されたりします。ユーザーは、動物、木、道路標識など、特定の対象物を含む画像を識別することで、CAPTCHAを解くことができます。
ぼやけた写真から特定の対象物を選択することは、コンピュータにとって困難な作業であり、高度な人工知能(AI)でさえも苦戦します。一方、人間はあらゆる文脈や状況で対象物を認識することに慣れているので、画像認証を突破するのはとても簡単です。
音声認証CAPTCHA
音声認証は、入力させる数字を音声で流し、人間であることを判定するCAPTCHA認証です。通常、音声の背景にはノイズがあり、AIなどからの不正なアクセスを防ぐ仕組みになっています。
先ほど紹介した画像認証だけでなく、音声認証テストも年々改良されています。音声認証は、視覚障害者にも利用しやすいというメリットがあります。
パズルまたは単語問題
パズルを使ったCAPTCHAは、チューリングテストの手法として広く利用されています。画面上で欠けているパズルのピースをドラッグしてはめ込むだけという簡単なものです。パズルのピースの配置は、誰が見ても明らかです。
また、単語の問題を解くことで認証できるCAPTCHAもあります。このCAPTCHAは、単語の種類やスペルなどの簡単な質問に答えるだけで、あなたが人間であることを証明するものです。しかし、この単語問題のCAPTCHAは、スパムボットやAIに検知される可能性が高い点や、全言語に対応していないというデメリットがあり、あまり普及していません。
ソーシャルログイン
LINEやFacebook、TwitterなどのSNSアカウントとパスワードを使って、Webサイトやサービスにログインする認証方法は、「ソーシャルログイン」と呼ばれています。
ソーシャルログインのメリットとして、2段階認証や多要素認証など、SNSが提供する強力なセキュリティの恩恵を受けることができる点が挙げられます。つまり、ユーザーのパスワードをWebサービス側で管理する必要がないため、不正ログインを狙ったアカウントリスト攻撃から守ることができます。
最新版CAPTCHA
最新版のCAPTCHAでは、上記で説明したような課題をユーザーに課すことなく、ボットと人間を自動的に判別できます。
この最新版CAPTCHAは、ページ上でのユーザーの動きや行動をAIがスコアとして算出し、ボットか人間かを判定します。スコアが一定数を超えた場合は、2段階認証の承認が必要になるため、正確にスパムボットを撃退できる仕組みになっています。
CAPTCHAのデメリット
CAPTCHAにはさまざまな種類があることはご理解いただけたと思いますが、少なからずCAPTCHAには次のような欠点もあります。
- 視覚障害者は利用できない:CAPTCHA認証には、視覚に頼らざるを得ないというデメリットもあります。つまり、目の不自由な方だけでなく、重度の視覚障がいのある方でも、CAPTCHAを解くことは困難です。
- 100%ボットを弾けるわけではない:CAPTCHAはボットを完全に拒否するものではないので、ボット対策としてCAPTCHAに頼ることは避けましょう。
- 難易度が高い場合がある:CAPTCHA認証の難易度や発生確率はユーザーごとに異なり、Googleが決定します。ログイン時に何度もCAPTCHA認証が求められる場合、Googleはあなたが人間ではなくボットであると推測している可能性が高いです。CAPTCHAの認証ができない場合は、以下を試してみてください。
- GmailまたはGoogleを使用している場合、Googleアカウントにログインし、同じブラウザからWebサイトやサービスに再度ログインする。
- CAPTCHAが何度も表示されることを避けるために、キャッシュクリアやトラッキングcookieの削除を行わない。
- CAPTCHA認証をする際に、ブラウザの「シークレットモード」や「プライベートブラウジングモード」を使用しない。
CAPTCHAの使用を減らす方法
「私はロボットではありません」という文字が常に表示されるのを望まないユーザーは多いかもしれません。幸いなことに、CAPTCHA認証を避ける方法があります。それは、お使いのブラウザに拡張機能を追加することです。
- Firefoxの場合:画面右上のハンバーガーメニューを選択し、「アドオンとテーマ」を選びます。「アドオンを探す」の検索窓で、「Captcha」と入力し、適切なアドオンを探しましょう。
- Microsoft Edgeの場合:画面右上の「…」メニューを開きます。そこで、「拡張機能」を選択し、「Microsoft Edge の拡張機能を検出する」をクリックします。「Captcha」と検索してお好みのアドオンを探しましょう。
- Google Chromeの場合:Chromeウェブストアを開き、検索窓に「Captcha」と入れることで、適切なアドオンを検索できます。
CAPTCHA・reCAPTCHAは悪意のあるボットを止めるのに有効か?
結論から言いますと、CAPTCHAやreCAPTCHAは、悪質なボットを撃退するのに100%有効というわけではありません。
ボットの中には、CAPTCHA認証を回避できるものがあります。ボットを完全に阻止したい場合は、CAPTCHAの利用だけでなく、ボットによる攻撃を防ぐための対策が必要です。
悪い目的で使われるボットは、マルウェアを送り込むものもありますが、NordVPNの脅威対策Pro機能を使うことで、マルウェアを未然に防御することができます。NordVPNのプラス・コンプリートプランに搭載されている脅威対策Proを有効にして、マルウェアをホストする悪質なウェブサイトへのアクセスを回避し、マルウェアに感染したファイルを削除して、お使いのデバイスを保護しましょう。ベーシックプランには脅威対策が搭載されています。