Come garantire che i dati dei post nei servizi siano sicuri dalla manomissione degli utenti nei giochi WebGL?

2

Al momento stiamo creando giochi WebGL per un portale online che premia quindi gli utenti che ottengono da In Partitura. Il Punteggio viene inviato al WebServer sotto forma di servizio POST, Recentemente abbiamo avuto casi in cui l'utente ha manomesso il punteggio in qualche modo. Qualche idea su come proteggere qualcosa del genere? Quali sono le Pratiche di settore standard per qualcosa di simile. Come possiamo convalidare i punteggi sul server? Qualsiasi aiuto sarebbe molto apprezzato.

    
posta Faraz Ahmed 13.10.2015 - 13:13
fonte

2 risposte

3

What are the standard Industry Practices for something like this. How Can we validate the scores on the Server?

Dipende da come sono esperti i tuoi utenti. Un modo banale per manomettere i dati è di usare un proxy (intercettazione) per intercettare il traffico in uscita e manomettere il valore del punteggio (TLS non può impedirlo).

Una delle pratiche del settore per impedire la manomissione e verificare l'autenticità delle richieste è utilizzare JWT . JWT è ampiamente utilizzato per la gestione delle autenticazioni delle API REST, tuttavia, potrebbe anche aiutare a risolvere il problema. JWT firma tutte le richieste e qualsiasi modifica dei dati in transito invalida il server sul server.

Ricorda che, come ho detto sopra, dipende da come sono tecnici i tuoi utenti. L'utilizzo di JWT interrompe solo la manomissione delle richieste quando si discostano dall'applicazione. Con una probabilità molto rara, un utente può ancora accedere direttamente alla memoria e modificare qualcosa (ad esempio, modificare una funzionalità di gioco, sovrascrivere un attributo, ecc.)

    
risposta data 13.10.2015 - 23:12
fonte
2

Best practice: SEMPRE TRATTARE TUTTO L'UTENTE INVIATO INFORMAZIONI FALSO FINO A PROVARE DIRITTO

Come fare:

  • crittografare la partitura e alcuni altri campi identificabili tramite un algoritmo a senso unico e inviarli.
  • quindi dall'altra parte, verifica il sale.
  • Per rendere il sale ancora più ... oscuro, concatenarlo in modo riproducibile. Rimuovi l'algoritmo e costa (se li conosci sempre) e concatenali. Quindi dividere l'indice dei caratteri, riapplicare il costo e l'algoritmo e quindi verificare. Se questo viene generato nel gioco, allora sarà un compito monumentale irrompere e trovare le informazioni.

Ovviamente questo potrebbe avere alcuni problemi (cosa succede se possono creare i propri punteggi bcrypt e simili e capire come concatenarli correttamente) nel qual caso la soluzione facile è cambiare il costo e come viene concatenato ( infatti questo può essere automatizzato per accadere ogni giorno o così). Semplice. Facile. Fatto.

    
risposta data 13.10.2015 - 18:03
fonte

Leggi altre domande sui tag