web-dev-qa-db-ja.com

CAPTCHA画像を使用する真の代替策はありますか?

セキュリティはコストとリスクのバランスをとることであり、打ち負かすことは不可能ではありません。特に典型的なCAPTCHAの実装はそうではありませんが、他のシステムでは提供できないようなものを追加します。

私はしばらくの間これらのCAPTCHAと可能な代替について読み続けてきました...(次の質問に本当に答えない限り、他のサイト/回答を参照しないでください)。

私はまったく経験がないので、私にとって、この決定に関連するコストとリスクを見積もるのは困難です。CAPTCHA(私はJCaptchaまたはreCaptchaを考えています)を採用すべきですか、それとも他の手法の組み合わせで十分ですか?

登録フォームに記入する必要がありますが、ユーザーテーブルをゴミ箱でいっぱいにしたくありません。ハニーポットフィールドは簡単に実装できますが、回避するのは非常に簡単で、単純なセキュリティチェック(空の色は何ですか?)は自動攻撃に適していますが、15歳のユーザーは、ユーザーテーブルを破壊する単純な標的型攻撃を構築できます...フォームの入力にかかる時間をチェックするJavaScriptは安全ではなく、サーバーへの単純な投稿が壊れています。基本的に、典型的なCAPTCHAを除いて、少しスマートな標的型攻撃と比較して機能するものが見つからないので、トロールされません...したがって、本当の問題は、標的型攻撃でトロールされる危険性が非常に高いためです。ユーザーの10%をこれらのキャプチャで失うのではなく、ユーザーにそれほど負担をかけない代替案はありますか?

編集:回答をありがとうございました。それは確かに、アイデア、特にブルートフォース攻撃の回避に関するOWASPへのリンクを明確にするのに役立ちました(+1を取得しましたが、それ以降は受け入れませんでした)解決策のように思われませんでしたが、解決策を見つけるのに役立ちます。これまでのところ最良の回答だと思うので受け入れてもよいと思う場合は、サイトの仕組みを誤解している可能性があるので、そのようにコメントしてください)。

一方、Asirraは非常に楽しく簡単で、従来のCAPTCHAよりもはるかに優れているので、他のサービスよりもお勧めします。パズルはもっと楽しく、失敗しても、失敗するのは1回だけです...残念です。

Asirraはまだベータテスト中です。サービスとそのAPIの両方が不安定になる可能性があります。

最終編集:役立つと思われる場合に備えて、ユーザーがキャプチャに煩わされないようにするために私が取った手順は次のとおりですが、ボットから安全だと感じています。

  • ハニーポットフィールド(非常に簡単に実装できるため、非常に安全ではありませんが、コストはかかりません。)
  • メール確認リンク(またはOAuthアクセス)は常に追加する予定でした。検証されたユーザーのみがユーザーテーブルに移行され、残りは登録されたままになります。
  • 時間チェック:ajaxを介してロードされた署名付きのサーバータイムスタンプ。ユーザーが送信する前にフォームに入力するために少なくとも5秒かかる必要があります(パスワード)またはそれが破棄されます。
  • 登録後に確認ページ(リクエストがサーバーを最初に通過したことを確認するためのサーバー署名トークン付き)。確認メールが必要であることをユーザーに警告し、確認メールを送信するボタンがあります。 (この場合、データもDBに登録されます)

これは非常に熱心な攻撃者を止めることはしませんが、何も得られないように彼の攻撃を調整するために何時間も費やしたくなくて、私を悩ませることを望みます。

19
Daren

Googleは reCaptcha と呼ばれる新しい手法を考案しました。これは既存のソリューションよりもシンプルで信頼性が高いと報告されています。

これは、クリックするとメタデータをGoogleのサーバーに送信する単一のチェックボックスで構成され、独自のAIを使用して、クリックがスクリプト内から発生したのか、それとも人間によるものなのかを判断します。

enter image description here

詳細については、この ベンチャービートの記事 を参照してください。

9

箱の外で考える...

これはほとんどの場合に当てはまります。CAPTCHAのビジネス上の目的は、ページにアクセスする人が人間であることを識別することです。それが人間であることを知る必要がある根本的な理由は、自動化されたフォーム送信を防ぐことであり、それを防ぐ主な理由はブルートフォース攻撃を防ぐことです。

したがって、CAPTCHAの最終的な目的は、ほとんどの場合はブルートフォース攻撃を防ぐためのツールです。

Ifこれが、キャプチャを使用したい根本的な理由です。 CAPTCHAを使用する理由は他にもあり、これらの提案が適用される場合と適用されない場合があります。

とはいえ、ブルートフォース攻撃を防ぐためにCAPTCHAに代わるものがあります。 OWASP Webサイトには、各アプローチの長所と短所がいくつか記載されています

1。アカウントのロック

ブルートフォース攻撃をブロックする最も明白な方法は、定義された回数の不正なパスワード試行の後にアカウントをロックアウトすることです。アカウントのロックアウトは、1時間などの特定の期間続く場合があります。または、管理者が手動でロックを解除するまで、アカウントはロックされたままになる可能性があります。ただし、誰かが簡単にセキュリティ対策を悪用し、何百ものユーザーアカウントをロックアウトする可能性があるため、アカウントロックアウトが常に最良の解決策であるとは限りません。実際、一部のWebサイトでは非常に多くの攻撃が発生しており、顧客アカウントを常にロック解除しているため、ロックアウトポリシーを適用できません。

アカウントロックアウトの問題は次のとおりです。

  • 攻撃者は、多数のアカウントをロックアウトすることにより、サービス拒否(DoS)を引き起こす可能性があります。
  • 存在しないアカウントはロックアウトできないため、有効なアカウント名のみがロックされます。攻撃者は、この応答を使用して、エラー応答によっては、サイトからユーザー名を取得する可能性があります。
  • 攻撃者は、多くのアカウントをロックアウトし、ヘルプデスクにサポートコールを殺到させることにより、宛先変更を引き起こすことができます。
  • 攻撃者は、管理者がロックを解除してから数秒後でさえ、同じアカウントを継続的にロックアウトして、アカウントを事実上無効にすることができます。
  • アカウントロックアウトは、1時間に数個のパスワードのみを試行する遅い攻撃には効果がありません。
  • アカウントロックアウトは、多数のユーザー名に対して1つのパスワードを試行する攻撃に対しては効果がありません。
  • 攻撃者がユーザー名/パスワードのコンボリストを使用していて、最初の数回の試行で正しく推測した場合、アカウントロックアウトは効果がありません。
  • 管理者アカウントなどの強力なアカウントは、しばしばロックアウトポリシーをバイパスしますが、これらは攻撃するのに最も望ましいアカウントです。一部のシステムは、ネットワークベースのログインでのみ管理者アカウントをロックアウトします。
  • アカウントをロックアウトしても、攻撃が継続し、貴重な人的リソースとコンピュータリソースを消費する可能性があります。

2。パスワードをチェックするときにランダムな一時停止を挿入します。

数秒の一時停止を追加しても、ブルートフォース攻撃を大幅に遅らせることができますが、ほとんどの正当なユーザーがアカウントにログインするときに気になりません。

3。複数のログインに失敗したIPアドレスをロックアウトする

4。失敗したパスワードに対して予測可能な動作を使用しないようにWebサイトを設計します。


これは:

登録フォームに記入する必要がありますが、ユーザーテーブルにゴミを入れたくありません。

あなたの特定のケースでは、私は2層のアプローチで行きます:

まず、「ランダムなポーズを挿入する」オプションを使用して、最初に入力できる偽の送信の数を制限します。

潜在的に偽の登録試行に対処するには、検証メカニズムを使用します。それらを登録しますが、アクティブではありません。「アクティブ化」リンクをメールで送信します。アクティブ化する人のために-少なくともあなたはあなたが実際に登録したい人の有効なメールアドレスを持っていることを知っています。次に、[〜#〜] x [〜#〜]時間または[〜#〜]後に非アクティブ化されたアカウントを自動的に削除するスケジュールされたタスクを実装しますx [〜#〜]日。

17
David Stratton

古典的なキャプチャの1つの代替手段は Microsoft Asirra です(これは非常に興味深いと思います)。スクランブルされたテキストを読む代わりに、猫または犬を含む写真から猫を選択する必要があります。 300万枚以上の写真があるため、より断固とした攻撃者に対して安全である必要があります。データベースを迷惑メールでいっぱいにするためだけに誰かがこれらすべての画像にインデックスを付けることはあまりありません。さらに、最初の試行から猫を選択できない可能性は低いです。


更新: Google は猫のキャプチャを解決できます。

8
Dinu

Captchaはまったく解決策ではありません!

全体的なキャプチャキラーが存在する可能性がありますcaptchasは存在し、まだ発明されていません!

ソーシャルエンジニアリングに基づいています。

シンプルで簡単、15歳のスパマーの学生がこれを作成できます。

  1. ささいな無料のパズルキャプチャゲームサイトを構築し、無害に見える:
    1. さらにアクセスするために多くのキャプチャを使って遊ぶ少し面白いゲームゲームレベル
    2. ...ユーザーを残すキャプチャを再生 ...
  2. 単純なサーバースクリプトにより、キャプチャが要求されると、サーバーはtargetサイトに移動して、ターゲットのキャプチャを取得し、-に転送します。 playerscaptcha gameサイト。
    1. プレイヤーは、第2ゲームレベルに到達するために、できるだけ早くキャプチャに回答しようとします。
    2. サーバーは、ターゲットサイト(実際の被害者)とgammers(不要な共犯:副次的な被害者)の間でキャプチャチェックと回答を転送するだけです。
  3. 各キャプチャが成功した場合、サーバーは1つのスパマーアカウントを作成してターゲットにすることができます...

ボットのためのネットワーク人間支援...

ロボットができることを使うこと人々が彼の(悪い)仕事をするのを助けること。

謝辞:

@-GennadyVanin--ГеннадийВанинに感謝します魅力的な無料パズルゲームキャプチャ!最初のアイデアはかろうじて合法ポルノまたはお金のメーカーのサイトを作成し、新しいアカウントを検証するためにキャプチャを使用することでした。

キャプチャゲームパズル追加のこのアイデア

  • ささいなサイト(かろうじて合法ではない)
  • 1人のユーザーが複数のキャプタを解決します。

代替案

ベイジアンツールからPGPに基づくメール確認まで、スパムを防ぐ方法はいくつかあります。

たった1つのサンプル:プログレッシブポリシーで bogofilter を使用できます。

  1. 初めに、あなたのblogのすべての投稿があなたのbogofilter環境 ...に送信されます。

  2. bogofilterを教えながら、初めて、すべての投稿を手動で検証する必要があります(グレーリスト)。

  3. 十分なspamおよびhamを確認すると、あなたのbogofilterができるようになります

    1. 多くの投稿を自動的に検証する
    2. 多くの投稿を自動的かつ効率的に拒否する
    3. 次にグレーリスト分類されていないいくつかの新しい投稿...手動で検証され、教えるbogofilterもう一度...そしてもう一度...(私のコメントを参照してください;)

もちろん、これにはアクティブな監視が必要ですが、完全ではありません。時々、いくつかのチューニング操作とポスト検索が役立つかもしれません...

結論

元気で

  • captchaは多くの時間を消費し、
  • 常にhackableになります、
  • 混乱するかもしれません
  • ウェルカムページの可愛さを増やさないでください。
8
F. Hauri

画像に代わるものは、人間が解釈できる質問です。しかし、これは私が見たいくつかの開発コスト、戦略を招く可能性があります:

  1. ユーザーを特定できる画像:英国の銀行で試用。彼らはユーザーに彼らが知っている人々の写真をアップロードするように頼み、他のランダムな写真で「あなたの叔母は誰ですか?」と多肢選択をしました。それが完全に乱用されるまでうまくいきました。 :-)これは実際には「代替パスワード」戦略にすぎないため、同じ問題があることに注意してください。
  2. 算数の質問:「10を2で割るとどうなりますか?」文の定式化に使用される形式とメカニズムにある程度のエントロピーがあります。 「10を2で割るとどうなりますか?」
  3. パズル。写真を説明する複数の選択肢の質問。例えば緑の野原に青い家。

これらのうちどれも障害者法を通過させないことに注意してください。私が住んでいる場所(英国)のRNIBとそのコンサルタント部門であるFovianceは、DDAに準拠していないメカニズムを使用している大企業を脅かします。私が常に直面している大きな問題は、セキュリティが2つの戦略の弱い方と同じくらい強いということです(DDA準拠のメカニズムも提供する場合)。

2
Callum Wilson

たぶんクライアントのパズルが解決策です。この考え方は、サーバーが検証しやすい計算集中型の操作をクライアントに実行させることです。アイデアは、操作の複雑さを徐々に増やしていくことです。

一方向ハッシュは、使用可能な操作です。フォームの最初の送信時に、md5チェックサムが特定の文字で終わるWordをクライアントに検索させることができます。これは適度に高速であり、サーバーが検証するのにさらに高速です。誰かがあなたのサービスをブルートフォースにしようとすると、チェックサムのより多くの一致する文字が必要になり、クライアントにとってパズルが難しくなります。

チェック http://en.wikipedia.org/wiki/Client_Puzzle_Protocol および http://www.isoc.org/isoc/conferences/ndss/99/proceedings/papers/juels。 pdf

1
JoG

スパムボットは既にGoogleの検索を実行するのに十分スマートなので、空の色を尋ねるようなものはかなり効果がありません。一般に、単純な数学のWordの問題や数学の問題のある絵などは、かなり効果的です。 nuCaptchaはアニメーション化されたcaptchaで、読みやすくなっていますが、まだ壊れているかどうかはわかりません。 IPブラックリストは、一般的なスパマーを認識してブロックするのに非常に効果的です。ユーザーによる既知のスパムサイトや既知のスパム電子メールアカウントへのリンクを探すドメインブラックリストもあります。電子メールで送信されたリンクをクリックするようにユーザーに要求することも、以前は正当であった電子メールアドレスを強制するので役立ちます。

1
AJ Henderson

CAPTCHAの日は終わったと思います。あなたが検索した場合、グーグル全体で3ドルで1000を解決することを提供しているウェブサイトがある場合、それは安全ではありません。最近のスパムの多くは、マシンではなく新興経済国の人間によるものであることが広く知られています。私は個人的にCAPTCHAを嫌い、RUMOLAと呼ばれるソフトウェアを使用してそれらを読み、入力してくれます。このソフトウェアを使用してブログの煩わしさを軽減しますが、少しのお金ですべてのCAPTCHAを通過できることを証明しています... Ps 。 CAPTCHAについて私と同じように感じる場合は、skipinput.comでRUMOLAを試すことができます。

1
ally

MicrosoftのAssiraプロジェクトが死んでいるか、少なくとも積極的にサポートされなくなったと確信しています。コンフィデントCAPTCHAと呼ばれる別の同様のアプローチがありますが、これはほとんど同じです。ユーザーが写真であることを証明するためにいくつかの写真をクリックするように求められます。また、視覚障害者用のオーディオオプションもありますが、Assiraにはありません。

1
Leo

ええと、私は質問を見つけることさえできませんでした。

[〜#〜] captcha [〜#〜]antispam protectionと同義ではありませんspam-botsなし人間のスパマー後ろ。 スパム人間によって作成され、場合によってはボットアシストが作成され、人間によって支払要求されます。
botsによって作成されたspamはなく、マシンによって注文支払いされます。それらはvirusesと呼ばれます。

ルートでは、spam protectionspammers、つまり人間に対する保護です。そして[〜#〜] captcha [〜#〜]は、定義によりprotectionでもhum​​ansでもないコンピュータと人間を区別するための完全に自動化されたパブリックチューリングテスト。ボット支援の投稿に対する防止策として使用できます。

また、bot-assisted postはスパムの同義語ではありません。ほとんどのソーシャルネットワーキングは、記事、ニュース、再投稿、リツイートのボット支援による共有に基づいていますschedule

決して定式化されない解決策はありませんが、定式化されていない用語(スパム、スパマーなど)を含むヒントされた質問のみです。

そして、クリエイティブな人間のスパマーに対して、いつまでも、そして永久に、万能の銀の弾丸を探すことは非常にナイーブです。

Captcha画像のようなユーザーに写真を与えることを提案します。しかし、その画像には55 + 12のような単純な数式が含まれます。ユーザーは、この場合67という式の答えを入力したいと考えています。Captch

セキュリティを向上させるには、イメージを動的に作成するか、事前定義されたイメージセットのセットを使用できます。

0
sujeesh

「あなたは人間ですか」をチェックしたいかもしれません。それは私にアシラが何をしようとしているのかを思い出させます。

http://areyouahuman.com/

0
JackWink