2011-09-22

reCAPTCHAはちゃんとした英単語に「なってない」方だけを正確に入力すれば通る

理由は分かるよね?reCAPTCHAの謳っている文句的にこれはまずくない?

要はreCAPTCHAでは二つの単語プログラムで生成された単語OCRで読み取れなかった単語、が提示されて、ユーザはそれを読み取ることを求められる。しかし、この際正確に入力するのはプログラムで生成された単語のみで良い。なぜなら、OCRで読み取れなかった単語には答えが無いか適当入力してもプログラムからは分からないので。reCAPTCHAの問題はその二つの単語が容易に区別できてしまうこと。なぜ区別が付くかというと、プログラムで生成した単語乱数で生成した無意味文字列なのに対して、OCRで読み取れなかった単語はきちんとした英単語から。その二つを区別するコストが二つの単語を読み取る手間より低ければ、reCAPTCHAのもう一つの目的である人力OCRは成立しなくなってしまう。

この問題に対処するには、プログラムで生成する単語無意味文字列ではなく、辞書から引っ張ってきたものにすれば良い。ただ、ノイズ処理のかけ方からその二つの単語の区別は容易につくような気もする。こういうの論文ネタにならないかしら。

公式実働サンプル

  • つそういう脆弱性をわざと作り困ったちゃんを裏でBANしている可能性 つまりハニーポットでは?というのはうかがった見方だろうか

  • reCAPTCHAはこういうこともできますよって提案するのを目的に作ったもので 実際に役に立たなくてもいいからそうなってるんじゃないの?

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん