SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。── ソフトウエアによる自動的なログインを阻止する技術の一つ、reCAPTCHAを分析した専門家が、OCRとフィルターのコンビネーションを使うことによりマシン解読の高い成功率を達成している。これはロサンゼルスのセキュリティ専門家、ジョナサン・ウイルキンズが行ったもの。彼と電話インタビューがとれているので紹介する。 ウイルキンズ氏はマイクロソフト社在籍中に、HotmailやMySpaceなどのCAPTCHA技術を研究しており、今回の発表はそれらをさらに前進したもの。現在Google社が保有するreCAPTCHA技術を、OCR(Tesseract、OCRopusなど)、スペルチェッカー(Aspellなど)を使用して読みこみ、マシン解読ができない、という本来のCAPTTHAの目的を達成するにはどのような技術を使えばよいか、そのガイドラインを提示している。同時に、自らが達成したマシン解読の成功率を前提に、「reCAPTCHA技術がマシンによるログインを阻止するには十分と言えない」と結論づけている。 まず、CAPTCHA技術には不適当な技術として、ウイルキンズ氏は以下のものをあげている。(1) 文字の背景のノイズが、文字とはまったくかけ離れたもの。これは、背景のパターンを指摘することによって簡単に除去できる。(2) ノイズとなる線が、文字の線よりも細く、文字の線との分別が簡単なもの。これは、線の太さを指定して除去できる。(3) 文字の背景が色と、文字の色の違いだけに頼ったもの。これは、一定の部分の上下が黒か白かを指定することによって除去できる。(4) 文字列全部に、一律な簡単な歪みをかけたもの。これは、その歪みを逆さにかけることで文字列を元に戻せる。(5) 文字と文字の間に間隔があるもの。これは、文字を枠に収めることにより文字を指定して解読が簡単になる。(6) 辞書に掲載されている言葉を使ったもの。これは、スペルチェッカーや辞書ソフトウエアを使えば簡単に推測できるため。(7) 音声による補助がある場合は、音声認識ソフトウエアによる解読がより簡単になる。 以上の「使うべきでない」技術を前提に、彼が推薦する技術は以下の通りだ。(1) 一つ一つの文字に違った歪みをかけ、また、一つ一つの文字を違った方向に回転させる。(2) 数字よりもアルファベットがよい。(3) フォントは、サンセリフがよい。セリフの場合はC、Q、Jなどに特徴のある部分があるため、それをベースにして解読ができるため。 こうしたガイドランに基づいてreCAPTCHAを解析したところ、多くの弱点が見つかっている。 reCAPTCHAは、CAPTCHAのワードに、古い本や新聞の記事でOCRでは読めないためにデジタイズができないワードをペアにしたもので、ユーザがそれを解読すると同時に、書籍のデジタイズにも協力できる仕組みとなっている。書籍からとった文字をユーザは正確に解読する必要はなく、CAPTCHA部分の文字が解読できればエラーとしていない。また、(1) 一文字だけの間違いならば、エラーとしない。(2) 一文字だけなら省略しても、エラーとしない。と、エラー率が高くてもOKが出るだる。その上、(3) ノイズであるラインは水平なものだけ。(4) 辞書に掲載されているワードが使用されている。など、マシン解読が簡単になる技術だ。 そのため、200のサンプルのうち10件は、スクリプトで両方のワードを解読できる5%の成功率を達成している。また、同じ200のサンプルで、さらなる25件についてはどちらかのワードがマシン解読できている。つまり、実際の成功率はこれよりも高いことになる。 「1万台のボットネットを使用できる立場にある人が、それぞれのマシンで10スレッドを作動させ、たとえば0.01%の成功率だとして計算してみても、一日に86万4千件のスクリプトによるログインが行える」(ウイルキンズ氏)ことになるわけで、この少なくても5%の成功率は無視できる数字でないのが分かるだろう。 Google社は、去年の終わりにウイルキンズ氏の論文を受けて…【執筆:米国 笠原利香】