はてながCAPTCHAの費用対効果で見落としていること
では、あまりにお粗末なものを飾っておくのは、ブランドイメージがあまりに悪くならないかい?という話でした。
このエントリでは、そもそものCAPTCHAという手法の良し悪しについては語っていませんでしたが、
本気で取り掛かられると破れるがスクリプトキディ避けにはなるという程度のものというのが
一般的な技術者的評価でしょう。
少し古いですが
変形文字「CAPTCHA」はもう無意味?というニュースが2008年02月27日に報じられていました。
このニュースの続報といいますか、影響と思われるニュースが出ています。
2008年2月はGoogle発のスパムメールが倍増、CAPTCHAが破られた可能性も~米MessegeLabs調べ
大手プロバイダーが相次いでGmailからのメールを遮断、Gmail発のスパムメールが急増
GoogleのCAPTCHAの強度
そもそもCAPTCHを破る需要は結構あるらしく、サイボウズラボの秋元さんが
CAPTCHA解読ソフトの価格表に見るCAPTCHAのレベル差という
非常に興味深い記事を書いていました。
この記事、2007年11月22日なのだけど、
表によれば、Googleやhotmail、YahooのCAPTCHAは、「たいへん読み取り困難」で、それらを50%以上正しく読み取れるようなツールの値段はついてない。たぶん現在研究中なのだろう。
とあり、強度が高いという評価だったのです。
CAPTCHAの強度については
はてなのCAPTCHAは簡単に破れる
で取り上げたように
ちょっと古い記事になりますが、Radium Software DevelopmentにCAPTCHAの強度に関する記事「
Breaking CAPTCHAs with NNs
」がありました。
CAPTCHAをプログラムで破ろうとする場合、プログラムは二つの過程を経ることになります。それは、文字の分割と認識です。
まずは、個別の文字を切り分けなくてはなりません。それから、その個々の文字が何であるかを判別するのです。
先の記事によると、CAPTCHA破りにおいて難しいのは分割のほうであり、認識はさほど難しくないとあります。
という話で、GoogleのCAPTCHAは機械にとって難しい「分割」に注視しており、
強度は高く、そして人には比較的読みやすいシンプルなものとなっていました。
CAPTCHAの質
CAPTCHAの質は2つの軸で評価されるのではないでしょうか。
- 機械にとって読み取りにくいこと(強度)
- 人間にとって読み取りやすいこと(対人でのストレスをどこまで軽減できるか)
人間にとっての読みやすい/読みにくいというものと、機械にとってのそれは違うものだから、
そこを利用して人間にとっては読みやすく、機械にとっては読みにくいものがよいわけです。
その点で、GoogleのCAPTCHAは評価が高い。
CAPTCHAに求められる役割
さて、CAPTCHAの役割は逆チューリングテストであって、機械による処理をさせないことにあります。
なぜ機械に処理させないかということになると、
などなど。
もっとも、逆チューリングテストに完璧なものはないことでしょう。
技術の進歩とともに、人間が持つ認識能力は機械によっても実現されてきました。
機械による大量処理を不効率にすることはできても、完全に機械処理を退けることはできないでしょう。
高木浩光氏が
CAPTCHAのレベルはblog主が選択できるようblogサービスが提供してはどうかで以下のように書いています。
このようなやり方は、「spamするならうちより他へ行ったほうがいいよ」戦略であり、サイト横断的な無差別spamには通用する話であっても、何らかの原因で、ピンポイント爆撃の標的として狙いを定められてしまった場合には、通用しない。
Googleは言うまでもなく、世界の頂点に君臨する超メジャーサイトであり、あらゆる目的でspam行為の標的として狙いを定められている。だから、「うちより他へ」戦略は通用しないわけで、世界で最も高度なCAPTCHAを採用する以外にないわけだ。
どんな簡易なCAPTCHAでもスクリプトキディ避けぐらいにはなりますが、狙いを定めて攻撃されたのならば
Googleといえども抜けられてしまうというこが今回実証された形になったわけですね。
逆チューリングテストはいつまで生き残るだろう?
ペンローズ卿の皇帝の新しい心
という本で述べられているのですが、要するにゲーテルの不完全性定理による「証明も反証もできない命題」で、
かつ、人間には証明可能な例を出すことで、人間の脳みそというのはチューリングマシン以上の何かだ、
ということを言っているのでした。(この説は現在係争中)
私は強いAI論寄りの立場なので、アルゴリズムが十分に発達すれば人間の脳みそをシミュレーションして
知能を、意識を作り出せると思っています。
これは逆に「証明も反証もできない命題」は人間にも答えが出せないということになる。
ペンローズ卿の例にはどこかにトリックが含まれているのではないかと思うわけです。
完全な逆チューリングテストというのはチューリングマシンで解けない(計算不可能)な問題を出す必要がある。
しかし、人間もチューリングマシンなのだとしたら、人間さえもことごとく逆チューリングテストを越えられない。
人間だけが答えられ、機械には決して答えられないという問題は論理的に存在しないことになりますから…。
人間がチューリング機械以上なのでなければ、
機械だけを完全にはじく方法論は存在しないと言えましょう。
(実際にそういう逆チューリングテストが存在したとして人間でも超えることが困難になるとは思うけども)
そうすると、人間に用意で機械に困難なことをテストとすることで、それが解決される未来までの間で
比較的効率よく機械をはじくという妥協点を利用するしかない。
では、そのための問題となると、人間にはハードとしてビルドインされた機能があるので
そういった「人間には得意なこと」を用いようというアイデアが浮かぶわけです。
例えば人間の顔の判別。人間は生物として必要性から同種である人間の表情を非常によく読み取れる
しかし、近年、デジカメで笑顔を検出するなど、
人間が持っている対人での顔判別・表情判別さえも機械で行えるようになってしまいました。
(
富士フイルム、顔検出技術をWebアプリに APIも公開)
こうした技術の進歩を見る限り、CAPTCHAも「あぁ、破られたか」と思うより仕方がない気もしますね。
投稿日時 : 2008年4月9日 12:50