やじうまPC Watch

「私はボットではありません」をGoogleの音声認識技術で破るボット

 入力フォームでボットによるスパムメッセージ投稿を防ぐためのGoogleの「reCAPTCHA」は、さまざまなサイトで利用されているメジャーな技術だ。おそらく多くのユーザーは、「車の写真をクリックしてください」、「信号機の写真をクリックしてください」を利用していると思うが、reCAPTCHAには流れてきた英語の音声を聞いて、それをテキストで入力して認証する仕組みもある。

 ところが皮肉なことに、Googleは音声をテキストに変換する「Speech to Text API」も提供していて、このAPIを利用して85%の確率でreCAPTCHAの音声認証を自動で破るボット「unCaptcha」が有志によって2017年4月に開発されてしまう。reCAPTCHAはその後v2にアップグレードされるも、unCaptchaも2にバージョンアップし、90%という確率でreCAPTCHA v2を破る。つまり、Googleは自分自身が開発した技術によって、自分自身が提供している技術を破ってしまったのだ。

 reCAPTCHAは現在、v3という最新版を提供しているのだが、音声認証の仕組み自体は変わっておらず、unCaptchaが利用できてしまう状態なのは変わらない。そして今回登場したのが、91%の確率を実現したという「unCaptcha3」。基本的にunCaptcha2をベースとしているが、オーディオダウンロードオプションが削除されたほか、マウスの動きをランダム化することで、より高い確率でreCAPTCHAを破れるようになった。

 ちなみにunCaptcha3の開発と検証はUbuntu 18.04で行なわれており、利用にはaplay、chromium-browser、xclip、ffmpeg、curlなどが必要。また、音声によるreCAPTCHA認証にはどうやらカウンターがあるようで、あまり頻繁にやりすぎるとブロックされてしまう可能性もあるという(本物の人間でも、Googleログインしていないと同様にブロックされる)。