web-dev-qa-db-ja.com

オンライン有権者詐欺の防止

私の会社は、プロモーションキャンペーンの一環として、製品のユーザー(および潜在的なユーザー)が特定の選択肢に登録して投票する必要があるサイトを立ち上げたいと考えています。成功の度合いによっては、これが通常の機能になる可能性があります。提案された賞品は実体のないものではないので、当然のことながら投票者の詐欺が懸念されます。システムをゲームしようとしている悪意のないユーザーが使用する可能性があるプロキシ、Tor、およびその他のさまざまな方法の使用をどのように検出できますか?たとえば、 https://check.torproject.org はどのように機能しますか? Torだけでなく、一般的に使用できる既製のスクリプトはありますか?

Stack Exchangeは過去にオンライン投票に基づいたコンテストを開催したことがあるので、ここでいくつかの良い回答を得られることを期待しています。

おかげで、

サミュエル

8
Samuel

投票システムは、通常許可されているよりも多くの回数(たとえば、数回投票)を行う人々によって「賭け」られます。これを防ぐ唯一の方法は、有権者を特定し、複数の投票を防ぐ方法を持つことです。

Reliableメソッドでは、ユーザーの認証が必要です。パスワードを使用しますが、これには2つの欠点があります。つまり、1。ユーザーはそれを好まない、2。これは実際には問題を解決しませんが、前の「登録フェーズ」に移動します。

Unreliableメソッドは、IPアドレスを追跡することにより、ヒューリスティックに不正を検出します(ただし、これは動的IPアドレスでは失敗します-ユーザーは自分のIPを変更でき、これはさらに起こります多くのISPでは自動的に、または [〜#〜] nat [〜#〜] -同じIPを共有する複数の異なるユーザー)または他の方法でも自動的に行われます。ユーザーのブラウザで「投票済み」のCookieを送信するだけで、基本的なローテク志望の詐欺師を阻止できます。 より完全な方法 がありますが、これらはすべて、技術に精通した攻撃者によって回避できます。 Tor は、密接に関連する主題である匿名性を扱うツールであり、負けた戦いと戦おうとしていることを示します。

StatckExchange自体も sock puppets と呼ばれる同じ問題に直面しています。彼らはついに、最も露骨なゲームの試みを検出し、残りをほとんど無視するための(未公開の)スクリプトを使用して、リラックスした態度を取りました。

7
Thomas Pornin

IPごとに1投票を制限すると、B2Bへの参加が大幅に制限される可能性があります。ほとんどの企業はプロキシまたはNAT=の背後にあり、これは組織全体を狭い範囲のIPとして表します。

リアルマネーとリアルプライズが関係していることを考えると、大量生産が困難な代替IDにアカウントをリンクすることで、不正行為を実際に制限できます。たとえば、仕事用のメールアドレスや会社の電話番号などです。

彼らの名前がコンテストから引き出された場合、contestentry23423 @ gmail.comを失格にしたり、登録済みドメインを調べて、会社のアドレスを再利用している誰かを見つけたりするのは簡単です(例:joe + 123 @ example.com、joe + 124 @ example)。 com ...さらに、「コンテストの受賞者には電話で通知されます」という条項は、投票用紙を詰め込んでも賞品を獲得できないことを意味します。

登録フォームのキャプチャは、自動登録によるデータベースのあふれを防ぎますが、偽の登録からの本当の保護は、妥当なメールアドレス(アドレスを検証し、メール送信者のようなものを禁止する)をチェックすることと、偽の登録が賞金を獲得しないことの阻害要因を組み合わせることです。

最後に...この種のシステムには理論的な攻撃がありますが、実際には、誰かがあなたをその永続的なものであると本当に嫌う必要があります。

4
mgjk

投票を開始する前に作成された古いFacebook(またはTwitter)アカウントを有権者に要求することができます。これは、誰かが投票するためだけに登録することを不可能にし、誰かがそれらにアカウントの割り当てを持っている可能性があります。ソーシャルネットワーキングサイトは非常に小さく、おそらくIPアドレスやCookieの監視、プロキシのチェックなど、他の方法で処理できます。

プロキシを使用してユーザーを確認するための多種多様なphpスクリプトがありますが、それらをグーグルするか、stackoverflowで質問することをお勧めします。

2
sharp12345

プロキシとTorがユーザーが悪意のある兆候であるのはなぜですか? Torは、誰かがプライバシーを意識しているか、情報へのアクセスを制限している国に住んでいることを示しています。プロキシは、誰かがビジネスネットワークからログインしていることを示す兆候であり、彼らが役に立たない兆候よりも多くのものです。

1人の個人が架空のIDを使用して複数のアカウントを作成し、結果を歪めないようにしていると思います。実際には、これを防ぐ方法はありません。十分な時間と傾向がある人は、あなたがそれを目にすることなくそれを行うことができます。これはインターネットの大きな問題の1つであり、それを解決すれば数十億ドルになります。

複数のアカウントを設定するのを少し難しくする方法がいくつかありますが、その多くは手間がかかります。

  1. アカウントを作成するためのAPI呼び出しを許可しないでください。ページで全員が手動で行う必要があるようにします。
  2. キャプチャを入れ、他のテクニックを使用して、アカウントを作成するのが人間であることを確認します。簡単な数学の問題の解決策を求め、それをテキストではなくグラフィックに入れる
  3. すべてのメールアドレスを検証し、90日ごとにパスワードを変更する
  4. 同じパスワードを使用しているアカウントが20個ある場合は、パスワードハッシュを調べて同じパスワードを見つけてください。もちろん、パスワードが何であるかはわかりませんが、それが出発点になります。
2
GdD

オンライン有権者詐欺を制限する良い方法は、ユーザーにクレジットカードの詳細を入力するように要求するか、Paypalアカウントの所有権を確認することです。

この方法では、名前が一意であることも確認できるため、1人のユーザーが複数のカードを持っている場合でも、カード所有者の名前で制限できます。

この方法の主な制限は、クレジットカード情報を共有するのに十分な信頼をユーザーに与える必要があることです。

ユーザーが必要とする情報や手順が多すぎると、投票がまったく行われなくなります。

あなたまたはユーザーがセキュリティを心配している場合は、信頼できるサードパーティのサービスを使用してクレジットカードを処理し、クレジットカードの所有者の船を確認して、本名。

私はこの方法をお勧めしませんが、私の意見では有権者の詐欺を防ぐという点で最も安全です。

0
sharp12345