CAPTCHAがとうとう終焉か? ディープラーニングを使った汎用解読ツールが開発:わずか500個のサンプルで学習
英ランカスター大学と米ノースウェスト大学、北京大学の研究者からなるチームが、33種類の「CAPTCHA」認証を破るAIベースのツールを開発した。高速に解読でき、大量の学習データを必要とせず、WebマスターがCAPTCHAに手を加えてもすぐに適応できるという。
英ランカスター大学は2018年12月5日(英国時間)、同大学の研究者が参加する研究チームが、最も広く使われているWebサイトセキュリティシステムの1つ「CAPTCHA(キャプチャ)」を破る人工知能(AI)ベースのツールを開発したと発表した。
CAPTCHAを破るツールはこれまでも多数発表されているものの、今回のツールは大量の学習データを必要とせず、高速で、さらに汎用だという点に新規性がある。
研究チームが開発した新しいアルゴリズムはディープラーニングに基づいており、これまでで最も効果的なCAPTCHA解読ツールだと主張する。
alexa.comがランク付けしたアクセス数上位50のWebサイトのうち、32のサイトがCAPTCHAを使っている。研究では、32サイトから11サイトを選び、利用されている33種類のCAPTCHAを対象とした。WikipediaやMicrosoft、eBay、Baidu、Googleなどが対象となり、これら全てのCAPTCHAを解読できたという。
テキストベースのCAPTCHAでは、形をゆがめて読みにくくした文字や数字を、ある程度覆い隠すように描かれた直線や曲線などとともに提示することで、ユーザーと悪意ある自動コンピュータプログラムを区別する。人間の方が機械よりも簡単に、そうした文字や数字を判読できることを前提とした手法だ。
ランカスター大学と米ノースウェスト大学、北京大学のコンピュータサイエンティストが共同で開発したCAPTCHA解読ツールは、従来のCAPTCHA攻撃システムよりも大幅に解読精度が高く、従来の攻撃システムが通用しなかったバージョンのCAPTCHAを破ることができる。
効率も高く、検証の結果、GPUを搭載したデスクトップPC上で実行した場合、0.05秒以内にCAPTCHAを解読できた。
もはや数百万のサンプルを集める必要がない
研究チームは、モントリオール大学のIan J. Goodfellow氏らの研究チームが2014年に開発したGAN(Generative Adversarial Network:敵対的生成ネットワーク)と呼ばれるディープラーニング手法を用いて解読ツールを開発した。GANは教師なし学習向けのアルゴリズムであり、画像などを生成するネットワークと、それを認識するネットワークの2つの部分から成り立っている。
この手法の優位点は、実サイトのCAPTCHAを大量に集める代わりに、自動CAPTCHA生成プログラムを使って、本物のCAPTCHAと見分けがつかないトレーニング用CAPTCHAを大量に作成できることだ。このデータを使って解読ツールを迅速にトレーニングすることで解読ツールを素早く強化、検証できた。
研究者や攻撃者は、従来のように対象サイトのCAPTCHAを集めて手動で正しいつづりなどのタグを付け、解読ツールをトレーニングするために多大な労力やコストを払う必要がなくなる。これまでの一般的な手法では、攻撃プログラムを効果的にトレーニングするために必要な本物のCAPTCHAサンプルを数百万個も集める必要があったが、研究チームの手法では500個で済む。
さらに、従来の機械学習によるCAPTCHA解読ツールでは、ある特定のバリエーションのCAPTCHAに対してのみ有効だった。つまり、Webサイト側でCAPTCHAのセキュリティ機能を少し変更しただけで、役に立たなくなってしまう。これに対して、今回の解読ツールは、トレーニングの際、人がほとんど介在しないため、新しい、あるいは変更されたCAPTCHAスキーム向けに簡単に再構築できる。
ランカスター大学科学技術学部で上級講師を務めるZheng Wang氏は、次のように述べている。
「GANベースのアプローチを使って解読ツールを開発したのは、われわれのプロジェクトが初めてだ。われわれの取り組みは、現在のテキストベースのCAPTCHAスキームが、ディープラーニングを用いた手法に対して特に脆弱(ぜいじゃく)なことを示している」
研究チームは今後の対策として次のようなコメントを残している。
「ユーザーの使用パターンや、デバイスの位置、生体情報などを利用した多層的セキュリティ対策を取り入れ、CAPTCHAに代わる認証システムをWebサイトに検討すべきだ」
研究チームは新しいCAPTCHA解読ツールについてまとめた論文「Yet Another Text Captcha Solver: A Generative Adversarial Network Based Approach」を、2018年10月にカナダのトロントで開催されたACM Conference on Computer and Communications Security(CCS)2018で発表済みだ。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
CAPTCHA(Completely Automated Public Turing test to tell Computers and Humans Apart)とは
CAPTCHAとは、主にWebサービス上で、自動化されたプログラム(bot)によるサービスの不正利用を防ぐための仕組みを指す。チケット転売目的のbotが多過ぎる、ふるまい検知で遮断に成功
会員数1100万人のチケット販売サイト「e+(イープラス)」は買い占めボット対策を試みていたものの、正規ユーザーに負担が掛かったり、24時間対策を打てなかったりする課題に悩まされていた。アカマイ・テクノロジーズが提供する「Bot Manager Premier(BMP)」を導入したところ、悪質なbotを遮断でき、正規ユーザーからの問い合わせは1件もなかった。人工知能はどうやって「学ぶ」のか――教師あり学習、教師なし学習、強化学習
Pepperや自動運転車などの登場で、エンジニアではない一般の人にも身近になりつつある「ロボット」。ロボットには「人工知能/AI」を中心にさまざまなソフトウェア技術が使われている。本連載では、ソフトウェアとしてのロボットについて、基本的な用語からビジネスへの応用までを解説していく。今回は、人工知能つまりコンピュータが「機械学習」という技術を使って、どうやって学習していくのかについて具体例を交えて解説する。