Googleの開発者向けreCAPTCHAのWebページ

Webサービスへのボットからの入力を回避するためにイメージで表示させた数字やアルファベットを入力させるreCAPTCHA。GoogleがAPIを通じたサービスとして提供しており、Webサイト運営者は自身のサービスに導入することで"人"が入力したものしか受け付けないようにすることができるものだ。im not a robot(私はロボットではありません)にチェックを入れた経験のある人も多いだろう。開発者向けの公式サイトには、機械学習を用いて日々進化させていることも記してある。

しかし、同時にこのreCAPTCHAを突破する試みも多くの研究者により行われており、reCAPTCHAは盲信するものではないとテクノロジー分野を中心に筆を振るうLisa Vaas氏がSophosのnaked securityに寄稿している。2016年には研究者はGoogleが所有する大規模なイメージ検索データベースを使って、(言葉にマッチするイメージを探すのではなく)イメージにマッチする言葉を探すというアプローチを取り、特定の特徴を共有するreCAPTCHAセットの中からイメージを探すことを試み、これを突破している。BlackHat ASIA 2016のアーカイブにColumbia Univeristyの研究者たちの論文が保管してある(PDF/英文)。

また、2月にはGoogleの「ReCaptcha v2」をWeb上のどこであっても回避できるというEast-Ee Securityと名乗るセキュリティ研究者は、"論理的な脆弱性"と言われるものを発見したと主張(East-Ee Security氏のWebサイト)。音声によるReCaptchの突破をWeb上で紹介している。同氏のWebにはGoogleサイドの更新により、同一の手法は難しくなったことも後に掲載してある。

リサーチペーパー「unCaptcha: A Low-Resource Defeat of reCaptcha’s Audio Challenge」(英文/PDF)

その後メリーランド大学(University of Maryland)の研究者が、85%の成功率でオーディオチャレンジを解決する自動化システム"unCaptcha"を作成したと発表。unCaptchaは、フリーで公開されているオンラインの音声のテキスト変換エンジンと高度な音声マッピングテクニックを組み合わせ、最小限のリソースで大規模な攻撃をreCaptchaシステムにマウントできることを示していることになるという。詳細は、GitHubのコードと研究者のリサーチペーパー「unCaptcha: A Low-Resource Defeat of reCaptcha’s Audio Challenge」(メリーランド大学Webサイト内のunCaptchaのWebページ)に掲載してある。

Lisa Vaas氏はCAPTCHAチャレンジは、それしかない重要な技術というより、できる限りボットを鈍化させる障害としての役割と見た方がいいだろう。打破されたかどうかは重要ではないと指摘している。たしかに、人気Webサイトのように膨大なアクセスがある場合、これがあると無いでは大違いの結果を生む。しかしながら、ほかのセキュリティ分野と同様に新たな攻撃手法が発見されては、防御を行うという"イタチごっこ"の構造が変わることはなさそうだ。

対するGoogleは高度なリスク分析技術や機械学習を利用することでクリックを必要としないreCAPTCHAサービス「Invisible reCAPTCHA」を開発・公開しており、6月に同社公式ブログでは数百万人のユーザーが毎日ゼロクリックで通過していることを報告しているが、どのくらいのボットが通過しているかは明示していないと寄稿を締めている。