ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

CAPTCHAはあと何年「人間」と「AI」を区別できるのか?その仕組みと限界、そして未来

Google Chromeでサイトにアクセスしようとした瞬間、「あなたはロボットではありませんか?」という確認ポップアップが表示され、イライラした経験は誰にでもあるでしょう。何度も繰り返し表示されれば、なおさら馬鹿げた質問に思えてきます。これがCAPTCHA(キャプチャ)です。ブラウザが、アクセスしてきたのが人間なのか、それとも機械的なボットなのかを判別するためのチャレンジ・レスポンス型テストです。CAPTCHAは、スパムボットをインターネットから締め出し、不正利用を防ぐための一般的な保護手段となりました。しかし近年、CAPTCHAは拡張を重ね、いわゆる「応答チャレンジ」に集中しなければならない面倒な作業へと変貌を遂げています。なぜブラウザは「私はロボットではありません」の確認を求めてくるのでしょうか?そして、どうやって時間を浪費する厄介な試練へと変わってしまったのでしょうか?スパムボット除去ツールとして始まったものが、どのように人間と機械の熾烈な競争へと発展していったのかを見ていきましょう。

CAPTCHAとは何か?

CAPTCHAは「Completely Automated Public Turing Test(完全自動化された公開チューリングテスト)」の略称です。2000年代前半頃に、人間がマシンやスパムボットではなく、正当なユーザーであることを証明するためのテストとして開発されました。CAPTCHAの発明者を誰とするかは別の議論がありますが、最も初期のバージョンは1997年にさかのぼります。最初に使われた頃のCAPTCHAは、歪んだ文字列をテキスト入力することでユーザーの「人間性」を証明させるものでした。文字列によっては、同じように歪んだ形式で書かれた数字が組み合わされることもありました。これらの文字は隙間なく配置され、ログインのたびにコードが変更される仕組みでした。これは、ほぼ無限に存在する歪んだ文字列を解読するには常に人間の知能が必要であり、コンピュータのアルゴリズムでは歪んだ文字列を検出できないからです。このため、CAPTCHAは多くのウェブサービスやメールサービスプロバイダーに即座に採用されました。

しかし、その後数年のうちに、CAPTCHAは複雑化していきました。

GoogleのreCAPTCHA:元祖テストの複雑なアップグレード

2007年、GoogleはreCAPTCHAというプログラムを開発チームから買収し、Google ScholarやGoogle Booksで大規模に活用し始めました。しかし、当初の目的とは裏腹に、この最新形態のCAPTCHAはGoogleユーザーにとって頭痛の種となりました。機械学習の研究が進むにつれ、計算システムとそのアルゴリズムは複雑な問題を解く能力を高めていきました。その結果、従来の文字列認識はボットやマシンにとって簡単すぎるものになってしまったのです。そこでGoogleは文字をより歪ませ、人間の目にも判別しにくいものへと変更しました。ここからこそ、人間と機械の知能をめぐる本当の競争が始まり、やがてreCAPTCHAはGoogleユーザーにとっての大きなストレス源となっていったのです。Googleプラットフォームや検索にアクセスしているのがボットではないことを確認するため、Googleは文字列をさらに難解にしていきました。

画像認識の導入:Googleの「No CAPTCHA reCAPTCHA」

2014年、GoogleはreCAPTCHA買収からかなり時間が経ってから、文字列テストがユーザーに与えていた不快感に対処することを決めました。加えて、この数年の間に、より賢いマシンを作ろうとする研究者たちが再びreCAPTCHAの応答チャレンジ理解能力を上回っていたのです。実験テストにおいて、Googleの研究者たちは、どれほど複雑で煩わしいポップアップを表示しても、機械学習アルゴリズムは99%以上の正答率を達成する一方、私たち人間はわずか33%しか正解できなかったことを突き止めました。変革の時が来たのです。

Googleはユーザーの不満を取り除くことにしました。新しい「No CAPTCHA reCAPTCHA」では、チェックボックスをクリックするだけでテストを通過できるようになりました。今回はGoogleがAPI技術を大きく活用し、ユーザーの行動特性をもとに人間かロボットかを判定する方式を採用しました。新しいreCAPTCHAは、ユーザーの検索履歴だけでなく、マウスカーソルの動きまで分析します。ボットにとっては、特定のCAPTCHAテストのコードを解析すると、仮想のチェックボックスは単なる画像として認識され、クリック操作をエミュレートできないためです。しかし、ここでも落とし穴があります。もしボットがJavaScriptを読めるなら、それを容易にエミュレートでき、マウスの動きの追跡も突破されてしまうのです。

では、この問題をどう解決するのか?また、普段の検索傾向と異なる検索をした場合はどうなるのでしょうか?

その場合、次のテストへようこそです。Googleの新しいreCAPTCHAは、一連の「視力検査」のような課題を出題し、あなたが人間かロボットかを見極めます。つまり、参照されない検索や不審な検索を行うと、Googleは大量の画像の中から特定の画像を選択するよう求めてきます。信号機、車、公園、道路標識などの画像を選ばされた経験は、誰もが一度はあるはずです。それこそがNo CAPTCHA reCAPTCHAなのです。

これは現在最も新しく、最も広く使われているCAPTCHAのバージョンで、GoogleだけでなくTwitter、Facebook、Craigslistといったプラットフォームでも、スパムやソーシャルメディアプロフィールの不正利用を防ぐ人間とAIの識別手段として採用されています。しかし再び、このバージョンの画像は人間の目にはよりぼやけており、パズルの難易度が上がり、以前のreCAPTCHAと同じ道をたどりつつあります。

でも、なぜなのでしょうか?

なぜCAPTCHAのパズルはこんなに難しいのか?

CAPTCHAは、もともとボットやマシンが人間のユーザーになりすましてデータに不正アクセスするのを防ぐために始まりました。しかし、機械学習や人工知能に関する研究と実験が大きく進み、成功を収めるにつれ、私たちははるかに複雑な計算を解けるマシンを作り出し、CAPTCHAは朝飯前の課題になってしまいました。科学はマシンにあまりにも広範な能力を与えたため、今やソフトウェアやボットにとって難しいことを作ろうとすれば、それは人間にとってさらに難しくなってしまうのです。

CAPTCHAが破られつつあるのは驚くべきことか?

決してそんなことはありません。私たちは実用的な量子コンピュータを作り上げました。金融分析、ビジネス意思決定、医療科学に関する何百ものパズルや計算問題を解決してきました。生活を便利にし、より複雑な研究分野を支援するために、膨大な数のマシンベースのアプリケーションやツールを活用してきました。そしてその過程で、タスクの速度と効率を高めるために、マシンに独自の知能を与えてきたのです。私たちの生活がAIと機械学習にこれほど依存している以上、それが私たちを追い越すのは時間の問題でした。

CAPTCHAはどこまで進化するのか?

研究者たちがこの応答チャレンジの仕組みに取り組んでいる限り、これはまだ始まりにすぎません。現在のCAPTCHAツールをアップグレードし、応答チャレンジテストの実施方法を変えるためのさまざまな試みが行われています。2017年には、PayPalが新しいタイプのCAPTCHA技術について特許を取得しました。この方式では、人間性を証明するためにユーザーに出題されるパズルや質問が、民族性、居住地、性別によって異なるというものです。同様に、Amazon TechnologiesもCAPTCHAパズルのスタイルについて特許を取得しています。こちらは、錯視や典型的な論理パズルなど、ユーザーにとって馴染みのない問題を解かせるというものです。ここでAmazonはパズルの常識を逆転させました。Amazon Technologiesによれば、ほとんどの人間はこうした問題に誤答する一方、現代のAIはその能力ゆえに正解してしまうとのこと。つまり、間違った回答をした方が人間のユーザーだと判断するという発想です。その他にも、盤面パズルのような画像を解いて人間性を証明するゲーム型パズルCAPTCHAなどの特許があります。これらはCAPTCHAを更新する方向へ進みつつある初期のアイデアの一例です。

しかし、本当に効果があるのか?

多くの点で、効果は疑問です。第一に、機械学習が文字通り人類進化の次のステップであるこの「宇宙時代」の世代において、破られないCAPTCHAは存在し得ません。第二に、これらのアイデアは人間にとって複雑すぎます。文化的に多様な質問にすべての人が常に正しく答えられると期待するなら、それは間違いです。人々は民族、言語、性格において非常に大きな差があり、文化的背景に基づいた如此大規模な応答チャレンジのセットを開発することはほぼ不可能です。さらに、インターネットはIQ、年齢、知能レベルに関係なく、誰もがどこからでもアクセスできるものです。ウェブページを通過するためにボードゲームのパズルを解けると、あらゆる年齢のすべての人間が期待できるわけがありません。おそらく研究者たちは、マシンの干渉への耐性を維持しようとするあまり、人間であるとはどういうことかを忘れ、最近の開発からその要素を切り捨ててしまったのでしょう。

CAPTCHAをより信頼できるものにするには?

これは、人間にとってより簡単な仕組みを考案する前に、多大な議論と研究が必要なテーマです。ただ、AIボットには模倣が不可能な人間の行動の側面を探す必要があります。より注力すべきは、ウェブページ上の「アクション」を検知するCAPTCHAツールの開発です。Googleは最近、reCAPTCHA v3と呼ばれる第3版を稼働させました。Googleの新しい応答チャレンジテストは「アダプティブ・リスク分析」と呼ばれる手法を使用しており、ユーザーにいかなるテストも課さず、チェックボックスのクリックも求めません。ユーザーにとって完全にフリクションフリーで、ウェブページへ直接アクセスできます。スパム濫用を防ぐためのボット検出を実行するため、Googleの新しいreCAPTCHAは、リスク分析アルゴリズムに基づいてGoogleが付与するスコアを通じて、サイトオーナーが訪問者がボットかどうかを判断できるようにします。このスコアにより、サイトへのトラフィックが不審かどうかが検出されます。オーナーはその後、不審なユーザーに応答テストを提示し、reCAPTCHAの判定を再確認できます。Googleは新しいアルゴリズムがどのようにスコアを割り当てるのかを明かしてはいませんが、これまでのテストによるユーザーの不満と困難が考慮された、トラフィックフィルタリングの歓迎すべき手段と言えるでしょう。

まとめ

Googleの新しいreCAPTCHA v3が、ウェブページへのボットトラフィックを回避する最良かつ最もユーザーフレンドリーな方法だと言うには、まだ早すぎます。さらに、AIと機械学習の研究が進むペースを考えると、新しいCAPTCHA技術にどんな影響が及ぶかを予測することはできません。

人々がマシンの活動の監視よりも機械学習に賭けている以上、これらのCAPTCHA技術の新特許の多くは、近い将来実現不可能になるかもしれません。現時点で、CAPTCHAはウェブ上で最も広く使われているボット検出用の応答チャレンジテストであり続けています。しかし、この状況を今後も長く維持するためには、私たちが依存するスマートマシンに、私たちのすべてと、私たちの遺産を定義するすべてを託してしまう前に、AIと人間を区別する新たな方法が発見されることが不可欠なのです。

  1. Windows PCでGoogleアシスタントを使う方法|Pythonとコマンドラインによる完全セットアップガイド

    最近のAndroidスマートフォンのほとんどにはGoogleアシスタントが標準搭載されていますが、残念ながらデスクトップ向けの公式バージョンは現在提供されていません。しかし、この記事ではWindowsパソコンでGoogleアシスタントを動作させる方法を詳しくご紹介します。手順はやや多めですが、一度セットアップしてしまえば快適に使えます。執筆時点では、これから行う作業に専用のGUIは存在せず、インストールは主にコマンドライン操作が中心になります。ただし、セットアップが完了すれば、Androidデバイスに話しかけるのと同じ感覚で、パソコンのマイクを通じてGoogleアシスタントを操作できるようにな

  2. Windows 10/11にGoogleマップをダウンロードして使う方法【Chrome・Androidエミュレータ対応】

    GPSナビゲーションは驚くほどのスピードで私たちの生活に浸透し、知らない街や初めて訪れる場所でも、地図アプリがあれば迷うことはほとんどなくなりました。しかし、Windows 10/11のPCでGoogleマップを使いたいのに、ダウンロード方法がわからないという方も少なくありません。GPS地図といえば、まず思い浮かぶのがGoogleマップです。2000年代にはGoogle EarthがPCの定番でしたが、現在のスマートフォンやタブレットは、Googleマップを他のアプリと連携させて効率的に活用できるほど高性能になっています。Googleは移動をより快適にするため、場所を特定するGPSユーティリテ