インターネットをみているとCAPTCHAを目にすることが多々あります。
CAPTCHAというのは、↓こういうもので、アクセスしているのがロボットか人間かを判別するために用いられるテクニックです。
画像はアクセスの度に変化するため、仮に一度解読されたとしても、そのキーワードを用いてスパムアクセスを行うことは不可能です。
目的を果たすためにとても理にかなっているこのテクニック、実に多くの種類があり、良いものは一定の効果を発揮しますが、中には人間でも解読不可能なものも存在します。
上で挙げた例はかなりいい部類です。おそらく99%以上の人は読めるでしょう。
Ads by Google
さまざまなCAPTCHA画像
ではこれらはどうでしょうか?
1. 宇宙語
精神に異常をきたしそうです。先に進ませる気はあるのでしょうか?もはや何語かもわかりません。
2. ガリレオ
これもかなり挑戦的です。一握りの人しか解けません。少なくとも僕のアリさんほどの脳みそじゃ解けません。
ちなみにこれはロシアのサイトで使用されているものなのですが、もしかしてロシア人は数学の天才だらけなのかもしれません。
3. 記号
これは一番最初の”いい例”からさらに一歩進んだテクニックです。これらの記号はOCR(光学式文字読取装置)では読めないため、ロボットが判別することはほぼ不可能です。
4. 組み合わせ
これは文字と数値を組み合わせて、下段の数値順に文字を入力していくといもの。
OCRとちょっとプログラムを書けば解けてしまいそうな気がしますが。。
5. 矢印と図形1
これは矢印の順番に文字を入力するものです。下の例では”HELLO”が答えになります。
ちなみに、バックグラウンドに文字がたくさん入っているのは、自動判別を難しくするためです。矢印の方向や図形も変わるのでかなり有効だと思います。
6. 矢印と図形2
これも矢印の順番に文字を入力させるものです。矢印の方向や図形の形もかわります。
こちらも背景に"ノイズ"をいれて機械による読み込みを難しくしています。OCRとの果て無き戦いです。
7.謎の図形
図形を当てはめる手法もあります。恐らく真面目に解くと数学的なにかが必要なんでしょうけど、僕にはわかりません。
でもこれってセキュリティ的には弱いです。理由は回答パターンが限られているから。数打てば割と早く応えにたどり着きます。
8. ドラッグ&ドロップ
これは図形をドラッグ&ドロップさせる方法。”えんぴつ”を選んでドロップしろといっています。
これも回答パターンがたったの5つ。20%の確率で正解されてしまいます。ドラッグ&ドロップをプログラムで実行できるのであれば、なんの防波堤にもならないレベルです。
9. 差別 区別
”この中でHOTだと思う女性を3人選べ”。回答パターンの少なさから防波レベル極低です。
HOTの定義は人それぞれだから、答えはひとつじゃないだろ などなどと突っ込みどころは満載です。
10. かわいい
”この中からネコを選びなさい”というもの。かわいいけど、これも回答パターン少なすぎです。
まとめ
今回の記事はある投稿を目にしたことから始まりました。
僕はこうしてSnapChatのCAPTCHA代替機能を30分で破りました
彼曰く、「なめたCAPTCHAなんてすぐ見破れるぜ」ということなのですが、
僕は怠け者で面倒臭いことはしたくない性質(=効率がいい)なので、結局、OpenCVを使って、簡単なしきい値処理、SURFキーポイント、FLANNでマッチングをし、テスト甩画像の複数のキーポイント(特徴点) が1点も合致しないことを確かめるユニークネス・テストを行うことにしました
本文より引用
とのことです。とっても簡単ですね!! 僕は来世で解こうと思います。
まあこれは新手のブラックジョークだと思い込むことにして、
夢がないことを言ってしまうと、世に数多のCAPTCHAテクニックがありますが、スパムアクセス防止を目的とするなら、最初に紹介した方法をデファクトスタンダードにして、みんなそれを使えばいいんじゃないかと思ってしまいます。
こんなところで個性を出しても仕方がない。個性をだして目的を果たせないなら本末転倒です。
とわいえ、へんてこなCAPTCHAはネタとして面白いので、別に突破されてもかまわねーしという強者はどんどんやらかしてください。
Ads by Google