Come prevenire l'imbroglio (voti extra) nei concorsi online?

25

Mitigare barare e amp; Frode elettorale nei concorsi online ...

Gestiamo concorsi online di vario genere che coinvolgono utenti che votano per le voci (di solito un voto per utente al giorno). I premi vanno da centinaia a migliaia di dollari. Negli ultimi quattro anni ci siamo imbattuti in un certo numero di modi in cui le persone cercano di imbrogliare e hanno implementato misure couter per ogni caso. Allo stato attuale, utilizziamo le seguenti misure:

Autenticazione
Un utente deve creare un account e autenticarsi (accedere). Questo esclude il riempimento dei voti anonimi.

Conferma email Un utente deve confermare il proprio indirizzo e-mail facendo clic su un collegamento nell'e-mail di sistema per confermare di essere il proprietario e avere accesso al proprio indirizzo. Questo esclude la creazione di account in massa utilizzando indirizzi email casuali (non necessariamente validi). Rallenta anche il processo un po 'per un account, e molto se stai cercando di crearne molti.

Nessun alias di indirizzo Gmail
Gli utenti non possono utilizzare gli indirizzi alias istantanei come [email protected]. Ciò rallenta potenziali imbroglioni.

Misure aggiuntive
Revisioniamo regolarmente le nostre registrazioni e liste di votazione per stringhe di indirizzi e-mail che provengono dallo stesso dominio privato ([email protected], [email protected], ecc.). Cerchiamo anche nomi simili, nomi utente e "parti locali" di indirizzi email tra domini.

Inoltre, mostriamo gli aggiornamenti dei risultati delle votazioni su base giornaliera, quindi non ci sono feedback immediati. In questo modo, se qualcuno sta cercando di imbrogliare, ci vorrà un giorno per vedere i risultati e, a meno che non siano grandi, non sapranno con certezza se il loro metodo ha avuto successo. Cerchiamo di essere il più possibile una "scatola nera".

Inutile dire che tutto questo è estenuante e sta diventando sempre più difficile scalare. Abbiamo bisogno di una soluzione più semplice per assicurarci di essere molto più vicini a "una persona, un voto" nei nostri concorsi, senza appesantire l'utente oltre il bisogno nel processo.

Abbiamo esplorato la possibilità di utilizzare SMS per allegare numeri di cellulare ai conti per verificare la persona; la giuria è ancora fuori su questo approccio: link e I messaggi di testo SMS possono essere utilizzati per verificare l'identità univoca di una persona tramite un sistema di codice breve? .

Alcuni suggerimenti hanno incluso l'uso di carte di credito, verifica della posta, punti di reputazione ... ma sono troppo onerosi per i nostri utenti target.

Che altro possiamo fare automaticamente nel back-end per 1) identificare i cheaters e, soprattutto, 2) impedirgli di imbrogliare anche?

UPDATE

Abbiamo deciso di non rendere la nostra protezione antifrode a prova di perdite perché uno degli sviluppatori ha sottolineato che "più difficile è che la gente imbrogli, più difficile è rilevare l'imbroglio". Invece, stiamo utilizzando una tecnica di caccia cinese medievale chiamata Battaglia a tre facce. Rendendo molto difficile imbrogliare nella maggior parte dei modi, ma relativamente facile da scivolare in altri modi, sappiamo esattamente cosa cercare ed eliminare prima che i risultati delle votazioni vengano aggiornati.

Cerchiamo modelli di voti, come ad esempio un concorrente che riceve una serie di voti equamente distribuiti, quindi guarda i conti associati a quei voti. Se esiste un modello per i conti, eliminiamo tali account e i voti associati scompaiono con loro.

    
posta Taj Moore 12.01.2012 - 01:12
fonte

7 risposte

15

Stai tentando di identificare in modo univoco qualcosa attraverso un sistema che è stato in qualche modo progettato per non richiedere un'identità univoca. A meno di legare e convalidare a un identificatore di terze parti (di solito fisico), questo è impossibile. Invece, la soluzione migliore è limitare del tutto le votazioni, in modo da scoraggiare l'automazione e / o risultati rapidi.
Se il tuo sistema lo supporta, consulta la ponderazione dei voti in base ad alcuni criteri:

  1. "Età" dell'account (dalla registrazione). Non consentire voti per qualsiasi cosa al di sotto di una certa età (per esempio, dall'inizio del concorso).
  2. Numero di voci (in altri concorsi).
  3. Attività dell'account (è l'account visitato / utilizzato regolarmente?) - commenti nei forum o sulle voci, ecc.
  4. Percentuale di voti per utente nei concorsi dopo la registrazione (potrebbe rivelare un comportamento "mirato"). Forse per numero di destinatari diversi?
  5. I voti di Throttle accettati per ogni entrata in base al numero totale di voti per gara. Qualsiasi cosa al di sopra di una soglia viene contrassegnata per la revisione.

Questi dovrebbero essere fattibile da un database / reporting, annullando la necessità di qualsiasi javascript elaborato o altro codice lato client (che può essere ingannato).

    
risposta data 12.01.2012 - 20:12
fonte
4

Hai intenzione di controllare gli IP (anche se ovviamente questo non è un grande ostacolo, dovresti comunque farlo)

Avrai bisogno di un captcha per prevenire (almeno un più debole) cheat automatizzato

Volete (alla fine) controllare manualmente o automaticamente i grandi gruppi di registrazioni durante i piccoli intervalli di tempo (automazione / riempimento)

La possibilità di disabilitare i servizi di posta elettronica "gratuiti" richiederebbe ovviamente una grossa fetta di barare, ma probabilmente richiederebbe anche una porzione ancora più grande della base di utenti a seconda di

Se li hai fatti inserire più informazioni personali sarebbe almeno di aiuto con la verifica (nome + indirizzo + telefono aggiungerebbe qualche verifica anche se non chiami / sms il telefono se è elencato ovunque)

Se possibile, vorrai avere rilevamenti di somiglianza su tutta la linea, non solo per le e-mail (per catturare imbroglioni che magari ripetono una e-mail simile più tardi, un nome in una posta o viceversa)

Ma per evitare di ingannare ciò che apparentemente è un modulo web, avrai bisogno di una sorta di identificatore univoco, che ovviamente sarà molto più ampio per i tuoi utenti, maggiore sicurezza per il tuo sito, e causerà un numero di utenti a diventare leery

Gli SMS sono più verificabili rispetto agli account di posta elettronica, dal momento che non è difficile iscriversi a 20.000 account di posta elettronica hotmail / gmail / yahoo, ecc., ignorando gli account email / gli spedizionieri.

Esiste anche l'opzione di chiamate automatizzate (che escludono alcuni, ma non tutti i problemi di sicurezza di SMS)

    
risposta data 12.01.2012 - 01:31
fonte
4

Se ho ragione nel dire che emetti un documento in tempo reale, controlla a qualcuno che una misura da mettere in atto sia l'indirizzo. Se lo strutturate come fanno le stazioni radio e lo fanno in modo che solo una voce per famiglia / indirizzo questo potrebbe impedire alcuni imbrogli. In termini di tentativi di impedire a qualcuno di imbrogliare, in primo luogo, probabilmente si vuole guardare al settore dei giochi online. Cose come PunkBuster e VAC non hanno completamente impedito di imbrogliare nei giochi. Una buona cosa da fare è eseguire una volta alla settimana audit e valutare il tempo che un utente spende su una pagina prima di votare, questo è disponibile in GA (Google analytics) per quanto ricordo. Imposta una soglia per quanto tempo un utente deve essere su una pagina, questo potrebbe anche aiutare a rilevare script che fanno clic sui collegamenti.

    
risposta data 12.01.2012 - 03:51
fonte
4

Sono d'accordo con @ makerofthings7 che U-Prove , insieme a rivendicazioni appropriatamente verificabili di un singolo fornitore come il governo, è la cosa più vicina che abbiamo a ciò che alla fine vuoi. Gli utenti (si spera) vorranno il supporto per "identità unidirezionali" piuttosto che un ID univoco come un OpenID che consente ai siti di collaborare e tracciarti su Internet. Per ulteriori informazioni consulta Leggi sull'identità

Nel frattempo, richiedendo agli utenti la registrazione tramite qualcosa come (sceglierne uno) Facebook Connect o Google Plus ti consentirebbe di sfruttare gli sforzi (controversi) di quei grandi giocatori per far sì che la gente usi nomi reali, o almeno "uno -to-a-cliente".

Ma ovviamente come altri hanno detto, non importa quello che fai, dato abbastanza incentivi la gente troverà un modo per registrarsi più volte. Quindi in realtà dipende dagli altri fattori del modello di minaccia, ad es. qual è il rischio di escludere le persone che non vogliono passare attraverso la seccatura della registrazione, qual è il tuo ultimo bilancio basato su, ecc.

    
risposta data 17.01.2012 - 04:15
fonte
3

La seguente idea beta potrebbe essere utile quando viene adottata dalle agenzie governative ... Microsoft sta lavorando su qualcosa chiamato U Prove che consente a un governo di pubblicare rivendicazioni ad altri.

link

L'idea è che il cittadino si autentichi con il servizio STS del governo e che reindirizzerà al tuo sito web con un ID univoco e possibilmente altre informazioni identificative.

    
risposta data 16.01.2012 - 19:38
fonte
2

Penso che esista una soluzione semplice e low-tech. Introduci tre requisiti nei termini del concorso:

  1. Ogni utente deve specificare il proprio nome e indirizzo quando creano l'account.
  2. Limiti il concorso a una voce per famiglia. Utilizzi l'indirizzo per eliminare più voci con lo stesso indirizzo.
  3. Hai inserito nei termini del concorso che, quando viene selezionato un vincitore, l'assegno verrà rilasciato solo a una persona con il nome e l'indirizzo trovati nell'account vincente. Se non c'è nessuna persona con quel nome a quell'indirizzo, allora il premio viene riassegnato a qualcun altro. Quando qualcuno vince, fai qualcosa per verificare l'indirizzo del vincitore: ad esempio, invia la registrazione, certificata a tale indirizzo e richiede al vincitore di dimostrare di aver ricevuto la posta; o richiedere loro di mostrare una copia della loro patente di guida che mostra tale indirizzo sulla licenza.

Ciò che fa è impedire a qualcuno di barare. Possono creare tutti gli account che desiderano, ma se usano il proprio indirizzo, potranno inviare una sola iscrizione per concorso; e se usano un altro indirizzo, non potranno ritirare il premio se viene scelto il loro account (poiché non è il loro indirizzo, e l'indirizzo del vincitore verrà verificato prima che ottenga il premio).

Non è perfetto - a seconda della tua procedura per verificare l'indirizzo del vincitore, un cheater potrebbe essere ancora in grado di creare diversi account, ognuno dei quali elenca l'indirizzo di un altro amico - ma potrebbe essere abbastanza buono in pratica.

    
risposta data 23.02.2012 - 09:42
fonte
1

Se hai un concorso, ad es. qual è il tuo giorno preferito della settimana? quindi crei una copia della tua tabella utente, quindi chiamala cont_101 crei una tabella con le risposte del contest, consentendoti di denominarla cont_ans_101.

Ora, quando un utente vota, un flag in cont_101 diventa true, quindi l'utente ha diritto di voto e il contatore in cont_ans_101 aumenta di uno.

Quando un utente prova a votare, controlla semplicemente il flag nella tabella utente (cont_101) e se è falso, allora puoi contare il voto altrimenti potresti vietare l'utente.

    
risposta data 14.01.2012 - 21:10
fonte

Leggi altre domande sui tag