Sfruttamento per l'autenticazione dei giochi sociali

0

Gestiamo un popolare gioco social e abbiamo un problema di sicurezza che sta diventando sempre più popolare in questi giorni.

Abbiamo i seguenti requisiti di prodotto:

  • Non ci dovrebbe essere alcuna registrazione al gioco, è sufficiente dare le autorizzazioni di Facebook (cioè nessuna password, convalida e-mail, ecc.)
  • I giocatori interagiscono tra loro usando i loro ID di Facebook con scope
  • I server devono essere altamente scalabili e supportare milioni di giocatori e CCU

Purtroppo poiché l'ID di Facebook è il nostro unico modo per identificare i giocatori, questo apre il seguente exploit:

  1. Il mio amico ha fatto qualcosa che mi infastidisce (posso facilmente accedere al suo ID di Facebook / ID ambito)
  2. Creo più utenti di Facebook falsi
  3. Anche se questi account falsi non sono amici del mio amico, posso semplicemente inviare l'ID della vittima al server e lui lo consentirà, poiché non abbiamo modo di saperlo al momento

La soluzione "ovvia" sarebbe quella di caricare l'elenco amici del giocatore sul server al momento del login e memorizzarlo (da server a server è un grande no-no per noi + memorizzare e caricare enormi quantità di dati duplicati dal database) - o caricando la lista amici su ogni azione che interagisce con altri giocatori e assicurandosi che siano amici (il che causa molte, molte più azioni da server a server).

Stiamo cercando una soluzione a questo problema che renderà molto difficile l'utilizzo di questo exploit, senza danneggiare le nostre prestazioni e le nostre dimensioni.

    
posta Ron 10.05.2015 - 17:58
fonte

0 risposte

Leggi altre domande sui tag