僕はこうしてSnapChatのCAPTCHA代替機能を30分で破りました
今朝目が覚めたら、サービス内に徐々に浸透してきたsnapのスパムを減らすためSnapchatが新認証システムを導入した話が記事になっていました。
読まなかった人のためにひと言にまとめると、画像を沢山表示して、その中からSnapchatのロゴのオバケ入りの画像を選んでもらって、入力したのがボットじゃなく人間であることを認証する、というの。基本CAPTCHAなんだけど、もっと面倒臭くない、というやつです。
これの問題はSnapchatのオバケが結構独特なこと。もうテンプレートって呼んでいいぐらい特徴があるんですね。「テンプレートマッチング(画像照合)」って言われてもピンとこないかもしれないけど、Snapchatが人間認証でやらせてる作業がまさにこれでして、これってコンピュータビジョンの中でも最も簡単な部類のタスクなんですよ。
入力してるのが人間であることを確かめる手法としては本当に最悪です。コンピュータに任せてもアッサリ解けちゃうんですね。
そこで記事を読んでから早速、これをコンピュータにやらせるコードを30分ぐらいかけて書いてみました。
問題を解く方法は沢山あります。たぶん一番いいのはHoGだし、カラーしきい値処理とPCAでブロブを認識する方法でもいいんですが、 それだともっと時間がかかるし、僕は怠け者で面倒臭いことはしたくない性質(=効率がいい)なので、結局、OpenCVを使って、簡単なしきい値処理、SURFキーポイント、FLANNでマッチングをし、テスト甩画像の複数のキーポイント(特徴点) が1点も合致しないことを確かめるユニークネス・テストを行うことにしました。
そこでまず上のスライドから個々の画像を抽出して、各画像とオバケのテンプレートのしきい値処理をし、色が合致する物体が探せるようにしてみました。次にテスト甩画像とテンプレートからSURFで特徴点とディスクリプタを抽出し、FLANNでマッチングします。距離メトリックを活用して「最も良く」合致するものだけ使い、あとはマッチしたものを全部チェックして、テンプレート内の1つの特徴がテスト甩画像の大半の特徴と一致しないことを確かめながらユニークネスを確認していきます。ユニークネスが十分あって、特徴がある程度見つかれば、それはオバケ、というわけです。
するとなんの苦もなくアッサリと、僕のコードで上のサンプルから「オバケ探し」ができたんです、的中率100%で。完璧だなんて言ってませんよ。僕が言いたいのは単に、こうして1時間もかけずにコンピュータを調教して人間認証システムのサンプル突破できるようじゃ、全くその用を果たしてないってこと。コンピュータビジョンを使えばやり方は何通りでもあるし、どれも高速で有効です。コンピュータ相手に数当て賭博やるようなものですね。Snapchatの認証システム終わってるなーと思いました。
本稿は筆者ブログ初出の原稿を許可を得て再掲しました。
筆者のスティーブン・ヒックソン(Steven Hickson)さんはテック系ブロガーで、現在はジョージア工科大学大学院に研究員として在学中です。クレムソン大学コンピュータ工学課程を主席で卒業後、米国防省で働き、コンピュータビジョン、ロボティクス、エンベッデドシステムの博士号取得のため復学しました。彼のオープンソースライブラリは世界中で使われ、「Linux User and Developer Magazine」、raspberrypi.org、Hackaday、Lifehackerなどでも紹介されています。余暇はロッククライミング、ランダムなコード書き、『マジック:ザ・ギャザリング』で遊ぶのが趣味。
Steven Hickson(原文/satomi)
- iOS 7ユーザー限定で50GBまで容量拡大できちゃうの? 超大容量クラウドストレージ「Box」
- 時価5万ドル(約512万円)、「@N」のTwitterアカウントが乗っ取られた理由
- iOS版Chromeアプリがアップデート。通信データ圧縮機能を新搭載!
- Microsoftの「SkyDrive」は、もうすぐ「OneDrive」へ変わります
- フォロワーが無限に増えるツイッター夢のバグ(動画)
- 心拍数と動きに応じてプレイリストを自動カスタマイズするというSpotifyのアイディア
- 気がつけばVineが1周年、お腹いっぱいお楽しみ下さい(動画)
- 【予言】Facebookユーザー数は2017年までに80%減少する…疫病の伝播・収束モデルからの予測
- 発言に注目! SpotifyがSocial Media Week Tokyoの基調講演に決定!
- マルチデバイス対応 cheero Power Plus 2 10400mAh (シルバー) 大容量モバイルバッテリー
- cheero mart
- cheero Power Plus DANBOARD version -mini- 6000mAh マルチデバイス対応 モバイルバッテリー
- cheero
- 【今日の1枚】これなーんだ?
- ド派手マッピングもきゃりーさんとシンクロ! スマホ超参加型イベント「FULL CONTROL TOKYO」レポート
- 音楽をより身近に、スマートに。ライティングソケットに設置できる無線スピーカー
- これは凄い!彫刻家も顔負けの3Dプリンター
- スティーブ・ジョブズが憑依。信者必見のアシュトン・カッチャー神ついに降臨
- イランがサルの宇宙飛行に成功
- 邪気眼が疼いちゃうあなたへ。スマホアプリ「俺は厨二病」
- YouTubeに有料コンテンツが登場する日も近いかも...
- 史上最悪のスモッグが中国から来襲...? 自分でできる対策は?
- R.I.P. フランス政府が単語「ハッシュタグ」の利用を禁止
関連サイト
-
一瞬の風になれ! 10秒間だけ写真を共有するアプリ「Snapchat」
2012年11月15日 15:00
-
Facebook、Google+、Twitter、Tumblrから自分に合うものを選ぶためのガイド
2013年08月17日 10:00
-
うざったいあの文字列ともお別れです。今後の個人認証は「ミニゲーム」になるかも
2012年05月25日 13:40
-
人はなぜ恐怖を求めるのか? ホラー好きに隠れた心理
2013年09月30日 00:00
-
ヒントはヤギにあり!? これからの時代のビジネスロールモデル
2013年11月27日 00:00
-
「前髪あるのとないの、どっちがいい?」男性にとって心底面倒な女ベスト3
2013年10月25日 00:00
-
ナチュラル・ヘッドビューティ大図鑑 【頭皮ケア】女子力UP&美髪を作る!ナチュラル・ヘアケアアイテム
2010年08月16日 00:00
-
Twitterが「ログイン認証」に対応! んでログイン認証って何?【やり方と解説】
2013年08月07日 14:40
-
あのスティングもオバケに出会ったりする、イギリスの不動産事情とは?
2012年06月15日 14:00
-
間違って別のコードを抜いてしまって絶望…とならないためのコードラベル
2012年11月02日 08:00