Prevenire le frodi dei votanti in un concorso sui social media

12

Sto creando un concorso che permetterà agli utenti di accedere usando i loro Facebook e amp; Account Twitter e inviare voti sui video. La preoccupazione dei miei clienti è che gli utenti giochino al sistema effettuando l'accesso a Facebook e amp; Account Twitter per mantenere i voti dello spamming sullo stesso video.

Come posso prevenire questo tipo di frode elettorale?

    
posta user2241961 03.04.2013 - 21:51
fonte

2 risposte

7

Anziché accedere agli account che controllano, mi aspetto che le frodi elettorali vengano eseguite tramite clickjacking o CSRF, sfruttando il potere virale sociale di Facebook per attirare inconsapevoli complici.

Con la prevalenza ultimamente di immagini su Facebook che affermano che è possibile ottenere una PS4 semplicemente "piacendo" e "condividendo" un'immagine e il numero puro di persone che lo fanno, sospetto che sarebbe possibile creare qualcosa di simile che ha indotto gli utenti di Facebook a iscriversi al tuo sito e a inviare il modulo di votazione.

Un'altra possibilità è che l'immagine virale su Facebook potrebbe dire loro che hanno dovuto iscriversi e votare per una determinata voce nella competizione per vincere la PS4.

CSRF ha tecniche standard di mitigazione che coinvolgono nonce, chiavi segrete e MAC. Esistono anche tecniche di mitigazione per il clickjacking .

Determinare che qualcuno stia votando in un modo particolare per una ricompensa separata è più difficile. Probabilmente un lavoro per un A.I. La prima intestazione del referrer che vedi da un cliente può offrire un indizio sulla loro motivazione. Potrebbe anche essere la quantità di tempo che spendono per valutare le varie opzioni di voto. Scegli troppo velocemente ed è probabilmente una frode. Probabilmente otterrai buoni dati dai movimenti di spostamento del mouse . Queste tecniche potrebbero probabilmente funzionare per la paura originale di una singola persona che accede a più account.

    
risposta data 04.04.2013 - 00:15
fonte
6

Non c'è assolutamente nulla nei metodi di autenticazione OpenID / OAuth che garantisce che l'accesso individuale attraverso di loro sia davvero un utente unico. OpenID fornisce un po 'più di dati sotto forma di certificato (nome utente, indirizzo email e notaio ) dell'autenticazione chiave di valet di OAuth, ma questo da solo non è sufficiente per evitare di votare frodi . Usare la parola frode in questo senso è un po 'severa secondo me, forse abuso è più adatto? Indipendentemente da ciò, vediamo quali sono le altre informazioni che potresti utilizzare nella tua applicazione web e cosa significa per il tuo sistema di votazione:

  • Indirizzo IP : non adatto poiché la maggior parte degli utenti ottiene l'IP assegnato da un server DHCP ed è dinamico (può essere assegnato a un altro utente in un secondo momento, oppure lo stesso utente può richiederne uno nuovo), diversi utenti potrebbero accedere al tuo sito web tramite lo stesso IP (organizzazioni e altri utenti che utilizzano server proxy, utenti mobili IPv6 che effettuano il tunneling attraverso un broker IPv4 e così via) oppure lo stesso individuo potrebbe utilizzare altri mezzi per accedere al tuo sito web con un IP diverso (rete TOR, VPN, ...)
  • ID sessione : consiste in un cookie di sessione (o qualche forma di un valore di query di richiesta persistente di sessione nelle sessioni senza cookie), comunemente anche stringa utente-agente (stringa di identificazione del browser) e IP già coperto. Nessuno di questi (da solo o nel suo insieme) garantisce che un utente unico sia registrato poiché può semplicemente passare a browser diversi, cancellare la sessione dell'utente eliminando i cookie o persino modificare la firma del browser. Tutto ciò può invalidare la sessione utente e una richiesta per una nuova sarebbe fatta.
  • Stringa referral : non adatta a se stessa in quanto può essere facilmente falsificata o semplicemente riutilizzata più volte.

Questo ti lascia in entrambi:

  • Affidandosi a Facebook e Twitter per rilevare autonomamente più account per utente,
  • Richiesta di un'autenticazione utente aggiuntiva che proverebbe a rilevare tale abuso (potrebbe essere impossibile fare meglio di ciò che è già in atto con Facebook e Twitter),
  • Passa al voto con una scheda elettorale (invito solo per votazioni una tantum) o
  • Tieni conto di possibili abusi di voto durante la presentazione dei risultati (come le medie ponderate ).

Tutte queste ultime tre opzioni sono piuttosto difficili da implementare e potrebbero non rientrare nel budget del tuo progetto, che è - alla fine della giornata - il fattore più decisivo su quale di queste opzioni potrebbe o dovrebbe essere implementata.

In una nota a margine, volevo darti un buon esempio per la media ponderata, ma il problema è che tutti i sistemi che si preoccupano della validità di questi metodi intenzionalmente non pubblicano i loro meccanismi interni, per prevenire ulteriori abusi da parte di aggirare il sistema in atto. Uno dei siti Web che utilizza tali meccanismi di voto ed è noto per mettere un sacco di impegno in esso è IMDB (tu essere il giudice su quanto sia efficace, mi riserverò i miei commenti), e ce ne sono molti altri con implementazioni del tutto diverse. Persino StackExchange ha una sorta di prevenzione del voto seriale, ma i dettagli a riguardo sono anche piuttosto scarsi.

    
risposta data 04.04.2013 - 00:34
fonte

Leggi altre domande sui tag