reCAPTCHA v3 をご紹介します。Bot の活動を阻止する新しい方法

本日は、ユーザーが操作することなくウェブサイトへの不正なトラフィックを検出できる最新の API、reCAPTCHA v3 についてご紹介します。確認用画像を表示するキャプチャとは異なり、reCAPTCHA v3 ではスコアが返されます。サイト所有者は、このスコアに基づいてウェブサイトに最適なアクションを選択できます。

スムーズなユーザー エクスペリエンス

ここ 10 年の間、reCAPTCHA のテクノロジーは常に進化を遂げてきました。reCAPTCHA v1 では、歪められた文字を読み取ってボックスに入力し、確認用画像のテストをパスすることがすべてのユーザーに求められていました。その後、ユーザー エクスペリエンスとセキュリティの両方を改善するために reCAPTCHA v2 が導入されました。reCAPTCHA v2 では、リクエストが人間によるものなのか、それとも bot によるものなのかを判別するために、他にも数多くの要素が使用されるようになりました。これにより、reCAPTCHA の確認用画像は、不正行為の検出においてメインの機能ではなく二次的な機能として利用されるようになり、ユーザーの約半数が 1 回のクリックでパスできるようになりました。そして今回、reCAPTCHA v3 により、人間と bot を判別する方法が根本的に変わります。reCAPTCHA v3 では、サイトに対するアクティビティがどの程度不審であるかを示すスコアが返され、確認用画像によってユーザーを妨げる必要がなくなります。バックグラウンドで適応型リスク分析が実行されるため、ユーザーにはスムーズなエクスペリエンスを提供しながら、不審なトラフィックがあった場合には通知を受け取れます。

「アクション」を使ったより正確な bot 検出

reCAPTCHA v3 では、「アクション」タグという新しいコンセプトが導入されています。このタグを使用することで、ユーザーの一連の操作における主要なステップを定義でき、コンテキストをふまえたリスク分析が reCAPTCHA によって実現します。reCAPTCHA v3 はユーザーの操作を妨げることがないため、複数のページに追加することをおすすめします。複数のページに追加することで、適応型リスク分析エンジンで複数のページにまたがるアクティビティを分析し、より正確に攻撃パターンを特定できるようになります。reCAPTCHA の管理コンソールでは、reCAPTCHA スコアの分布状況に関する全概要を確認でき、サイトの上位 10 件のアクションに関する統計情報も確認できます。これにより、どのページが bot の標的にされているかを正確に把握し、そのページへのトラフィックがどの程度不審なのかについても確認できます。

サイトに適した方法で bot に対処する

reCAPTCHA v3 のもう 1 つの大きな利点は、スパムや不正行為を防ぐ方法をウェブサイトに合わせて柔軟に選べるという点です。これまでの reCAPTCHA システムでは、多くの場合、いつ、どのようなキャプチャをユーザーに提示するかが決められており、限定的にしかウェブサイトのユーザー エクスペリエンスに関与できませんでした。reCAPTCHA v3 では、操作がどの程度不審であるかを示すスコアが返され、そのスコアを 3 つの方法で活用できます。1 つ目はしきい値を設定し、ユーザーをパスさせるか、さらに確認が必要かを判断する方法です。追加の確認手順としては 2 段階認証プロセスや電話での確認などを使用できます。2 つ目は、reCAPTCHA が利用できない要素(ユーザー プロファイルやトランザクション履歴など)とスコアを組み合わせる方法です。3 つ目は、不正行為に対抗するための機械学習モデルのトレーニングにおいて、reCAPTCHA のスコアを指標の 1 つとして活用する方法です。このように、新しいバージョンでは新たな方法を利用できます。さまざまなタイプのトラフィックに応じてアクションをカスタマイズすることで、ウェブサイトのニーズに基づいてサイトを bot から保護し、ユーザー エクスペリエンスを改善できます。

reCAPTCHA v3 を利用することで、ユーザーの操作を妨げることなくサイトを保護し、危険性の高い状況においてどのように対処すべきかをさらに正確に判断できます。今後も Google では、攻撃者に先んじて、インターネットを快適に、そして安全に使えるように取り組んでまいります。

reCAPTCHA v3 の利用に関心をお持ちの場合は、デベロッパー サイトで詳細をご確認ください。

即答せよ! このシステムは問題に答える顔を見て人間であることを確認する

ボットとの戦いに終りはない。しかし、誰もが密かに想像しているスカイネットのようなシナリオでは終わらないことを望みたい。ちなみに、今重要なのはスパムを退治することで、組織的殺人を防ぐことではない。それでも、機会はますます賢くなり、単純な顔認識だけでは人間の識別に十分ではないこともある。今や機械は顔を作ることもできる —— しかし、質問に答えるときの顔を作るのは不得意のようだ。

ジョージア工科大学の研究者らは、CAPTCHAタイプのシステムに取り組んでいる。そして人間がありとあらゆる質問にすばやく自信を持って答えられるのに対して、最先端の人工顔アニメーションと音声生成システムを使っても、それらしい返答をコンピューターが生成するのは難しいという事実に着目した。

人間とロボットを区別するテストにはこの種の方法を用いたものがいくつもある。文字や動物や道路標識を認識することから、なんらかのGoogleサービスにログイン中かどうかまで様々だ。しかし理想的には、人間には簡単でロボットには難しいものがいい。

人間には必ず顔がある。しかし、そこそこリアルな顔をレンダリングして修正するのはコンピューターにとって膨大な仕事だ(JPEGに騙されないシステムが前提)。

また、人間は単純な質問に答えるのも得意で、無意味な質問ならなおさらだ。しかしコンピューターは、「犬と猫どっちが好き?」といった質問にもっともらしく答えるのために無駄な時間を消費する。人間であるわれわれは、この質問に正しい答えがないことを知っていて、直ちに答えることができる。コンピューターは問題を理解するためにあらゆる物事を評価して、答えを再確認したうえで解答する顔をレンダリングしなくてはならない。それには時間がかかる。

ジョージア工科大学のErkam Uzun、Wenke Leeらがたどり着いた答えはこれだ。まずログインしようとしているひとをカメラに収め —— これはCAPTCHAでカメラを使うことが許されているとい前提で、それはそれで別の問題がある —— 質問を投げかける。もちろんそこには第二の錯乱要素 —— 歪んだ文字などなど —— もあるかもしれないが、重要なのはコンテンツで、質問は人間がすぐに答えられるくらい簡単であると同時にコンピューターには難題でなくてはならない。

テストの結果、人間は平均して1秒以内に解答したのに対して、最高水準のコンピューターは最短でも6秒、たいていはもっとかかった。これは、システムを破るには何が必要かを知っている強力顔レンダリングエンジンを、スパマーが持っていた場合の話だ。認証システムはタイミングだけではなく、声や顔をユーザーの記録と照らし合わせて確認している。

「私たちはアタッカーのやってきそうなことを知って問題に取り組んだ。画像の質を高めることは一つの可能性だが、まったく新しいゲームを作りたかった」とジョージア工科大学の研究者、Simon Pak Ho Chungは言った。

これは日頃ウェブで見かける単純なCAPTCHAよりずっと複雑なシステムだが、この研究によってソーシャルネットワークなどのログインのセキュリティーを高めることが期待できる。スパマーやハッカーたちが、日々新しいコンピューターや新しい機能を手に入れる今、われわれ人間も得られる限りの助力を必要としている。

[原文へ]

(翻訳:Nob Takahashi / facebook