Google reCaptcha(「私はロボットではありません」のチェック)が自動解析・機械的に突破されましたという話。 (ThreatPost)


元記事: https://threatpost.com/googles-recaptcha-cracked-again/128690/

作者のサイト: http://uncaptcha.cs.umd.edu/
論文: http://uncaptcha.cs.umd.edu/papers/uncaptcha_woot17.pdf
ツール: https://github.com/ecthros/uncaptcha
プレゼンテーション資料: https://drive.google.com/file/d/0BwuogdPv-7DxMDA3N3l1X09nV1U/view
デモ動画(お薦め): https://www.youtube.com/watch?v=wXrTQzskJLE

  • アメリカにあるメリーランド大学の調査グループが自動でクラックする方法を考案
  • クラックは85%の正確性をもつ

ということは2回やれば170%1-(1-0.85)^2=97.75%の確立で成功するということになりますね。わ~い。

#2018/06/04 いただいたコメントに基づき修正しました。ありがとうございました。

 

  • ツールはunCaptchaという名前
  • 音声での確認を利用する

CAPTCHAの語源はCompletely Automated Public Turing test to tell Computers and Humans Apart の都合の良い頭文字をとってつけられたコンピューターと機械を分類するためのテストということ。GoogleがReCaptchaという名前で作り直し、無料サービスで提供。これマメな。

今回のreCaptchaを破る方法は、画像認識ではなく目の見えない人向けの音声による確認のオプションを利用する。


ツール内での手順

  • ブラウザオートメーションによりreCaptchaの音声認識オプションを選択する
    (これにより音声ファイルがダウンロードされる)
  • 複数の無料のオンライン音声スピーチサービスを使う
  • それぞれの結果から1つの文字列を作る("ensemble")
  • 1文字ずつ、ランダムな時間を空けながらフォームに入力し、Verifyボタンをクリックする(これもブラウザオートメーション)
 
 
ブラウザオートメーションという部分はselenium、音声ファイルの扱いはffmpeg、周波数解析はsoxモジュールなんかを使用しているようだ。音声認識(スピーチ?)サービスはGoogleやBing、IBMなど色々駆使している模様。コードを見るとかなり汚くて生々しくてニヤニヤしてしまう。やってる時、楽しかっただろうなぁ。。。
 

技術的にはそれほど難解なことをしているわけではない(面倒ではあるとは思う)。これより前にも破られたこともあったが同様に音声を利用したものだったらしい。
Blackhat 2016 "I'm not a human: Breaking the Google reCAPTCHA"
https://www.blackhat.com/docs/asia-16/materials/asia-16-Sivakorn-Im-Not-a-Human-Breaking-the-Google-reCAPTCHA-wp.pdf

 

そいうえばパズル認証とかあったなーと思い探してみたら余裕で突破されているというね。いまどうしてるんだろう・・・。
 

CAPYパズルキャプチャ

https://www.capy.me/jp/products/puzzle_captcha/

Vpassのパズル認証を突破する

http://ydkk.hateblo.jp/entry/2017/08/12/044838

IVSで優勝したというパズル型CAPTCHA Capyを突破してみた

http://ydkk.hateblo.jp/entry/2017/08/12/044838